[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6BV4R6YDF0HYV4RCZBSF4TR":3,"skill-same:01M6BV4R6YDF0HYV4RCZBSF4TR":83},{"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":28,"publishedAt":58,"linkOnly":59,"markdownContent":60,"markdownBody":61,"frontMatter":62,"refName":63,"commitSha":64,"skillDirectory":65,"forksCount":14,"repositoryHtmlUrl":66,"repositoryHomepageUrl":6,"ownerHtmlUrl":67,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":68,"install":69,"resources":82},"01M6BV4R6YDF0HYV4RCZBSF4TR","code-intel",null,"Router for the three code-intelligence tools — vera (semantic search), codegraph (structural graph\u002Fcall graphs over MCP), and graphify (whole-project knowledge graph spanning code + docs + schemas). Use when finding where logic lives, tracing callers\u002Fcallees\u002Fimpact, or navigating a large or polyglot codebase — whether unfamiliar or one worked in daily. Picks the right layer (comprehend \u002F locate \u002F traverse) and defers to each tool's own skill, MCP server, or CLI for detailed usage.","bnferguson\u002Fdotfiles","bnferguson","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F47749?v=4","01M6BV4H2TJKK8P14W86V1ZCPP","Brandon Ferguson","01M6BV4H7GJWTZJ1BVHQ1TX11Y",0,"MIT","https:\u002F\u002Fgithub.com\u002Fbnferguson\u002Fdotfiles\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fcode-intel\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57],"code","code intel","knowledge","when","for","code-intelligence","usage","impact","structural","project","project knowledge","three","call","daily","use","tool","MCP","graphify","Tools","server","tracing","knowledge graph","graph","search","polyglot","semantic search","mcp server","docs","cli","2026-11-10 10:12:30",false,"---\nname: code-intel\ndescription: Router for the three code-intelligence tools — vera (semantic search), codegraph (structural graph\u002Fcall graphs over MCP), and graphify (whole-project knowledge graph spanning code + docs + schemas). Use when finding where logic lives, tracing callers\u002Fcallees\u002Fimpact, or navigating a large or polyglot codebase — whether unfamiliar or one worked in daily. Picks the right layer (comprehend \u002F locate \u002F traverse) and defers to each tool's own skill, MCP server, or CLI for detailed usage.\n---\n\n# Code Intelligence\n\nThree tools, three zoom levels. They are complementary, not competing — pick the layer that matches the question.\n\n| Layer | Tool | Answers | Mechanism |\n|---|---|---|---|\n| **Comprehend** | graphify | \"What *is* this project, how do the big pieces (incl. docs\u002Fschema) connect?\" | Multimodal knowledge graph, snapshot |\n| **Locate** | vera | \"Where's the code about X?\" when you don't know the symbol name | Embedding semantic search |\n| **Traverse** | codegraph | \"Who calls this? What does it call? Blast radius of a change?\" | Structural call graph, live over MCP |\n| **Resolve** | LSP \u002F ast-grep | \"What exactly is this symbol, and what are its *real* references?\" | Compiler truth; AST patterns. No index |\n\nThe first three need a built index and go stale between refreshes. The fourth\nneeds nothing and is always available — reach for it freely, including in small\nrepos where indexing isn't worth it.\n\n## When to reach for this\n\nThe disqualifier is **size, not familiarity**: if the repo is small enough to just read the relevant files, skip the indexes — LSP + grep are faster. Otherwise it pays off, and a repo *you* know cold still qualifies, because I start every session cold even when you don't.\n\nIndex when a repo is **large, polyglot, long-lived, or already has a `.codegraph\u002F` or `.vera\u002F` index**. Skip a 20-file utility.\n\n**Default to the index when one exists** — don't wait to be asked. If the repo has a `.codegraph\u002F`, reach for codegraph's MCP tools over grep\u002FRead for navigation; if it has a `.vera\u002F`, prefer `vera search` over broad text search.\n\n### Two modes\n\n- **Exploring an unfamiliar repo** — work the layers in order: `graphify` to comprehend, `vera` to locate, `codegraph` to traverse.\n- **Daily work in a repo you own** — codegraph and vera both run ambiently (see *Staying fresh without asking*), so lead with codegraph for navigation and impact checks. Reach for `vera` when you cross into code you didn't write, and `graphify` only for architecture questions or a refactor. This is the default when the index is present — no special prompt needed.\n\n## Routing\n\n| You need to… | Use | How |\n|---|---|---|\n| Orient in an unfamiliar repo; map architecture and how code + docs + schema connect | **graphify** | `\u002Fgraphify .` (in-agent) then read `graphify-out\u002FGRAPH_REPORT.md`, or `graphify query \"\u003Cquestion>\"` |\n| Find where behavior lives without knowing the name | **vera** | `vera search \"validates JWT expiry\"` |\n| Exact string, regex, import, or TODO | **vera** (or `rg`) | `vera grep \"pattern\"` |\n| Trace who calls a symbol \u002F what it calls | **codegraph** | MCP `codegraph_callers` \u002F `codegraph_callees` (CLI: `codegraph callers \u003Csym>`) |\n| Assess the blast radius before changing a symbol | **codegraph** | MCP `codegraph_impact` (CLI: `codegraph impact \u003Csym>`) |\n| Enumerate the *exact* references to a symbol (before a rename or signature change) | **LSP** | `lsp_references` in pi; grep both over- and under-reports — it hits comments and misses aliased imports |\n| Rename a symbol safely | **LSP** | `lsp_rename` — only the language server knows which occurrences are the same symbol |\n| Match a code *shape* rather than a literal string | **ast-grep** | `ast-grep run -p '$A.then($B)'` — immune to formatting and line breaks |\n| Mechanical multi-file refactor | **ast-grep** | `ast-grep run -p \u003Cpat> -r \u003Crewrite>`; check `codegraph impact` first |\n| Build task context (entry points + related symbols, few calls) | **codegraph** | MCP `codegraph_context \"\u003Ctask>\"` |\n\nWhen codegraph's MCP tools are available, prefer them over re-deriving structure with grep — answer directly rather than delegating to file-reading sub-agents (that erases the savings).\n\n## Per-tool detail\n\n- **vera** — see the `vera` skill for full `search` \u002F `grep` \u002F `references` \u002F `overview` flags. Index with `vera index .`; a watcher normally keeps it current, so `vera update .` is only for a repo you are not watching.\n- **codegraph** — MCP tools: `codegraph_context`, `codegraph_search`, `codegraph_callers`, `codegraph_callees`, `codegraph_impact`, `codegraph_node`, `codegraph_files`, `codegraph_status`. Same verbs exist as CLI subcommands. Index with `codegraph init` + `codegraph index`; the file watcher auto-syncs while `serve --mcp` runs. 19+ languages (no shell\u002Fzsh).\n- **graphify** — the full graph is built **in-agent** with `\u002Fgraphify .` (the session supplies the LLM for semantic extraction); the CLI's `graphify update .` does a code-only AST graph with **no LLM**. Both write `graphify-out\u002F` (graph.json, GRAPH_REPORT.md; HTML viz only under ~5k nodes). Query with `graphify query \"…\"`, `graphify path \"A\" \"B\"`, `graphify explain \"Symbol\"`.\n\n## Overlap — which wins\n\n- **Structural references:** codegraph beats `vera references` (true call edges vs. embedding-derived). Use codegraph to traverse.\n- **Semantic search:** vera is the only one that finds code by *meaning*. That's its unique slice.\n- **Non-code:** graphify is the only one that maps docs, schemas, and infra alongside code.\n- **References for a refactor:** LSP beats codegraph — it's compiler-exact within a project and never stale. codegraph wins on breadth (whole repo, cross-language, no per-language server needed).\n- **Renames:** LSP always. `ast-grep -r` and sed only know what *looks* alike, which is how a rename quietly corrupts a comment or an unrelated same-named field.\n\n## Setup per project\n\nIndexes are built on demand, not at install. The `code-intel` helper drives all three at once:\n\n```sh\ncode-intel init       # build all three indexes (+ graphify commit hook)\ncode-intel refresh    # update them after edits\ncode-intel status     # show index state per tool\ncode-intel watch      # keep vera fresh as files change (see below)\n```\n\n### Staying fresh without asking\n\n`refresh` is for the case where nothing is watching. Normally nothing needs to\nrun, because each tool has its own cadence:\n\n| Tool | Kept fresh by | Cadence |\n|---|---|---|\n| codegraph | its own file watcher, inside `serve --mcp` | live, whole session |\n| vera | one detached `vera watch` per worktree | live, 2s debounce |\n| graphify | the `graphify hook install` commit hook | per commit |\n\nOnly vera needed wiring. A Claude Code SessionStart hook, plus a PostToolUse\nhook on file edits, runs `code-intel watch --ensure`, which starts a watcher\nunless one is already alive — the hot path is a single `kill -0`. The watcher\noutlives the session on purpose: interrupting a running `vera update` corrupts\nits content-hash bookkeeping, so it exits itself after\n`CODE_INTEL_WATCH_IDLE_MIN` minutes (default 120) of no index activity instead\nof being killed at session end. `code-intel watch --status` lists every running\nwatcher and `--stop` (or `--stop --all`) ends them.\n\ngraphify stays on commits deliberately: its full graph needs in-agent LLM\nextraction, so a per-keystroke rebuild would be slow and would drop the\nsemantic layer.\n\nOr per tool: `vera index .` \u002F `vera update .` (or `vera watch .` for live freshness); `codegraph init` + `codegraph index` \u002F `codegraph sync` (auto-syncs while its MCP server runs); `\u002Fgraphify .` in-agent for the full graph or `graphify update .` for a code-only CLI build (`graphify hook install` rebuilds on each commit).\n\n`.vera\u002F`, `.codegraph\u002F`, and `graphify-out\u002F` are gitignored globally. Install\u002Fupgrade the tools with the `code-intel` topic (`code-intel\u002Finstall.sh`).\n\nNo project index is needed for the resolve layer. `ast-grep` comes from the Brewfile\u002Fpacman list. The shared language-server baseline (`typescript-language-server`, TypeScript, `gopls`, and `pyright`) is managed by mise; Rust uses rustup's `rust-analyzer` component, while Pi also reuses Neovim Mason servers.\n\n## In pi\n\npi has no MCP, so these are exposed as native tools by the `code-intel` and `lsp`\nextensions instead (`pi\u002Fconfig\u002Fextensions\u002F`, documented in `pi\u002FREADME.md`): `cg_*`,\n`vera_search`, `ast_search`\u002F`ast_rewrite`, and `lsp_*`. `\u002Fcode-intel strict`\nthere removes text search entirely, which is the honest way to test whether this\nlayer actually helps.\n","# Code Intelligence\n\nThree tools, three zoom levels. They are complementary, not competing — pick the layer that matches the question.\n\n| Layer | Tool | Answers | Mechanism |\n|---|---|---|---|\n| **Comprehend** | graphify | \"What *is* this project, how do the big pieces (incl. docs\u002Fschema) connect?\" | Multimodal knowledge graph, snapshot |\n| **Locate** | vera | \"Where's the code about X?\" when you don't know the symbol name | Embedding semantic search |\n| **Traverse** | codegraph | \"Who calls this? What does it call? Blast radius of a change?\" | Structural call graph, live over MCP |\n| **Resolve** | LSP \u002F ast-grep | \"What exactly is this symbol, and what are its *real* references?\" | Compiler truth; AST patterns. No index |\n\nThe first three need a built index and go stale between refreshes. The fourth\nneeds nothing and is always available — reach for it freely, including in small\nrepos where indexing isn't worth it.\n\n## When to reach for this\n\nThe disqualifier is **size, not familiarity**: if the repo is small enough to just read the relevant files, skip the indexes — LSP + grep are faster. Otherwise it pays off, and a repo *you* know cold still qualifies, because I start every session cold even when you don't.\n\nIndex when a repo is **large, polyglot, long-lived, or already has a `.codegraph\u002F` or `.vera\u002F` index**. Skip a 20-file utility.\n\n**Default to the index when one exists** — don't wait to be asked. If the repo has a `.codegraph\u002F`, reach for codegraph's MCP tools over grep\u002FRead for navigation; if it has a `.vera\u002F`, prefer `vera search` over broad text search.\n\n### Two modes\n\n- **Exploring an unfamiliar repo** — work the layers in order: `graphify` to comprehend, `vera` to locate, `codegraph` to traverse.\n- **Daily work in a repo you own** — codegraph and vera both run ambiently (see *Staying fresh without asking*), so lead with codegraph for navigation and impact checks. Reach for `vera` when you cross into code you didn't write, and `graphify` only for architecture questions or a refactor. This is the default when the index is present — no special prompt needed.\n\n## Routing\n\n| You need to… | Use | How |\n|---|---|---|\n| Orient in an unfamiliar repo; map architecture and how code + docs + schema connect | **graphify** | `\u002Fgraphify .` (in-agent) then read `graphify-out\u002FGRAPH_REPORT.md`, or `graphify query \"\u003Cquestion>\"` |\n| Find where behavior lives without knowing the name | **vera** | `vera search \"validates JWT expiry\"` |\n| Exact string, regex, import, or TODO | **vera** (or `rg`) | `vera grep \"pattern\"` |\n| Trace who calls a symbol \u002F what it calls | **codegraph** | MCP `codegraph_callers` \u002F `codegraph_callees` (CLI: `codegraph callers \u003Csym>`) |\n| Assess the blast radius before changing a symbol | **codegraph** | MCP `codegraph_impact` (CLI: `codegraph impact \u003Csym>`) |\n| Enumerate the *exact* references to a symbol (before a rename or signature change) | **LSP** | `lsp_references` in pi; grep both over- and under-reports — it hits comments and misses aliased imports |\n| Rename a symbol safely | **LSP** | `lsp_rename` — only the language server knows which occurrences are the same symbol |\n| Match a code *shape* rather than a literal string | **ast-grep** | `ast-grep run -p '$A.then($B)'` — immune to formatting and line breaks |\n| Mechanical multi-file refactor | **ast-grep** | `ast-grep run -p \u003Cpat> -r \u003Crewrite>`; check `codegraph impact` first |\n| Build task context (entry points + related symbols, few calls) | **codegraph** | MCP `codegraph_context \"\u003Ctask>\"` |\n\nWhen codegraph's MCP tools are available, prefer them over re-deriving structure with grep — answer directly rather than delegating to file-reading sub-agents (that erases the savings).\n\n## Per-tool detail\n\n- **vera** — see the `vera` skill for full `search` \u002F `grep` \u002F `references` \u002F `overview` flags. Index with `vera index .`; a watcher normally keeps it current, so `vera update .` is only for a repo you are not watching.\n- **codegraph** — MCP tools: `codegraph_context`, `codegraph_search`, `codegraph_callers`, `codegraph_callees`, `codegraph_impact`, `codegraph_node`, `codegraph_files`, `codegraph_status`. Same verbs exist as CLI subcommands. Index with `codegraph init` + `codegraph index`; the file watcher auto-syncs while `serve --mcp` runs. 19+ languages (no shell\u002Fzsh).\n- **graphify** — the full graph is built **in-agent** with `\u002Fgraphify .` (the session supplies the LLM for semantic extraction); the CLI's `graphify update .` does a code-only AST graph with **no LLM**. Both write `graphify-out\u002F` (graph.json, GRAPH_REPORT.md; HTML viz only under ~5k nodes). Query with `graphify query \"…\"`, `graphify path \"A\" \"B\"`, `graphify explain \"Symbol\"`.\n\n## Overlap — which wins\n\n- **Structural references:** codegraph beats `vera references` (true call edges vs. embedding-derived). Use codegraph to traverse.\n- **Semantic search:** vera is the only one that finds code by *meaning*. That's its unique slice.\n- **Non-code:** graphify is the only one that maps docs, schemas, and infra alongside code.\n- **References for a refactor:** LSP beats codegraph — it's compiler-exact within a project and never stale. codegraph wins on breadth (whole repo, cross-language, no per-language server needed).\n- **Renames:** LSP always. `ast-grep -r` and sed only know what *looks* alike, which is how a rename quietly corrupts a comment or an unrelated same-named field.\n\n## Setup per project\n\nIndexes are built on demand, not at install. The `code-intel` helper drives all three at once:\n\n```sh\ncode-intel init       # build all three indexes (+ graphify commit hook)\ncode-intel refresh    # update them after edits\ncode-intel status     # show index state per tool\ncode-intel watch      # keep vera fresh as files change (see below)\n```\n\n### Staying fresh without asking\n\n`refresh` is for the case where nothing is watching. Normally nothing needs to\nrun, because each tool has its own cadence:\n\n| Tool | Kept fresh by | Cadence |\n|---|---|---|\n| codegraph | its own file watcher, inside `serve --mcp` | live, whole session |\n| vera | one detached `vera watch` per worktree | live, 2s debounce |\n| graphify | the `graphify hook install` commit hook | per commit |\n\nOnly vera needed wiring. A Claude Code SessionStart hook, plus a PostToolUse\nhook on file edits, runs `code-intel watch --ensure`, which starts a watcher\nunless one is already alive — the hot path is a single `kill -0`. The watcher\noutlives the session on purpose: interrupting a running `vera update` corrupts\nits content-hash bookkeeping, so it exits itself after\n`CODE_INTEL_WATCH_IDLE_MIN` minutes (default 120) of no index activity instead\nof being killed at session end. `code-intel watch --status` lists every running\nwatcher and `--stop` (or `--stop --all`) ends them.\n\ngraphify stays on commits deliberately: its full graph needs in-agent LLM\nextraction, so a per-keystroke rebuild would be slow and would drop the\nsemantic layer.\n\nOr per tool: `vera index .` \u002F `vera update .` (or `vera watch .` for live freshness); `codegraph init` + `codegraph index` \u002F `codegraph sync` (auto-syncs while its MCP server runs); `\u002Fgraphify .` in-agent for the full graph or `graphify update .` for a code-only CLI build (`graphify hook install` rebuilds on each commit).\n\n`.vera\u002F`, `.codegraph\u002F`, and `graphify-out\u002F` are gitignored globally. Install\u002Fupgrade the tools with the `code-intel` topic (`code-intel\u002Finstall.sh`).\n\nNo project index is needed for the resolve layer. `ast-grep` comes from the Brewfile\u002Fpacman list. The shared language-server baseline (`typescript-language-server`, TypeScript, `gopls`, and `pyright`) is managed by mise; Rust uses rustup's `rust-analyzer` component, while Pi also reuses Neovim Mason servers.\n\n## In pi\n\npi has no MCP, so these are exposed as native tools by the `code-intel` and `lsp`\nextensions instead (`pi\u002Fconfig\u002Fextensions\u002F`, documented in `pi\u002FREADME.md`): `cg_*`,\n`vera_search`, `ast_search`\u002F`ast_rewrite`, and `lsp_*`. `\u002Fcode-intel strict`\nthere removes text search entirely, which is the honest way to test whether this\nlayer actually helps.\n",{"name":5,"description":7},"main","e63965e4644984470d4cc8b3014a8b001f0c2666",".agents\u002Fskills\u002Fcode-intel","https:\u002F\u002Fgithub.com\u002Fbnferguson\u002Fdotfiles","https:\u002F\u002Fgithub.com\u002Fbnferguson","2026-11-11 03:04:59",{"source":8,"skillName":5,"commands":70,"prompt":80,"zipAvailable":81},[71,74,77],{"tool":72,"command":73},"npx","npx skills add bnferguson\u002Fdotfiles --skill code-intel",{"tool":75,"command":76},"bunx","bunx skills add bnferguson\u002Fdotfiles --skill code-intel",{"tool":78,"command":79},"pnpm","pnpm dlx skills add bnferguson\u002Fdotfiles --skill code-intel","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fbnferguson\u002Fdotfiles\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fcode-intel\u002FSKILL.md",true,[],[84,109,124,154,163,176],{"skillNo":85,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":88,"licenseFileUrl":89,"sourceHtmlUrl":90,"categories":91,"keywords":93,"publishedAt":58},"01M6BVA3RS3M016FANZ6792F9H","skill-creator","Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fbnferguson\u002Fdotfiles\u002Fblob\u002Fmain\u002Fclaude\u002Fconfig\u002Fskills\u002Fskill-creator\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fbnferguson\u002Fdotfiles\u002Fblob\u002Fmain\u002Fclaude\u002Fconfig\u002Fskills\u002Fskill-creator\u002FSKILL.md",[92],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[94,95,96,97,98,99,100,31,44,101,102,103,104,105,106,33,107,32,108],"creator","skill creator","specialized","workflows","create","update","capabilities","integrations","guide","new skill","existing skill","users","with","Existing","new",{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":121,"publishedAt":58},"01M6BV94WN2RPYM8N6PN8TBNT8","writing-shape","Writing, exploit: shape raw material into an article, paragraph by paragraph.","https:\u002F\u002Fgithub.com\u002Fbnferguson\u002Fdotfiles\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fwriting-shape\u002FSKILL.md",[115,118],{"categoryNo":116,"categoryName":117,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":119,"categoryName":120,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000036","内容创作者",[122,123],"writing shape","writing",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":88,"licenseFileUrl":128,"sourceHtmlUrl":129,"categories":130,"keywords":137,"publishedAt":58},"01M6BV8QDFJ6PXBVK5NFBZT5M7","webapp-testing","Test local web applications using Playwright. Use when verifying frontend functionality, debugging UI behavior, capturing browser screenshots, or viewing browser logs.","https:\u002F\u002Fgithub.com\u002Fbnferguson\u002Fdotfiles\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fwebapp-testing\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fbnferguson\u002Fdotfiles\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fwebapp-testing\u002FSKILL.md",[131,134],{"categoryNo":132,"categoryName":133,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":135,"categoryName":136,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",[138,139,140,141,142,143,144,145,146,147,148,149,150,151,43,152,153,32],"webapp","webapp testing","testing","browser","frontend","screenshots","playwright","test","web","debugging","ui","logs","applications","behavior","local","test local",{"skillNo":155,"name":156,"nameZh":6,"description":157,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":158,"categories":159,"keywords":160,"publishedAt":58},"01M6BV8MDXKXNVHKS3QF3YDFTF","wait-what","Stop. That last message did not land: re-pitch it.","https:\u002F\u002Fgithub.com\u002Fbnferguson\u002Fdotfiles\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fwait-what\u002FSKILL.md",[],[161,162],"wait what","land",{"skillNo":164,"name":165,"nameZh":6,"description":166,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":167,"categories":168,"keywords":172,"publishedAt":58},"01M6BV756DJHT5BDA1HVRVHJJ7","prototype","Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.","https:\u002F\u002Fgithub.com\u002Fbnferguson\u002Fdotfiles\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fprototype\u002FSKILL.md",[169],{"categoryNo":170,"categoryName":171,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000032","设计师",[165,173,174,148,175],"design","explore","state",{"skillNo":177,"name":178,"nameZh":6,"description":179,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":180,"categories":181,"keywords":183,"publishedAt":58},"01M6BV6SBW166685KVBPWM2K4N","improve-codebase-architecture","Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.","https:\u002F\u002Fgithub.com\u002Fbnferguson\u002Fdotfiles\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fimprove-codebase-architecture\u002FSKILL.md",[182],{"categoryNo":135,"categoryName":136,"taxonomyType":21,"taxonomyTypeDesc":22},[184,185,186,187],"architecture","improve","improve codebase architecture","report"]