Research-before-coding workflow. Search for existing tools, libraries, and patterns before writing custom code. Invokes the researcher agent.
55
62%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
Fix and improve this skill with Tessl
tessl review fix ./skills/search-first/SKILL.md将“在实现前搜索现有解决方案”的工作流系统化。
在以下场景使用此技能(Skill):
┌─────────────────────────────────────────────┐
│ 1. 需求分析 (NEED ANALYSIS) │
│ 定义所需功能 │
│ 识别语言/框架约束 │
├─────────────────────────────────────────────┤
│ 2. 并行搜索 (调研智能体 researcher agent) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ npm / │ │ MCP / │ │ GitHub / │ │
│ │ PyPI │ │ 技能 │ │ Web │ │
│ └──────────┘ └──────────┘ └──────────┘ │
├─────────────────────────────────────────────┤
│ 3. 评估 (EVALUATE) │
│ 为候选方案打分(功能、维护、 │
│ 社区、文档、许可证、依赖) │
├─────────────────────────────────────────────┤
│ 4. 决策 (DECIDE) │
│ ┌─────────┐ ┌──────────┐ ┌─────────┐ │
│ │ 采用 │ │ 扩展 │ │ 自研 │ │
│ │ (Adopt) │ │ (Extend)│ │ (Build) │ │
│ └─────────┘ └──────────┘ └─────────┘ │
├─────────────────────────────────────────────┤
│ 5. 实施 (IMPLEMENT) │
│ 安装包 / 配置 MCP / │
│ 编写最少量的自定义代码 │
└─────────────────────────────────────────────┘| 信号 | 行动 |
|---|---|
| 完全匹配、维护良好、MIT/Apache 协议 | 采用 (Adopt) — 直接安装并使用 |
| 部分匹配、基础良好 | 扩展 (Extend) — 安装 + 编写轻量封装层 |
| 多个弱匹配项 | 组合 (Compose) — 结合 2-3 个小型包 |
| 未找到合适方案 | 自研 (Build) — 编写自定义代码,但基于调研结论 |
在编写工具类或添加功能前,大脑中先过一遍:
rg 搜索相关的模块/测试~/.claude/settings.json 并搜索~/.claude/skills/对于非平凡的功能,启动调研智能体(Researcher Agent):
Task(subagent_type="general-purpose", prompt="
调研现有的工具,针对:[功能描述]
语言/框架:[LANG]
约束条件:[ANY]
搜索范围:npm/PyPI, MCP 服务器, Claude Code 技能, GitHub
返回结果:带建议的结构化对比报告
")eslint, ruff, textlint, markdownlintprettier, black, gofmtjest, pytest, go testhusky, lint-staged, pre-commitunstructured, pdfplumber, mammothhttpx (Python), ky/got (Node)zod (TS), pydantic (Python)remark, unified, markdown-itsharp, imagemin规划器应在第一阶段(架构审查 Architecture Review)之前调用调研员:
架构师应就以下内容咨询调研员:
结合使用进行渐进式发现:
需求:检查 markdown 文件中的损坏链接
搜索:npm "markdown dead link checker"
发现:textlint-rule-no-dead-link (得分: 9/10)
行动:采用 (ADOPT) — npm install textlint-rule-no-dead-link
结果:零自定义代码,经受过实战检验的解决方案需求:具备重试和超时处理能力的弹性 HTTP 客户端
搜索:npm "http client retry", PyPI "httpx retry"
发现:带重试插件的 got (Node), 内置重试的 httpx (Python)
行动:采用 (ADOPT) — 直接使用带重试配置的 got/httpx
结果:零自定义代码,生产环境验证过的库需求:根据 Schema 验证项目配置文件
搜索:npm "config linter schema", "json schema validator cli"
发现:ajv-cli (得分: 8/10)
行动:采用 + 扩展 (ADOPT + EXTEND) — 安装 ajv-cli,编写项目特定的 schema
结果:1 个包 + 1 个 schema 文件,无需自定义验证逻辑dfbf946
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.