[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71S83SD7WWZ2MZBGSJDCW5F":3,"skill-same:01M71S83SD7WWZ2MZBGSJDCW5F":79},{"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":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":49,"commitSha":50,"skillDirectory":51,"forksCount":52,"repositoryHtmlUrl":53,"repositoryHomepageUrl":54,"ownerHtmlUrl":55,"ownerBlogUrl":56,"ownerDescription":57,"updatedAt":58,"install":59,"resources":72},"01M71S83SD7WWZ2MZBGSJDCW5F","code-discovery",null,"Use when discovering or navigating a codebase before planning, implementing, debugging, or refactoring — prefer a Graphify code-graph query over broad Glob\u002FGrep\u002FRead to cut token cost, with automatic fallback to grep when Graphify is absent, stale, or unhealthy.","HigorAlves\u002Forc","HigorAlves","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F11262976?v=4","01M71S79EZEMHZ8PQSV0XQJHYY","Higor Alves","01M71S79FKKTCHCN1EDR8DSTWQ",7,"MIT","https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc\u002Fblob\u002Fmain\u002Fcodex\u002Forc\u002Fcontent\u002Fskills\u002Fcode-discovery\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"discovery","code discovery","code","cost","with","graph query","use","planning","fallback","graph","automatic","graphify","token","read","cut","refactoring","query","when","debugging","implementing","2026-11-10 13:02:02",false,"---\nname: code-discovery\ndescription: Use when discovering or navigating a codebase before planning, implementing, debugging, or refactoring — prefer a Graphify code-graph query over broad Glob\u002FGrep\u002FRead to cut token cost, with automatic fallback to grep when Graphify is absent, stale, or unhealthy.\n---\n\n# Code Discovery\n\nDiscovery — finding the code relevant to a task before changing it — is the largest easily-wasted token cost in a session. When [Graphify](https:\u002F\u002Fgithub.com\u002FGraphify-Labs\u002Fgraphify) is available, query the pre-built code graph and `Read` only the cited `source_location`s instead of grepping the tree. Graphify is optional and pre-1.0: every step below is guarded and **falls back to plain Glob\u002FGrep\u002FRead** — discovery never hard-blocks on it.\n\n## The protocol\n\n1. **Detect + health-check.** `command -v graphify`; graph exists at `graphify-out\u002Fgraph.json`; graph fresh (`built_at_commit` in graph.json == `git rev-parse HEAD`, or `graphify check-update .` is clean). Binary absent → step 5; never prompt to install (SessionStart tool-check already surfaces it).\n2. **Build\u002Frefresh when missing or stale** — pure local AST, no API key, seconds: `graphify extract . --code-only` (missing) or `graphify update .` (stale). Mention it in interactive commands; just do it in dispatched agents. Build fails → step 5, no retry loop. Never run a semantic (non-`--code-only`) build for discovery.\n3. **Load lessons once, if present.** `Read` `graphify-out\u002Freflections\u002FLESSONS.md` before the first query (bounded ≈1500 tokens); prefer its listed nodes, skip its dead ends. Lessons are hints, not ground truth. Absent → skip silently. You only *consume* lessons — the orchestrating command records outcomes at a verified gate, so surface which graph nodes you relied on.\n4. **Query-first.** Answer structural questions by traversal, most-specific verb first:\n   ```bash\n   graphify query \"where is auth wired to the database?\" --budget 1500\n   graphify explain \"RateLimiter\"          # one symbol and its connections\n   graphify path \"UserService\" \"DatabasePool\"\n   graphify affected \"processRefund\" --depth 2   # reverse blast radius — leads, not verdicts\n   ```\n   Then `Read` only the cited `source_location`s. Noisy answer → raise `--budget` or rephrase before abandoning the graph. Verify every cited caller by reading it — never claim \"all callers handled\" from graph output alone, least of all from a stale graph. A verb that errors or emits unparseable output → treat the graph as unavailable for that question and fall back (probe new verbs with `graphify \u003Cverb> --help`).\n5. **Fallback** (absent \u002F stale \u002F failed \u002F empty): `Glob` candidates, `Grep` symbols, `Read` immediate dependencies. Graceful degradation, not an error — say nothing alarming.\n6. **Keep the graph out of version control** (repo-local exclude, no tracked-file diff):\n   ```bash\n   grep -qxF 'graphify-out\u002F' .git\u002Finfo\u002Fexclude 2>\u002Fdev\u002Fnull || echo 'graphify-out\u002F' >> .git\u002Finfo\u002Fexclude\n   ```\n\n## Honesty rules\n\n- Never claim you used the graph when you grepped, or vice-versa.\n- The graph points; the code decides — read cited sources before asserting.\n- Freshness is load-bearing for any completeness claim: stale graph → refresh or grep the changed area.\n\nDeep detail — verb catalog with caveats, `--budget` discipline, LESSONS.md mechanics, worktree exclude paths: [GRAPHIFY.md](references\u002FGRAPHIFY.md) (interactive sessions only; this body is self-sufficient for preloaded agents).\n","# Code Discovery\n\nDiscovery — finding the code relevant to a task before changing it — is the largest easily-wasted token cost in a session. When [Graphify](https:\u002F\u002Fgithub.com\u002FGraphify-Labs\u002Fgraphify) is available, query the pre-built code graph and `Read` only the cited `source_location`s instead of grepping the tree. Graphify is optional and pre-1.0: every step below is guarded and **falls back to plain Glob\u002FGrep\u002FRead** — discovery never hard-blocks on it.\n\n## The protocol\n\n1. **Detect + health-check.** `command -v graphify`; graph exists at `graphify-out\u002Fgraph.json`; graph fresh (`built_at_commit` in graph.json == `git rev-parse HEAD`, or `graphify check-update .` is clean). Binary absent → step 5; never prompt to install (SessionStart tool-check already surfaces it).\n2. **Build\u002Frefresh when missing or stale** — pure local AST, no API key, seconds: `graphify extract . --code-only` (missing) or `graphify update .` (stale). Mention it in interactive commands; just do it in dispatched agents. Build fails → step 5, no retry loop. Never run a semantic (non-`--code-only`) build for discovery.\n3. **Load lessons once, if present.** `Read` `graphify-out\u002Freflections\u002FLESSONS.md` before the first query (bounded ≈1500 tokens); prefer its listed nodes, skip its dead ends. Lessons are hints, not ground truth. Absent → skip silently. You only *consume* lessons — the orchestrating command records outcomes at a verified gate, so surface which graph nodes you relied on.\n4. **Query-first.** Answer structural questions by traversal, most-specific verb first:\n   ```bash\n   graphify query \"where is auth wired to the database?\" --budget 1500\n   graphify explain \"RateLimiter\"          # one symbol and its connections\n   graphify path \"UserService\" \"DatabasePool\"\n   graphify affected \"processRefund\" --depth 2   # reverse blast radius — leads, not verdicts\n   ```\n   Then `Read` only the cited `source_location`s. Noisy answer → raise `--budget` or rephrase before abandoning the graph. Verify every cited caller by reading it — never claim \"all callers handled\" from graph output alone, least of all from a stale graph. A verb that errors or emits unparseable output → treat the graph as unavailable for that question and fall back (probe new verbs with `graphify \u003Cverb> --help`).\n5. **Fallback** (absent \u002F stale \u002F failed \u002F empty): `Glob` candidates, `Grep` symbols, `Read` immediate dependencies. Graceful degradation, not an error — say nothing alarming.\n6. **Keep the graph out of version control** (repo-local exclude, no tracked-file diff):\n   ```bash\n   grep -qxF 'graphify-out\u002F' .git\u002Finfo\u002Fexclude 2>\u002Fdev\u002Fnull || echo 'graphify-out\u002F' >> .git\u002Finfo\u002Fexclude\n   ```\n\n## Honesty rules\n\n- Never claim you used the graph when you grepped, or vice-versa.\n- The graph points; the code decides — read cited sources before asserting.\n- Freshness is load-bearing for any completeness claim: stale graph → refresh or grep the changed area.\n\nDeep detail — verb catalog with caveats, `--budget` discipline, LESSONS.md mechanics, worktree exclude paths: [GRAPHIFY.md](references\u002FGRAPHIFY.md) (interactive sessions only; this body is self-sufficient for preloaded agents).\n",{"name":5,"description":7},"main","7522fd7266944e30052204c2f6df287d8b5516be","codex\u002Forc\u002Fcontent\u002Fskills\u002Fcode-discovery",0,"https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc","https:\u002F\u002Forc.novacstack.com\u002F","https:\u002F\u002Fgithub.com\u002FHigorAlves","higoralves.dev","Software Engineering","2026-11-07 07:26:38",{"source":8,"skillName":5,"commands":60,"prompt":70,"zipAvailable":71},[61,64,67],{"tool":62,"command":63},"npx","npx skills add HigorAlves\u002Forc --skill code-discovery",{"tool":65,"command":66},"bunx","bunx skills add HigorAlves\u002Forc --skill code-discovery",{"tool":68,"command":69},"pnpm","pnpm dlx skills add HigorAlves\u002Forc --skill code-discovery","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc\u002Fblob\u002Fmain\u002Fcodex\u002Forc\u002Fcontent\u002Fskills\u002Fcode-discovery\u002FSKILL.md",true,[73],{"path":74,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":77,"sourceHtmlUrl":78},"references\u002FGRAPHIFY.md","REFERENCE","参考文档",3738,"https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc\u002Fblob\u002Fmain\u002Fcodex\u002Forc\u002Fcontent\u002Fskills\u002Fcode-discovery\u002Freferences\u002FGRAPHIFY.md",[80,113,139,160,182,202],{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":95,"publishedAt":44},"01M71SW40F9TAAEDKBYYBCM814","writing-plans","Write a comprehensive implementation plan of bite-sized TDD tasks that an engineer with zero codebase context could execute — exact files, code, tests, and verification steps","https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc\u002Fblob\u002Fmain\u002Forc\u002Fskills\u002Fwriting-plans\u002FSKILL.md",[86,91,92],{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":93,"categoryName":94,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000036","内容创作者",[96,97,98,99,100,101,102,41,103,26,104,105,106,107,108,109,110,111,112,30],"writing","writing plans","plans","engineer","superpowers","implementation plan","files","you","tasks","verification","plan","write","steps","context","ZeRO","for","tests",{"skillNo":114,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":124,"publishedAt":44},"01M71SW15KHE4MHJW9NEXV65X2","writing-for-agents","orc's doctrine layer for writing any document an agent consumes — skills, AGENTS.md\u002FCLAUDE.md, reference docs","https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc\u002Fblob\u002Fmain\u002Forc\u002Fskills\u002Fwriting-for-agents\u002FSKILL.md",[119,120,123],{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},{"categoryNo":121,"categoryName":122,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":93,"categoryName":94,"taxonomyType":21,"taxonomyTypeDesc":22},[125,96,111,126,41,127,128,129,130,131,132,133,30,134,135,136,137,138],"writing for agents","matt pocock","inline","tuning","a skill","layer","doctrine","push","editing","document","github","https","reference","docs",{"skillNo":140,"name":141,"nameZh":6,"description":142,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":143,"categories":144,"keywords":146,"publishedAt":44},"01M71SVYQKXT743HHHWGHT3G13","workspace-mode","Use when cwd is a parent dir holding multiple sibling git repos — defines repo auto-detection, --repos\u002F--repo\u002F--all-repos\u002F--this-repo precedence, per-repo dispatch, and linked-PR mechanics.","https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc\u002Fblob\u002Fmain\u002Forc\u002Fskills\u002Fworkspace-mode\u002FSKILL.md",[145],{"categoryNo":121,"categoryName":122,"taxonomyType":89,"taxonomyTypeDesc":90},[147,148,149,150,151,41,152,153,154,155,30,156,157,158,159],"workspace mode","mode","workspace","mechanics","auto","repos","git","pr","repo","dispatch","auto-detection","detection","parent",{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":167,"publishedAt":44},"01M71SVVP3BXS06G9395P2K0RH","wizard","Generate an interactive bash wizard walking a human through work only they can perform — credentials, secrets, one-off migrations","https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc\u002Fblob\u002Fmain\u002Forc\u002Fskills\u002Fwizard\u002FSKILL.md",[166],{"categoryNo":121,"categoryName":122,"taxonomyType":89,"taxonomyTypeDesc":90},[162,168,169,170,171,126,41,172,173,174,175,176,177,108,178,179,111,30,180,181],"condition","never","provisioning infrastructure","only","Bash","work","credentials","generate","human","secrets","infrastructure","do","one","interactive",{"skillNo":183,"name":184,"nameZh":6,"description":185,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":186,"categories":187,"keywords":188,"publishedAt":44},"01M71SVT4AR6NKAM5B077E7QSJ","wait-what","Stop and re-pitch — the last message did not land; say it again simply, in the project's own vocabulary.","https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc\u002Fblob\u002Fmain\u002Forc\u002Fskills\u002Fwait-what\u002FSKILL.md",[],[189,190,191,192,193,126,194,195,196,197,135,136,198,199,200,201],"wait what","wait","project","re","true","pitch","last","say","message","land","it","stop","vocabulary",{"skillNo":203,"name":204,"nameZh":6,"description":205,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":206,"categories":207,"keywords":212,"publishedAt":44},"01M71SVQVYRA9QBQ6G8MWR8G6F","vitest","Vitest fast unit testing framework powered by Vite with Jest-compatible API","https:\u002F\u002Fgithub.com\u002FHigorAlves\u002Forc\u002Fblob\u002Fmain\u002Forc\u002Fskills\u002Fvitest\u002FSKILL.md",[208,211],{"categoryNo":209,"categoryName":210,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[204,213,214,215,216,217,96,41,218,219,220,221,222,223,224,225,226,227,112,228],"coverage","unit","testing","testing framework","generated","api","jest","2026","at","scripts","unit testing","antfu","framework","vite","mocking","dev"]