[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DBVBJ6K959BZTQSAPTK3N2":3,"skill-same:01M6DBVBJ6K959BZTQSAPTK3N2":65},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":26,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":14,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":50,"install":51,"resources":64},"01M6DBVBJ6K959BZTQSAPTK3N2","search-first",null,"Research-before-coding workflow. Search for existing tools, libraries, and patterns before writing custom code. Invokes the researcher agent.","Prekzursil\u002Fagent-skills-toolchain","Prekzursil","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F54636077?v=4","01M6DACZ1PCQHD99SCR1YXG28B","Andrei Mihai Visalon","01M6DACZ670WZF535V3WYYSS4Z",0,"MIT","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fsearch-first\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[27,28,29,30,31,32,33,34,35,36,37,38],"search","first","search first","writing","research","workflow","libraries","code","Tools","coding","researcher","patterns","2026-11-10 10:12:30",false,"---\nname: search-first\ndescription: Research-before-coding workflow. Search for existing tools, libraries, and patterns before writing custom code. Invokes the researcher agent.\norigin: ECC\n---\n\n# \u002Fsearch-first — Research Before You Code\n\nSystematizes the \"search for existing solutions before implementing\" workflow.\n\n## Trigger\n\nUse this skill when:\n- Starting a new feature that likely has existing solutions\n- Adding a dependency or integration\n- The user asks \"add X functionality\" and you're about to write code\n- Before creating a new utility, helper, or abstraction\n\n## Workflow\n\n```\n┌─────────────────────────────────────────────┐\n│  1. NEED ANALYSIS                           │\n│     Define what functionality is needed      │\n│     Identify language\u002Fframework constraints  │\n├─────────────────────────────────────────────┤\n│  2. PARALLEL SEARCH (researcher agent)      │\n│     ┌──────────┐ ┌──────────┐ ┌──────────┐  │\n│     │  npm \u002F   │ │  MCP \u002F   │ │  GitHub \u002F │  │\n│     │  PyPI    │ │  Skills  │ │  Web      │  │\n│     └──────────┘ └──────────┘ └──────────┘  │\n├─────────────────────────────────────────────┤\n│  3. EVALUATE                                │\n│     Score candidates (functionality, maint, │\n│     community, docs, license, deps)         │\n├─────────────────────────────────────────────┤\n│  4. DECIDE                                  │\n│     ┌─────────┐  ┌──────────┐  ┌─────────┐  │\n│     │  Adopt  │  │  Extend  │  │  Build   │  │\n│     │ as-is   │  │  \u002FWrap   │  │  Custom  │  │\n│     └─────────┘  └──────────┘  └─────────┘  │\n├─────────────────────────────────────────────┤\n│  5. IMPLEMENT                               │\n│     Install package \u002F Configure MCP \u002F       │\n│     Write minimal custom code               │\n└─────────────────────────────────────────────┘\n```\n\n## Decision Matrix\n\n| Signal | Action |\n|--------|--------|\n| Exact match, well-maintained, MIT\u002FApache | **Adopt** — install and use directly |\n| Partial match, good foundation | **Extend** — install + write thin wrapper |\n| Multiple weak matches | **Compose** — combine 2-3 small packages |\n| Nothing suitable found | **Build** — write custom, but informed by research |\n\n## How to Use\n\n### Quick Mode (inline)\n\nBefore writing a utility or adding functionality, mentally run through:\n\n0. Does this already exist in the repo? → `rg` through relevant modules\u002Ftests first\n1. Is this a common problem? → Search npm\u002FPyPI\n2. Is there an MCP for this? → Check `~\u002F.claude\u002Fsettings.json` and search\n3. Is there a skill for this? → Check `~\u002F.claude\u002Fskills\u002F`\n4. Is there a GitHub implementation\u002Ftemplate? → Run GitHub code search for maintained OSS before writing net-new code\n\n### Full Mode (agent)\n\nFor non-trivial functionality, launch the researcher agent:\n\n```\nTask(subagent_type=\"general-purpose\", prompt=\"\n  Research existing tools for: [DESCRIPTION]\n  Language\u002Fframework: [LANG]\n  Constraints: [ANY]\n\n  Search: npm\u002FPyPI, MCP servers, Claude Code skills, GitHub\n  Return: Structured comparison with recommendation\n\")\n```\n\n## Search Shortcuts by Category\n\n### Development Tooling\n- Linting → `eslint`, `ruff`, `textlint`, `markdownlint`\n- Formatting → `prettier`, `black`, `gofmt`\n- Testing → `jest`, `pytest`, `go test`\n- Pre-commit → `husky`, `lint-staged`, `pre-commit`\n\n### AI\u002FLLM Integration\n- Claude SDK → Context7 for latest docs\n- Prompt management → Check MCP servers\n- Document processing → `unstructured`, `pdfplumber`, `mammoth`\n\n### Data & APIs\n- HTTP clients → `httpx` (Python), `ky`\u002F`got` (Node)\n- Validation → `zod` (TS), `pydantic` (Python)\n- Database → Check for MCP servers first\n\n### Content & Publishing\n- Markdown processing → `remark`, `unified`, `markdown-it`\n- Image optimization → `sharp`, `imagemin`\n\n## Integration Points\n\n### With planner agent\nThe planner should invoke researcher before Phase 1 (Architecture Review):\n- Researcher identifies available tools\n- Planner incorporates them into the implementation plan\n- Avoids \"reinventing the wheel\" in the plan\n\n### With architect agent\nThe architect should consult researcher for:\n- Technology stack decisions\n- Integration pattern discovery\n- Existing reference architectures\n\n### With iterative-retrieval skill\nCombine for progressive discovery:\n- Cycle 1: Broad search (npm, PyPI, MCP)\n- Cycle 2: Evaluate top candidates in detail\n- Cycle 3: Test compatibility with project constraints\n\n## Examples\n\n### Example 1: \"Add dead link checking\"\n```\nNeed: Check markdown files for broken links\nSearch: npm \"markdown dead link checker\"\nFound: textlint-rule-no-dead-link (score: 9\u002F10)\nAction: ADOPT — npm install textlint-rule-no-dead-link\nResult: Zero custom code, battle-tested solution\n```\n\n### Example 2: \"Add HTTP client wrapper\"\n```\nNeed: Resilient HTTP client with retries and timeout handling\nSearch: npm \"http client retry\", PyPI \"httpx retry\"\nFound: got (Node) with retry plugin, httpx (Python) with built-in retry\nAction: ADOPT — use got\u002Fhttpx directly with retry config\nResult: Zero custom code, production-proven libraries\n```\n\n### Example 3: \"Add config file linter\"\n```\nNeed: Validate project config files against a schema\nSearch: npm \"config linter schema\", \"json schema validator cli\"\nFound: ajv-cli (score: 8\u002F10)\nAction: ADOPT + EXTEND — install ajv-cli, write project-specific schema\nResult: 1 package + 1 schema file, no custom validation logic\n```\n\n## Anti-Patterns\n\n- **Jumping to code**: Writing a utility without checking if one exists\n- **Ignoring MCP**: Not checking if an MCP server already provides the capability\n- **Over-customizing**: Wrapping a library so heavily it loses its benefits\n- **Dependency bloat**: Installing a massive package for one small feature\n","# \u002Fsearch-first — Research Before You Code\n\nSystematizes the \"search for existing solutions before implementing\" workflow.\n\n## Trigger\n\nUse this skill when:\n- Starting a new feature that likely has existing solutions\n- Adding a dependency or integration\n- The user asks \"add X functionality\" and you're about to write code\n- Before creating a new utility, helper, or abstraction\n\n## Workflow\n\n```\n┌─────────────────────────────────────────────┐\n│  1. NEED ANALYSIS                           │\n│     Define what functionality is needed      │\n│     Identify language\u002Fframework constraints  │\n├─────────────────────────────────────────────┤\n│  2. PARALLEL SEARCH (researcher agent)      │\n│     ┌──────────┐ ┌──────────┐ ┌──────────┐  │\n│     │  npm \u002F   │ │  MCP \u002F   │ │  GitHub \u002F │  │\n│     │  PyPI    │ │  Skills  │ │  Web      │  │\n│     └──────────┘ └──────────┘ └──────────┘  │\n├─────────────────────────────────────────────┤\n│  3. EVALUATE                                │\n│     Score candidates (functionality, maint, │\n│     community, docs, license, deps)         │\n├─────────────────────────────────────────────┤\n│  4. DECIDE                                  │\n│     ┌─────────┐  ┌──────────┐  ┌─────────┐  │\n│     │  Adopt  │  │  Extend  │  │  Build   │  │\n│     │ as-is   │  │  \u002FWrap   │  │  Custom  │  │\n│     └─────────┘  └──────────┘  └─────────┘  │\n├─────────────────────────────────────────────┤\n│  5. IMPLEMENT                               │\n│     Install package \u002F Configure MCP \u002F       │\n│     Write minimal custom code               │\n└─────────────────────────────────────────────┘\n```\n\n## Decision Matrix\n\n| Signal | Action |\n|--------|--------|\n| Exact match, well-maintained, MIT\u002FApache | **Adopt** — install and use directly |\n| Partial match, good foundation | **Extend** — install + write thin wrapper |\n| Multiple weak matches | **Compose** — combine 2-3 small packages |\n| Nothing suitable found | **Build** — write custom, but informed by research |\n\n## How to Use\n\n### Quick Mode (inline)\n\nBefore writing a utility or adding functionality, mentally run through:\n\n0. Does this already exist in the repo? → `rg` through relevant modules\u002Ftests first\n1. Is this a common problem? → Search npm\u002FPyPI\n2. Is there an MCP for this? → Check `~\u002F.claude\u002Fsettings.json` and search\n3. Is there a skill for this? → Check `~\u002F.claude\u002Fskills\u002F`\n4. Is there a GitHub implementation\u002Ftemplate? → Run GitHub code search for maintained OSS before writing net-new code\n\n### Full Mode (agent)\n\nFor non-trivial functionality, launch the researcher agent:\n\n```\nTask(subagent_type=\"general-purpose\", prompt=\"\n  Research existing tools for: [DESCRIPTION]\n  Language\u002Fframework: [LANG]\n  Constraints: [ANY]\n\n  Search: npm\u002FPyPI, MCP servers, Claude Code skills, GitHub\n  Return: Structured comparison with recommendation\n\")\n```\n\n## Search Shortcuts by Category\n\n### Development Tooling\n- Linting → `eslint`, `ruff`, `textlint`, `markdownlint`\n- Formatting → `prettier`, `black`, `gofmt`\n- Testing → `jest`, `pytest`, `go test`\n- Pre-commit → `husky`, `lint-staged`, `pre-commit`\n\n### AI\u002FLLM Integration\n- Claude SDK → Context7 for latest docs\n- Prompt management → Check MCP servers\n- Document processing → `unstructured`, `pdfplumber`, `mammoth`\n\n### Data & APIs\n- HTTP clients → `httpx` (Python), `ky`\u002F`got` (Node)\n- Validation → `zod` (TS), `pydantic` (Python)\n- Database → Check for MCP servers first\n\n### Content & Publishing\n- Markdown processing → `remark`, `unified`, `markdown-it`\n- Image optimization → `sharp`, `imagemin`\n\n## Integration Points\n\n### With planner agent\nThe planner should invoke researcher before Phase 1 (Architecture Review):\n- Researcher identifies available tools\n- Planner incorporates them into the implementation plan\n- Avoids \"reinventing the wheel\" in the plan\n\n### With architect agent\nThe architect should consult researcher for:\n- Technology stack decisions\n- Integration pattern discovery\n- Existing reference architectures\n\n### With iterative-retrieval skill\nCombine for progressive discovery:\n- Cycle 1: Broad search (npm, PyPI, MCP)\n- Cycle 2: Evaluate top candidates in detail\n- Cycle 3: Test compatibility with project constraints\n\n## Examples\n\n### Example 1: \"Add dead link checking\"\n```\nNeed: Check markdown files for broken links\nSearch: npm \"markdown dead link checker\"\nFound: textlint-rule-no-dead-link (score: 9\u002F10)\nAction: ADOPT — npm install textlint-rule-no-dead-link\nResult: Zero custom code, battle-tested solution\n```\n\n### Example 2: \"Add HTTP client wrapper\"\n```\nNeed: Resilient HTTP client with retries and timeout handling\nSearch: npm \"http client retry\", PyPI \"httpx retry\"\nFound: got (Node) with retry plugin, httpx (Python) with built-in retry\nAction: ADOPT — use got\u002Fhttpx directly with retry config\nResult: Zero custom code, production-proven libraries\n```\n\n### Example 3: \"Add config file linter\"\n```\nNeed: Validate project config files against a schema\nSearch: npm \"config linter schema\", \"json schema validator cli\"\nFound: ajv-cli (score: 8\u002F10)\nAction: ADOPT + EXTEND — install ajv-cli, write project-specific schema\nResult: 1 package + 1 schema file, no custom validation logic\n```\n\n## Anti-Patterns\n\n- **Jumping to code**: Writing a utility without checking if one exists\n- **Ignoring MCP**: Not checking if an MCP server already provides the capability\n- **Over-customizing**: Wrapping a library so heavily it loses its benefits\n- **Dependency bloat**: Installing a massive package for one small feature\n",{"name":5,"origin":44,"description":7},"ECC","main","a298c929b6cbd662e1fce54302ce520d5ceea1a5",".agents\u002Fskills\u002Fsearch-first","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain","https:\u002F\u002Fgithub.com\u002FPrekzursil","2026-11-02 14:30:57",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add Prekzursil\u002Fagent-skills-toolchain --skill search-first",{"tool":57,"command":58},"bunx","bunx skills add Prekzursil\u002Fagent-skills-toolchain --skill search-first",{"tool":60,"command":61},"pnpm","pnpm dlx skills add Prekzursil\u002Fagent-skills-toolchain --skill search-first","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fsearch-first\u002FSKILL.md",true,[],[66,88,114,141,155,171],{"skillNo":67,"name":68,"nameZh":6,"description":69,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":70,"categories":71,"keywords":72,"publishedAt":39},"01M6DF7D7478R55P46REYH4QAC","clarify-requirements","Resolve genuine pre-execution ambiguity by scanning repo context, generating 1-6 grounded options, and asking 1-3 focused questions via AskUserQuestion. NOT for mid-task use (injection risk); NOT when the goal is already unambiguous; use to disambiguate vague prompts before any file edits.","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Fworkspace-hooks\u002Fskills\u002Fclarify-requirements\u002FSKILL.md",[],[73,74,75,76,77,78,79,80,81,82,83,84,85,86,87],"clarify requirements","clarify","requirements","risk","options","task","prompts","goal","scanning","use","context","repo","injection","execution","file",{"skillNo":89,"name":90,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":95,"publishedAt":39},"01M6DF79CA4BHJS66J8EZDBPWJ","openmm-md","Run FREE, open-source, Windows-native GPU molecular dynamics via the openmm-md MCP (OpenMM + CUDA on the local NVIDIA GPU). Use for protein \u002F protein-ligand MD when you want a free stack or are on Windows without a Schrodinger license. Covers the full workflow (prepare, solvate, minimize, equilibrate, production, analyze, mmgbsa) AND an honest decision guide vs Schrodinger Desmond, including how to run Desmond legitimately on Linux or a cloud GPU with a real license. This is a deliberately LESSER free alternative and does NOT replace the schrodinger MCP tools. Do NOT use it to pick a free tool when a validated FEP+, WaterMap, IFD-MD, or Prime MM-GBSA result is actually required.","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Fmcp\u002Fopenmm-md-mcp\u002Fskill\u002Fopenmm-md\u002FSKILL.md",[94],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[96,97,98,99,100,101,102,103,104,105,106,107,32,108,82,109,110,111,112,113],"openmm md","how","decision","pick","linux","analyze","tool","stack","open","NVIDIA","gpu","license","windows","free","molecular dynamics","local","do","MCP",{"skillNo":115,"name":116,"nameZh":6,"description":117,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":126,"publishedAt":39},"01M6DF76C1MG85VEWP8VZCBNMN","visual-review","Take screenshots of web pages and UI using Playwright for visual review and iteration","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fvisual-review\u002FSKILL.md",[120,123],{"categoryNo":121,"categoryName":122,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":124,"categoryName":125,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[127,128,129,130,131,132,133,134,135,136,97,137,138,139,140],"review","visual","visual review","pages","web","false","iteration","take","check","slides","ui","screenshot","playwright","screenshots",{"skillNo":142,"name":143,"nameZh":6,"description":144,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":145,"categories":146,"keywords":147,"publishedAt":39},"01M6DF73AQVCBZKEN0YXEX9FXP","status","Diagnostic status report — shows metaswarm installation state, project setup, and potential issues","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fstatus\u002FSKILL.md",[],[143,148,149,150,151,152,153,154],"setup","report","project","installation","project setup","issues","state",{"skillNo":156,"name":157,"nameZh":6,"description":158,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":159,"categories":160,"keywords":162,"publishedAt":39},"01M6DF6X6C2XB0P6GX76P7TTYV","start","Use when starting work on any task, when the user mentions metaswarm, or when the user wants to begin tracked development work","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fstart\u002FSKILL.md",[161],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[157,163,78,164,165,166,82,167,168,169,170],"start issue","issue","ready","work on issue","user","work","work on","development",{"skillNo":172,"name":148,"nameZh":6,"description":173,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":174,"categories":175,"keywords":176,"publishedAt":39},"01M6DF6QMJ9AJKFKHHKRT005PQ","Interactive project setup — detects your project, configures metaswarm, writes project-local files","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fsetup\u002FSKILL.md",[],[148,150,111,177,152,178],"files","interactive"]