Agent skill · software engineering · affaan-m
search-first
研究优先于编码的工作流程。在编写自定义代码之前,搜索现有的工具、库和模式。调用研究员代理。
Why this skill is useful
Provides a structured workflow for researching existing solutions before coding, which includes specific evaluation criteria and integration patterns not commonly documented.
What it needs
About 2k tokens when loaded. Last updated 2026-08-06. 238,342 stars on the source repository.
What this skill does
/search-first — 编码前先研究 系统化“在实现之前先寻找现有解决方案”的工作流程。 触发时机 在以下情况使用此技能: 开始一项很可能已有解决方案的新功能 添加依赖项或集成 用户要求“添加 X 功能”而你准备开始编写代码 在创建新的实用程序、助手或抽象之前 工作流程 决策矩阵 信号 行动 -------- -------- 完全匹配,维护良好,MIT/Apache 许可证 采纳 — 直接安装并使用 部分匹配,基础良好 扩展 — 安装 + 编写薄封装层 多个弱匹配 组合 — 组合 2-3 个小包 未找到合适的 构建 — 编写自定义代码,但需基于研究 使用方法 快速模式(内联) 在编写实用程序或添加功能之前,在脑中过一遍: 0. 这已经在仓库中存在吗? → 首先通过相关模块/测试检查 rg 1. 这是一个常见问题吗? → 搜索 npm/PyPI 2. 有对应的 MCP 吗? → 检查 ~/.claude/settings.json 并进行搜索 3. 有对应的技能吗? → 检查 ~/.claude/skills/ 4. 有 GitHub 上的实现/模板吗? → 在编写全新代码之前,先运行 GitHub 代码搜索以查找维护中的开源项目 完整模式(代理) 对于非平凡的功能,启动研究员代理: 按类别搜索快捷方式 开发工具 Linting → eslint, ruff, textlint, markdownlint Formatting → prettier, black, gofmt Testing → jest, pytest, go test Pre-commit → husky, lint-staged, pre-commit AI/LLM 集成 Claude SDK → 使用 Context7 获取最新文档 提示词管理 → 检查 MCP 服务器 文档处理 → unstructured, pdfplumber, mammoth 数据与 API HTTP 客户端 → httpx (Python), ky/got (Node) 验证 → zod (TS), pydantic (Python) 数据库 → 首先检查是否有 MCP 服务器 内容与发布 Markdown 处理 → remark, unified, markdown-it 图片优化 → sharp, imagemin 集成点 与规划器代理 规划器应在阶段 1(架构评审)之前调用研究员: 研究员识别可用的工具 规划器将它们纳入实施计划 避免在计划中“重新发明轮子” 与架构师代理 架构师应向研究员咨询: 技术栈决策 集成模式发现 现有参考架构 与迭代检索技能 结合进行渐进式发现: 循环 1:广泛搜索 (npm, PyPI, MCP) 循环 2:详细评估顶级候选方案 循环 3:测试与项目约束的兼容性 示例 示例 1:“添加死链检查” 示例 2:“添加 HTTP 客户端包装器” 示例 3:“添加配置文件 linter” 反模式 直接跳转到编码:不检查是否存在就编写实用程序 忽略 MCP:不检查 MCP 服务器是否已提供该能力 过度定制:对库进行如此厚重的包装以至于失去了其优势 依赖项膨胀:为了一个小功能安装一个庞大的包
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills affaan-m/search-first--b10dcd