技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
search-first【数据与研究】Use before writing custom code or a research workflow when a maintained library, tool, skill, or proven pattern may already exist. Start with local reuse and targeted evidence; broaden to external research for new dependencies, new mechanisms, or uncertain external facts.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Systematizes the "search for existing solutions before implementing" workflow.
Use this skill when:
┌─────────────────────────────────────────────┐
│ 0. NEED + LOCAL REUSE GATE │
│ Inspect approved local implementations │
│ and results before external searching │
├─────────────────────────────────────────────┤
│ 1. RESEARCH DECISION │
│ Decide whether reuse, targeted lookup, │
│ or broader research is actually needed │
├─────────────────────────────────────────────┤
│ 2. TARGETED SEARCH (only when warranted) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Registry │ │ Tools / │ │ GitHub / │ │
│ │ / docs │ │ skills │ │ evidence │ │
│ └──────────┘ └──────────┘ └──────────┘ │
├─────────────────────────────────────────────┤
│ 3. EVALUATE │
│ Score candidates (functionality, maint, │
│ community, docs, license, deps) │
├─────────────────────────────────────────────┤
│ 4. DECIDE │
│ ┌─────────┐ ┌──────────┐ ┌─────────┐ │
│ │ Adopt │ │ Extend │ │ Build │ │
│ │ as-is │ │ /Wrap │ │ Custom │ │
│ └─────────┘ └──────────┘ └─────────┘ │
├─────────────────────────────────────────────┤
│ 5. IMPLEMENT │
│ Reuse approved solution or write the │
│ smallest justified custom code │
└─────────────────────────────────────────────┘
| Signal | Action |
|---|---|
| Approved local implementation or result | Reuse or repair — no broad fresh search required |
| Specific local gap or uncertainty | Targeted lookup — search only for that issue |
| New dependency, new mechanism, or uncertain external fact | Research — compare evidence before deciding |
| Exact match, well-maintained, MIT/Apache | Adopt — use directly when available or within authorized implementation scope |
| Partial match, good foundation | Extend — add a thin wrapper within authorized implementation scope |
| Multiple weak matches | Compose — combine 2-3 small packages |
| Nothing suitable found | Build — write custom, but informed by research |
Start with the repository and approved local catalog. Inspect existing modules, tests, lockfiles, configured tools or skills, prior results, and known patterns before searching externally. If an approved implementation or result already meets the need, reuse it. For a known defect or result gap, repair or fill it and use a targeted lookup only when a specific external fact or compatibility question remains; do not force a broad external search or launch the full researcher workflow for every fix.
Broader research is warranted when selecting a new dependency, introducing a new mechanism or architecture, or relying on external facts that may be uncertain or changed. Delegate only a bounded, independent search that would materially improve the decision. For search-only or advisory work, do not turn a recommendation into an automatic package install, configuration change, publication, message, or other external mutation. For an implementation request, ordinary project-scoped dependency installation and configuration are allowed within the existing task authority and budget; ask before global or system changes, new external effects, or scope or cost expansion.
This is agent guidance, not an executable setup script. Check only the channels that are relevant to the task and project in front of you.
| Channel | Check | If missing |
|---|---|---|
| Repository search | rg --files and targeted rg queries | State that only visible files were inspected |
| Package registry | npm --version, python -m pip --version, or project package manager | Use web/docs search and avoid claiming registry coverage |
| GitHub CLI | gh auth status | Use public web or local git history only |
| MCP/docs tools | Available tool list or local MCP config | Fall back to official docs/web search |
| Skill catalog | Inspect the active harness's available skills or configured skill root | Say no local skill catalog was available |
When the task needs research grounding, method positioning, related work,
citation support, or top-venue precedent, use $research-evidence instead of
ad hoc web search. Prefer CVPR, ICCV, ECCV, ICLR, NeurIPS/NIPS, and ICML for
CV/ML work; include CoRL, ICRA, IROS, AAAI, IJCAI, T-ITS, and RA-L only when
the user topic justifies autonomous-driving, robotics, or collaborative
perception coverage.
Use the evidence result to decide Adopt, Extend, Compose, or Build only
when the Research Gate calls for external evidence.
Do not claim literature coverage when the research-evidence tool or source
channel was unavailable.
Before writing a utility or adding functionality, mentally run through:
For non-trivial functionality that passes the Research Gate, launch the researcher agent only when a bounded, independent search would materially help. Do not launch the full researcher workflow for routine fixes, result fills, or known local reuse.
Agent(subagent_type="general-purpose", prompt="
Research existing tools for: [DESCRIPTION]
Language/framework: [LANG]
Constraints: [ANY]
Search: relevant package registries, connected tools, agent skills/catalog,
GitHub, official docs, or academic evidence
Return: A bounded comparison with recommendation and evidence gaps
")
Use the current agent or subagent tool exposed by the active harness. If no delegation tool is available, run the same bounded search channels directly.
eslint, ruff, textlint, markdownlintprettier, black, gofmtjest, pytest, go testhusky, lint-staged, pre-commitunstructured, pdfplumber, mammothhttpx (Python), ky/undici (Node)zod (TS), pydantic (Python)remark, unified, markdown-itsharp, imageminThe planner should invoke researcher before Phase 1 (Architecture Review) when the Research Gate calls for external research:
The architect should consult researcher, when warranted, for:
When broader research is warranted, combine for progressive discovery:
Need: Check markdown files for broken links
Search: npm "markdown dead link checker"
Found: textlint-rule-no-dead-link (score: 9/10)
Action: ADOPT — recommend textlint-rule-no-dead-link; install it within an
authorized project implementation
Result: Zero custom code, battle-tested solution
Need: Resilient HTTP client with retries and timeout handling
Search: npm "http client retry", PyPI "httpx retry"
Found: got (Node) with retry plugin, httpx (Python) with built-in retry
Action: ADOPT — recommend got/httpx directly with retry config; apply it within
an authorized project implementation
Result: Zero custom code, production-proven libraries
Need: Validate project config files against a schema
Search: npm "config linter schema", "json schema validator cli"
Found: ajv-cli (score: 8/10)
Action: ADOPT + EXTEND — recommend ajv-cli; use it within an authorized project
implementation, then write a project-specific schema
Result: 1 package + 1 schema file, no custom validation logic