search-first by affaan-m/everything-claude-code
npx skills add https://github.com/affaan-m/everything-claude-code --skill search-first系统化“在实现前先寻找现有解决方案”的工作流程。
在以下情况使用此技能:
┌─────────────────────────────────────────────┐
│ 1. 需求分析 │
│ 定义所需功能 │
│ 识别语言/框架约束 │
├─────────────────────────────────────────────┤
│ 2. 并行搜索(调研代理) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ npm / │ │ MCP / │ │ GitHub / │ │
│ │ PyPI │ │ Skills │ │ 网络 │ │
│ └──────────┘ └──────────┘ └──────────┘ │
├─────────────────────────────────────────────┤
│ 3. 评估 │
│ 为候选方案评分(功能、维护、社区、 │
│ 文档、许可证、依赖) │
├─────────────────────────────────────────────┤
│ 4. 决策 │
│ ┌─────────┐ ┌──────────┐ ┌─────────┐ │
│ │ 采用 │ │ 扩展 │ │ 构建 │ │
│ │ 原样使用 │ │ /包装 │ │ 自定义 │ │
│ └─────────┘ └──────────┘ └─────────┘ │
├─────────────────────────────────────────────┤
│ 5. 实施 │
│ 安装包 / 配置 MCP / │
│ 编写最少的自定义代码 │
└─────────────────────────────────────────────┘
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| 信号 | 行动 |
|---|---|
| 完全匹配,维护良好,MIT/Apache 许可证 | 采用 — 直接安装并使用 |
| 部分匹配,基础良好 | 扩展 — 安装 + 编写薄包装层 |
| 多个弱匹配项 | 组合 — 结合 2-3 个小包 |
| 未找到合适的方案 | 构建 — 编写自定义代码,但需基于调研结果 |
在编写工具或添加功能之前,在脑中快速过一遍:
rg 搜索相关模块/测试~/.claude/settings.json 并搜索~/.claude/skills/对于非简单的功能,启动调研代理:
Task(subagent_type="general-purpose", prompt="
调研现有工具,用于:[描述]
语言/框架:[语言]
约束条件:[任何]
搜索范围: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规划代理应在第 1 阶段(架构评审)之前调用调研代理:
架构代理应在以下方面咨询调研代理:
结合使用以实现渐进式发现:
需求:检查 Markdown 文件中的失效链接
搜索:npm "markdown dead link checker"
发现:textlint-rule-no-dead-link (评分: 9/10)
行动:采用 — npm install textlint-rule-no-dead-link
结果:零自定义代码,经过实战检验的解决方案
需求:具有重试和超时处理功能的健壮 HTTP 客户端
搜索:npm "http client retry", PyPI "httpx retry"
发现:got (Node) 带重试插件,httpx (Python) 带内置重试
行动:采用 — 直接使用 got/httpx 并配置重试
结果:零自定义代码,经过生产验证的库
需求:根据模式验证项目配置文件
搜索:npm "config linter schema", "json schema validator cli"
发现:ajv-cli (评分: 8/10)
行动:采用 + 扩展 — 安装 ajv-cli,编写项目特定的模式文件
结果:1 个包 + 1 个模式文件,无需自定义验证逻辑
每周安装量
421
代码仓库
GitHub 星标数
69.1K
首次出现
2026年2月22日
安全审计
安装于
codex399
gemini-cli378
opencode377
github-copilot376
kimi-cli375
cursor375
Systematizes the "search for existing solutions before implementing" workflow.
Use this skill when:
┌─────────────────────────────────────────────┐
│ 1. NEED ANALYSIS │
│ Define what functionality is needed │
│ Identify language/framework constraints │
├─────────────────────────────────────────────┤
│ 2. PARALLEL SEARCH (researcher agent) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ npm / │ │ MCP / │ │ GitHub / │ │
│ │ PyPI │ │ Skills │ │ Web │ │
│ └──────────┘ └──────────┘ └──────────┘ │
├─────────────────────────────────────────────┤
│ 3. EVALUATE │
│ Score candidates (functionality, maint, │
│ community, docs, license, deps) │
├─────────────────────────────────────────────┤
│ 4. DECIDE │
│ ┌─────────┐ ┌──────────┐ ┌─────────┐ │
│ │ Adopt │ │ Extend │ │ Build │ │
│ │ as-is │ │ /Wrap │ │ Custom │ │
│ └─────────┘ └──────────┘ └─────────┘ │
├─────────────────────────────────────────────┤
│ 5. IMPLEMENT │
│ Install package / Configure MCP / │
│ Write minimal custom code │
└─────────────────────────────────────────────┘
| Signal | Action |
|---|---|
| Exact match, well-maintained, MIT/Apache | Adopt — install and use directly |
| Partial match, good foundation | Extend — install + write thin wrapper |
| Multiple weak matches | Compose — combine 2-3 small packages |
| Nothing suitable found | Build — write custom, but informed by research |
Before writing a utility or adding functionality, mentally run through:
rg through relevant modules/tests first~/.claude/settings.json and search~/.claude/skills/For non-trivial functionality, launch the researcher agent:
Task(subagent_type="general-purpose", prompt="
Research existing tools for: [DESCRIPTION]
Language/framework: [LANG]
Constraints: [ANY]
Search: npm/PyPI, MCP servers, Claude Code skills, GitHub
Return: Structured comparison with recommendation
")
eslint, ruff, textlint, markdownlintprettier, black, gofmtjest, pytest, go testhusky, lint-staged, unstructured, pdfplumber, mammothhttpx (Python), ky/got (Node)zod (TS), pydantic (Python)remark, unified, markdown-itsharp, imageminThe planner should invoke researcher before Phase 1 (Architecture Review):
The architect should consult researcher for:
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 — npm install textlint-rule-no-dead-link
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 — use got/httpx directly with retry config
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 — install ajv-cli, write project-specific schema
Result: 1 package + 1 schema file, no custom validation logic
Weekly Installs
421
Repository
GitHub Stars
69.1K
First Seen
Feb 22, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykWarn
Installed on
codex399
gemini-cli378
opencode377
github-copilot376
kimi-cli375
cursor375
React 组合模式指南:Vercel 组件架构最佳实践,提升代码可维护性
102,200 周安装
pre-commit