| name | search-first |
| description | Research-before-coding workflow. Search for existing tools, libraries, and patterns before writing custom code. Invokes the researcher agent. |
| origin | ECC |
/search-first -- ã³ãŒããæžãåã«ãªãµãŒã
ãå®è£
åã«æ¢åã®ãœãªã¥ãŒã·ã§ã³ãæ€çŽ¢ãããã¯ãŒã¯ãããŒãäœç³»åããŸãã
ããªã¬ãŒ
以äžã®å Žåã«ãã®ã¹ãã«ã䜿çšããŸãïŒ
- æ¢åã®ãœãªã¥ãŒã·ã§ã³ãããå¯èœæ§ã®é«ãæ°æ©èœã®éå§
- äŸåé¢ä¿ãã€ã³ãã°ã¬ãŒã·ã§ã³ã®è¿œå
- ãŠãŒã¶ãŒããX æ©èœã远å ããŠããšèšããã³ãŒããæžãããšããŠããæ
- æ°ãããŠãŒãã£ãªãã£ããã«ããŒãæœè±¡åãäœæããå
ã¯ãŒã¯ãããŒ
âââââââââââââââââââââââââââââââââââââââââââââââ
â 1. ããŒãºåæ â
â å¿
èŠãªæ©èœãå®çŸ© â
â èšèª/ãã¬ãŒã ã¯ãŒã¯å¶çŽãç¹å® â
âââââââââââââââââââââââââââââââââââââââââââââââ€
â 2. äžŠåæ€çŽ¢ïŒresearcher ãšãŒãžã§ã³ãïŒ â
â ââââââââââââ ââââââââââââ ââââââââââââ â
â â npm / â â MCP / â â GitHub / â â
â â PyPI â â Skills â â Web â â
â ââââââââââââ ââââââââââââ ââââââââââââ â
âââââââââââââââââââââââââââââââââââââââââââââââ€
â 3. è©äŸ¡ â
â åè£ãã¹ã³ã¢ãªã³ã°ïŒæ©èœãä¿å®æ§ã â
â ã³ãã¥ããã£ãããã¥ã¡ã³ããã©ã€ã»ã³ã¹ãäŸåé¢ä¿ïŒâ
âââââââââââââââââââââââââââââââââââââââââââââââ€
â 4. æ±ºå® â
â âââââââââââ ââââââââââââ âââââââââââ â
â â ãã®ãŸãŸ â â æ¡åŒµ/ â â ã«ã¹ã¿ã â â
â â æ¡çš â â ã©ãã â â æ§ç¯ â â
â âââââââââââ ââââââââââââ âââââââââââ â
âââââââââââââââââââââââââââââââââââââââââââââââ€
â 5. å®è£
â
â ããã±ãŒãžã€ã³ã¹ããŒã« / MCP èšå® / â
â æå°éã®ã«ã¹ã¿ã ã³ãŒããèšè¿° â
âââââââââââââââââââââââââââââââââââââââââââââââ
倿ãããªã¯ã¹
| ã·ã°ãã« | ã¢ã¯ã·ã§ã³ |
|---|
| å®å
šäžèŽãã¡ã³ããã³ã¹ãããŠãããMIT/Apache | æ¡çš -- ã€ã³ã¹ããŒã«ããŠãã®ãŸãŸäœ¿çš |
| éšåäžèŽãè¯ãåºç€ | æ¡åŒµ -- ã€ã³ã¹ããŒã« + èãã©ãããŒãèšè¿° |
| è€æ°ã®åŒ±ãäžèŽ | çµã¿åãã -- 2-3 åã®å°ããªããã±ãŒãžãçµã¿åãã |
| é©åãªãã®ãèŠã€ãããªã | æ§ç¯ -- ã«ã¹ã¿ã ãèšè¿°ããã ããªãµãŒãã«åºã¥ã㊠|
äœ¿ãæ¹
ã¯ã€ãã¯ã¢ãŒãïŒã€ã³ã©ã€ã³ïŒ
ãŠãŒãã£ãªãã£ãæžãããæ©èœã远å ããåã«ãé ã®äžã§ä»¥äžãå®è¡ããŸãïŒ
- ãªããžããªã«æ¢ã«ååšããïŒ -> ãŸãé¢é£ã¢ãžã¥ãŒã«/ãã¹ãã
rg ã§æ€çŽ¢
- ããããåé¡ïŒ -> npm/PyPI ãæ€çŽ¢
- ããçšã® MCP ãããïŒ ->
~/.claude/settings.json ããã§ãã¯ããŠæ€çŽ¢
- ããçšã®ã¹ãã«ãããïŒ ->
~/.claude/skills/ ããã§ãã¯
- GitHub ã«å®è£
/ãã³ãã¬ãŒããããïŒ -> ããããã¥ãŒã®ã³ãŒããæžãåã«ãã¡ã³ããã³ã¹ãããŠãã OSS ã GitHub ã³ãŒãæ€çŽ¢ã§å®è¡
ãã«ã¢ãŒãïŒãšãŒãžã§ã³ãïŒ
éèªæãªæ©èœã®å Žåãresearcher ãšãŒãžã§ã³ããèµ·åããŸãïŒ
Task(subagent_type="general-purpose", prompt="
以äžã®æ¢åããŒã«ããªãµãŒã: [説æ]
èšèª/ãã¬ãŒã ã¯ãŒã¯: [èšèª]
å¶çŽ: [ããã°]
æ€çŽ¢å¯Ÿè±¡: npm/PyPIãMCP ãµãŒããŒãClaude Code ã¹ãã«ãGitHub
è¿åŽ: æšå¥šä»ãã®æ§é åãããæ¯èŒ
")
ã«ããŽãªå¥æ€çŽ¢ã·ã§ãŒãã«ãã
éçºããŒã«
- ãªã³ãã£ã³ã° ->
eslint, ruff, textlint, markdownlint
- ãã©ãŒãããã£ã³ã° ->
prettier, black, gofmt
- ãã¹ã ->
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
çµ±åãã€ã³ã
planner ãšãŒãžã§ã³ããšã®é£æº
planner ã¯ãã§ãŒãº 1ïŒã¢ãŒããã¯ãã£ã¬ãã¥ãŒïŒã®åã« researcher ãåŒã³åºãã¹ãã§ãïŒ
- researcher ãå©çšå¯èœãªããŒã«ãç¹å®
- planner ãããããå®è£
èšç»ã«çµã¿èŸŒã
- èšç»ã§ã®ãè»èŒªã®åçºæããåé¿
architect ãšãŒãžã§ã³ããšã®é£æº
architect ã¯ä»¥äžã«ã€ã㊠researcher ã«çžè«ãã¹ãã§ãïŒ
- ãã¯ãããžãŒã¹ã¿ãã¯ã®æ±ºå®
- ã€ã³ãã°ã¬ãŒã·ã§ã³ãã¿ãŒã³ã®çºèŠ
- æ¢åã®ãªãã¡ã¬ã³ã¹ã¢ãŒããã¯ãã£
iterative-retrieval ã¹ãã«ãšã®é£æº
段éçãªçºèŠã®ããã«çµã¿åãããŸãïŒ
- ãµã€ã¯ã« 1: åºç¯ãªæ€çŽ¢ïŒnpmãPyPIãMCPïŒ
- ãµã€ã¯ã« 2: ãããåè£ã詳现ã«è©äŸ¡
- ãµã€ã¯ã« 3: ãããžã§ã¯ãå¶çŽãšã®äºææ§ããã¹ã
äŸ
äŸ 1: ãããããªã³ã¯ãã§ãã¯ã远å ã
ããŒãº: Markdown ãã¡ã€ã«ã®å£ãããªã³ã¯ããã§ãã¯
æ€çŽ¢: npm "markdown dead link checker"
çºèŠ: textlint-rule-no-dead-linkïŒã¹ã³ã¢: 9/10ïŒ
ã¢ã¯ã·ã§ã³: æ¡çš -- npm install textlint-rule-no-dead-link
çµæ: ã«ã¹ã¿ã ã³ãŒããŒãã宿Šãã¹ãæžã¿ãœãªã¥ãŒã·ã§ã³
äŸ 2: ãHTTP ã¯ã©ã€ã¢ã³ãã©ãããŒã远å ã
ããŒãº: ãªãã©ã€ãšã¿ã€ã ã¢ãŠãåŠçä»ãã®å
ç¢ãª HTTP ã¯ã©ã€ã¢ã³ã
æ€çŽ¢: npm "http client retry"ãPyPI "httpx retry"
çºèŠ: gotïŒNodeïŒãªãã©ã€ãã©ã°ã€ã³ä»ããhttpxïŒPythonïŒãã«ãã€ã³ãªãã©ã€ä»ã
ã¢ã¯ã·ã§ã³: æ¡çš -- got/httpx ããªãã©ã€èšå®ä»ãã§çŽæ¥äœ¿çš
çµæ: ã«ã¹ã¿ã ã³ãŒããŒããæ¬çªå®çžŸã®ããã©ã€ãã©ãª
äŸ 3: ãèšå®ãã¡ã€ã«ãªã³ã¿ãŒã远å ã
ããŒãº: ãããžã§ã¯ãèšå®ãã¡ã€ã«ãã¹ããŒãã«å¯ŸããŠæ€èšŒ
æ€çŽ¢: npm "config linter schema"ã"json schema validator cli"
çºèŠ: ajv-cliïŒã¹ã³ã¢: 8/10ïŒ
ã¢ã¯ã·ã§ã³: æ¡çš + æ¡åŒµ -- ajv-cli ãã€ã³ã¹ããŒã«ããããžã§ã¯ãåºæã¹ããŒããèšè¿°
çµæ: 1 ããã±ãŒãž + 1 ã¹ããŒããã¡ã€ã«ãã«ã¹ã¿ã ããªããŒã·ã§ã³ããžãã¯ãªã
ã¢ã³ããã¿ãŒã³
- å³ã³ãŒã: æ¢åã®ãã®ãããããã§ãã¯ããã«ãŠãŒãã£ãªãã£ãæžã
- MCP ç¡èŠ: MCP ãµãŒããŒãæ¢ã«ãã®æ©èœãæäŸããŠããããã§ãã¯ããªã
- é床ãªã«ã¹ã¿ãã€ãº: ã©ã€ãã©ãªãããŸãã«ãåãã©ããããŠå©ç¹ã倱ã
- äŸåé¢ä¿ã®è¥å€§å: 1 ã€ã®å°ããªæ©èœã®ããã«å·šå€§ãªããã±ãŒãžãã€ã³ã¹ããŒã«