[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M73FMHXYBKB12BQ45CF27GQN":3,"skill-same:01M73FMHXYBKB12BQ45CF27GQN":49},{"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":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":25,"commitSha":26,"skillDirectory":27,"forksCount":28,"repositoryHtmlUrl":29,"repositoryHomepageUrl":30,"ownerHtmlUrl":31,"ownerBlogUrl":32,"ownerDescription":33,"updatedAt":34,"install":35,"resources":48},"01M73FMHXYBKB12BQ45CF27GQN","search-first",null,"Research-before-coding workflow. Search for existing tools, libraries, and patterns before writing custom code. Invokes the researcher agent.","Horonomos-laps\u002FYana-AI","Horonomos-laps","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F355299122?v=4","01M76B3QPXE88ET2SQPDPVATZT"," Horonomos-laps","01M72ZQRJPCYPSSWT4D00VJR2A",13,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FHoronomos-laps\u002FYana-AI\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fsearch-first\u002FSKILL.md",[],[],"2026-11-11 15:11:14",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│  0. TOOL AVAILABILITY PREFLIGHT             │\n│     Check search channels before relying on │\n│     them; report skipped channels honestly   │\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### Step 0: Tool Availability Preflight\n\nThis is agent guidance, not an executable setup script. Check only the channels\nthat are relevant to the task and project in front of you.\n\n| Channel | Check | If missing |\n|---------|-------|------------|\n| Repository search | `rg --files` and targeted `rg` queries | State that only visible files were inspected |\n| Package registry | `npm --version`, `python -m pip --version`, or project package manager | Use web\u002Fdocs search and avoid claiming registry coverage |\n| GitHub CLI | `gh auth status` | Use public web or local git history only |\n| MCP\u002Fdocs tools | Available tool list or local MCP config | Fall back to official docs\u002Fweb search |\n| Skills directory | `ls ~\u002F.claude\u002Fskills ~\u002F.codex\u002Fskills` where applicable | Say no local skill catalog was available |\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```\nAgent(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\nOlder Claude Code docs may call this `Task(...)`; use the current agent\u002Fsubagent\ntool name exposed by the active harness.\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`undici` (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- **Silent skipping**: Reporting \"nothing found\" when a search channel was unavailable\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│  0. TOOL AVAILABILITY PREFLIGHT             │\n│     Check search channels before relying on │\n│     them; report skipped channels honestly   │\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### Step 0: Tool Availability Preflight\n\nThis is agent guidance, not an executable setup script. Check only the channels\nthat are relevant to the task and project in front of you.\n\n| Channel | Check | If missing |\n|---------|-------|------------|\n| Repository search | `rg --files` and targeted `rg` queries | State that only visible files were inspected |\n| Package registry | `npm --version`, `python -m pip --version`, or project package manager | Use web\u002Fdocs search and avoid claiming registry coverage |\n| GitHub CLI | `gh auth status` | Use public web or local git history only |\n| MCP\u002Fdocs tools | Available tool list or local MCP config | Fall back to official docs\u002Fweb search |\n| Skills directory | `ls ~\u002F.claude\u002Fskills ~\u002F.codex\u002Fskills` where applicable | Say no local skill catalog was available |\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```\nAgent(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\nOlder Claude Code docs may call this `Task(...)`; use the current agent\u002Fsubagent\ntool name exposed by the active harness.\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`undici` (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- **Silent skipping**: Reporting \"nothing found\" when a search channel was unavailable\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":24,"description":7},"ECC","main","481dcd7dd2e288b9d627a2bd017db70e64e6c6fa","core\u002Fskills\u002Fsearch-first",2,"https:\u002F\u002Fgithub.com\u002FHoronomos-laps\u002FYana-AI","https:\u002F\u002Fyana.vutam.link\u002F","https:\u002F\u002Fgithub.com\u002FHoronomos-laps","https:\u002F\u002Fyana.vutam.link","An open-source governed runtime & execution environment for multi-agent AI systems.","2026-11-13 13:15:29",{"source":8,"skillName":5,"commands":36,"prompt":46,"zipAvailable":47},[37,40,43],{"tool":38,"command":39},"npx","npx skills add Horonomos-laps\u002FYana-AI --skill search-first",{"tool":41,"command":42},"bunx","bunx skills add Horonomos-laps\u002FYana-AI --skill search-first",{"tool":44,"command":45},"pnpm","pnpm dlx skills add Horonomos-laps\u002FYana-AI --skill search-first","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FHoronomos-laps\u002FYana-AI\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fsearch-first\u002FSKILL.md",true,[],[50,58,65,73,81,89],{"skillNo":51,"name":52,"nameZh":6,"description":53,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":54,"licenseFileUrl":6,"sourceHtmlUrl":55,"categories":56,"keywords":57,"publishedAt":19},"01M735GKET5YVYKAY62W2P5YXB","openai--sentry--sentry","Use when the user asks to inspect Sentry issues or events, summarize recent production errors, or pull basic Sentry health data via the Sentry API; perform read-only queries with the bundled script and require `SENTRY_AUTH_TOKEN`.","MIT","https:\u002F\u002Fgithub.com\u002FHoronomos-laps\u002FYana-AI\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fopenai--sentry--sentry\u002FSKILL.md",[],[],{"skillNo":59,"name":60,"nameZh":6,"description":61,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":62,"categories":63,"keywords":64,"publishedAt":19},"01M73DCAP83T17HY7SMGK7MGFE","ito-basket-compare","Compare Itô prediction-market baskets against a user's knowledge base, portfolio notes, financial context, watchlist, or research thesis. Use for read-only basket comparison and gap analysis without investment advice or live trading.","https:\u002F\u002Fgithub.com\u002FHoronomos-laps\u002FYana-AI\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fito-basket-compare\u002FSKILL.md",[],[],{"skillNo":66,"name":67,"nameZh":6,"description":68,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":69,"sourceHtmlUrl":70,"categories":71,"keywords":72,"publishedAt":19},"01M734CYEMZFDR3KH6SW0JP8TD","implementing-network-traffic-baselining","Build network traffic baselines from NetFlow\u002FIPFIX data using Python pandas for statistical analysis, z-score anomaly detection, and hourly\u002Fdaily traffic pattern profiling","https:\u002F\u002Fgithub.com\u002Fyanacuti1121\u002FYana-AI\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fimplementing-network-traffic-baselining\u002FLICENSE","https:\u002F\u002Fgithub.com\u002FHoronomos-laps\u002FYana-AI\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fimplementing-network-traffic-baselining\u002FSKILL.md",[],[],{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":77,"sourceHtmlUrl":78,"categories":79,"keywords":80,"publishedAt":19},"01M73ASZ6NJRJM44Z2P84NGQ3Q","detecting-evasion-techniques-in-endpoint-logs","Detects defense evasion techniques used by adversaries in endpoint logs including log tampering, timestomping, process injection, and security tool disabling. Use when investigating suspicious endpoint behavior, building detection rules for evasion tactics, or conducting threat hunting for stealthy adversary activity. Activates for requests involving evasion detection, defense evasion analysis, log tampering detection, or MITRE ATT&CK TA0005.","https:\u002F\u002Fgithub.com\u002Fyanacuti1121\u002FYana-AI\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fdetecting-evasion-techniques-in-endpoint-logs\u002FLICENSE","https:\u002F\u002Fgithub.com\u002FHoronomos-laps\u002FYana-AI\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fdetecting-evasion-techniques-in-endpoint-logs\u002FSKILL.md",[],[],{"skillNo":82,"name":83,"nameZh":6,"description":84,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":85,"sourceHtmlUrl":86,"categories":87,"keywords":88,"publishedAt":19},"01M734AFNXD06Z78QRK0VKGT7Q","implementing-microsegmentation-with-guardicore","Implementing microsegmentation using Akamai Guardicore Segmentation to map application dependencies, create granular network policies, visualize east-west traffic flows, and enforce least-privilege communication between workloads across data centers and cloud.","https:\u002F\u002Fgithub.com\u002Fyanacuti1121\u002FYana-AI\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fimplementing-microsegmentation-with-guardicore\u002FLICENSE","https:\u002F\u002Fgithub.com\u002FHoronomos-laps\u002FYana-AI\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fimplementing-microsegmentation-with-guardicore\u002FSKILL.md",[],[],{"skillNo":90,"name":91,"nameZh":6,"description":6,"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":94,"publishedAt":19},"01M736TK27QMCXK0DVCH25SJN5","ramdisk-tmpfs-patterns","https:\u002F\u002Fgithub.com\u002FHoronomos-laps\u002FYana-AI\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Framdisk-tmpfs-patterns\u002FSKILL.md",[],[]]