[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CCX156VBH2ASB016FN29E3":3,"skill-same:01M6CCX156VBH2ASB016FN29E3":65},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":46,"repositoryHtmlUrl":47,"repositoryHomepageUrl":48,"ownerHtmlUrl":49,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":50,"install":51,"resources":64},"01M6CCX156VBH2ASB016FN29E3","graph-review",null,"Audit Aleph's knowledge graph (`.understand-anything\u002Fknowledge-graph.json`) for code-health signals — orphan nodes, dead-code candidates, R1 brain-limb separation violations, R10 thin-harness budget overrun. Use when the user types `\u002Fgraph-review`, asks to \"audit the graph\", \"check redlines\", \"find orphans\", \"find dead code\", \"verify thin harness\", or wants a code-health pulse before a release \u002F refactor \u002F merge. Requires the graph file to exist — run `\u002Funderstand` first if missing. Wraps `scripts\u002Fgraph-audit.mjs` (no LLM cost, pure deterministic JSON walk).","rootazero\u002FAleph","rootazero","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F124485722?v=4","01M6CCWSEZCM9XS2W4R9XR5YGH","01M6CCWSK4WJ6D0W8VRJNSZZKA",4,"MIT","https:\u002F\u002Fgithub.com\u002Frootazero\u002FAleph\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fgraph-review\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"graph review","graph","review","knowledge-graph","Nodes","cost","use","pulse","check","knowledge","health","verify","first","audit","knowledge graph","file","harness","code","run","merge","2026-11-10 10:12:30",false,"---\nname: graph-review\ndescription: Audit Aleph's knowledge graph (`.understand-anything\u002Fknowledge-graph.json`) for code-health signals — orphan nodes, dead-code candidates, R1 brain-limb separation violations, R10 thin-harness budget overrun. Use when the user types `\u002Fgraph-review`, asks to \"audit the graph\", \"check redlines\", \"find orphans\", \"find dead code\", \"verify thin harness\", or wants a code-health pulse before a release \u002F refactor \u002F merge. Requires the graph file to exist — run `\u002Funderstand` first if missing. Wraps `scripts\u002Fgraph-audit.mjs` (no LLM cost, pure deterministic JSON walk).\n---\n\n# graph-review\n\nRun `scripts\u002Fgraph-audit.mjs` to surface code-health signals derived from `.understand-anything\u002Fknowledge-graph.json`. Default to the `summary` rollup; drill into individual audits only when a check is non-zero or the user asks for specifics.\n\nThis skill is **deterministic**: it reads a static JSON and emits counts\u002Flists. No LLM call inside. Use the model's judgment only for **interpreting** the output and recommending follow-ups.\n\n## Preconditions\n\n- `.understand-anything\u002Fknowledge-graph.json` must exist at the repo root. If absent, tell the user: \"No knowledge graph found. Run `\u002Funderstand` first.\" Do NOT try to regenerate it inside this skill — `\u002Funderstand` is a separate multi-phase pipeline.\n- `node` available on PATH (already required by the project).\n\n## Workflow\n\n1. **Rollup first** — get one-line counts per check:\n   ```bash\n   node scripts\u002Fgraph-audit.mjs summary\n   ```\n2. **Decide drill-in scope** based on rollup:\n   - `orphans > 0` → run `orphans`. After Phase 7 cohort-wiring this should always be 0; a non-zero means `\u002Funderstand` was interrupted or the graph is stale.\n   - `dead-code > 0` is expected and noisy — only drill if user explicitly asks. Always preface with the under-capture caveat (see Caveats).\n   - `redline-r1 > 0` → run `redline-r1`. Every hit is a real R1 violation (sandbox bridges already excluded).\n   - `redline-r10 > 0` → run `redline-r10`. Means `src\u002Fharness\u002F` exceeded 12 files; check whether new file is justified per CLAUDE.md R10 \"3 questions before adding code\".\n3. **Drill in** with the relevant subcommand and `--limit=N` to widen lists:\n   ```bash\n   node scripts\u002Fgraph-audit.mjs redline-r1 --limit=50\n   node scripts\u002Fgraph-audit.mjs dead-code --json | jq '.items[] | select(.file | startswith(\"src\u002Fgateway\u002F\"))'\n   ```\n4. **Cross-check before recommending fixes** — especially for dead-code (see Caveats). Use `rg`, `cargo machete`, or IDE find-usages.\n\n## Commands\n\n| Command | Output | Notes |\n|---|---|---|\n| `summary` | One-line counts per audit | Default; safe and fast |\n| `orphans` | Nodes with zero edges | Expected: 0. Non-zero = stale or broken graph |\n| `dead-code` | function\u002Fclass nodes with no inbound `calls` edge | **CANDIDATES only** — see Caveats |\n| `redline-r1` | `src\u002F` files naming platform-native APIs (AppKit \u002F Vision \u002F win32 \u002F objc \u002F cocoa \u002F etc.) | Violates R1 brain-limb separation. `src\u002Fsandbox\u002F` + `src\u002Fbin\u002Faleph-server\u002F` excluded (legitimate bridges) |\n| `redline-r10` | `src\u002Fharness\u002F` `.rs` file count vs. 12-file budget | R10 thin-harness invariant — see CLAUDE.md §R10 |\n\nFlags: `--json` (machine output, pipeable to `jq`), `--limit=N` (default 30, widens lists in human mode), `--graph=path` (point at a non-default graph file — useful for subdomain graphs like `frontend-knowledge-graph.json`), `--scope=prefix\u002F` (restrict audit to nodes whose `filePath` starts with the prefix; trailing `\u002F` auto-appended).\n\n## Module-scoped audits\n\nUse `--scope=\u003Cpath-prefix>` to confine any audit to a subtree. Filtering is on the graph node's `filePath` field, so it covers all 4 audits consistently. Trailing `\u002F` is auto-appended when the prefix has no `.` (avoiding `src\u002Fgateway` accidentally matching `src\u002Fgateway_extras\u002F`).\n\n```bash\n# Only audit src\u002Fgateway\u002F\nnode scripts\u002Fgraph-audit.mjs summary --scope=src\u002Fgateway\u002F\n\n# Only harness dead-code candidates\nnode scripts\u002Fgraph-audit.mjs dead-code --scope=src\u002Fharness\u002F\n\n# R1 violations under a single feature subtree\nnode scripts\u002Fgraph-audit.mjs redline-r1 --scope=src\u002Fbuiltin_tools\u002Fbrowser_tools\u002F\n```\n\nPer-audit behaviour under scope:\n\n| Audit | Scoped behaviour |\n|---|---|\n| `orphans` | Only orphans whose `filePath` is within scope. |\n| `dead-code` | Only function\u002Fclass nodes within scope. Global call-edge stat in warning stays global (not scope-adjusted) — that's intentional, the under-capture is a project-wide signal. |\n| `redline-r1` | Only `src\u002F` files within scope (still excludes bridge subtrees `src\u002Fsandbox\u002F` and `src\u002Fbin\u002Faleph-server\u002F`). |\n| `redline-r10` | If scope doesn't overlap `src\u002Fharness\u002F`, reports **N\u002FA** and returns 0. Otherwise filters harness files by scope. |\n\n**Natural-language triggers** map to scope flags. When the user says:\n- \"审 src\u002Fgateway\u002F\" → `--scope=src\u002Fgateway\u002F`\n- \"只看 harness 的死代码\" → `dead-code --scope=src\u002Fharness\u002F`\n- \"看看 builtin_tools 里的 R1\" → `redline-r1 --scope=src\u002Fbuiltin_tools\u002F`\n\n## Caveats\n\n- **dead-code is severely under-captured.** The graph currently captures ~4.5% of true call edges (~159 calls edges across ~3518 function nodes). The dead-code report will show thousands of false positives. Treat output as **candidates requiring manual verification**, not a deletion list. Always say so when reporting. The fix lives upstream in `\u002Funderstand`'s file-analyzer subagent, not here.\n- **redline-r1 token list is conservative.** Currently tokens like `use objc::`, `use cocoa::`, `use core_graphics::`, `use core_foundation::`, `NSWorkspace`, `AVCaptureDevice`, `CGEvent`, `use windows::`, `use winapi::`, `CheckNetIsolationEnableLoopback`, `CreateProcessW`. Add new tokens as new platform APIs appear in the codebase (edit the `NATIVE_API_TOKENS` array in `scripts\u002Fgraph-audit.mjs`).\n- **redline-r10 file budget is wired to CLAUDE.md §R10.** Current budget: 12 files. If CLAUDE.md is bumped, update `HARNESS_BUDGET` in `scripts\u002Fgraph-audit.mjs` in the same commit — the two must stay in sync.\n- **The script writes nothing.** Pure read. Safe to run repeatedly, including in CI.\n\n## Reporting back to the user\n\nAfter running, summarise in **3-5 lines max**:\n- Which checks passed (one bullet, group them).\n- Which need attention (one bullet per non-zero check, with the count).\n- Top 1-2 candidates worth investigating, if any (with file path).\n\nDo NOT dump full lists into the response. If listing is genuinely needed (e.g., user explicitly asks \"show me all R1 violations\"), prefer `--limit=5` and offer `--limit=N` to widen.\n\nFor R1 \u002F R10 hits, link the redline in `CLAUDE.md`:\n- **R1** — brain-limb separation: no platform-native API calls outside `src\u002Fsandbox\u002F` (OS isolation bridge) and `src\u002Fbin\u002Faleph-server\u002F` (libc\u002Fprocess control).\n- **R10** — thin-harness budget: `src\u002Fharness\u002F` ≤ 12 files \u002F ~4900 LOC. Adding a file requires answering the \"3 questions before adding code\" in CLAUDE.md.\n\n## When NOT to use this skill\n\n- User asks \"who calls function X?\" or \"what does file Y depend on?\" — this skill doesn't do per-symbol drill-down. Suggest `rg`, IDE find-usages, or future MCP server.\n- User wants the dashboard visualisation — invoke `understand-anything:understand-dashboard` instead.\n- Graph is stale (commits since last `\u002Funderstand`) — re-run `\u002Funderstand` first; this skill audits whatever's on disk and won't warn you that the graph is old.\n","# graph-review\n\nRun `scripts\u002Fgraph-audit.mjs` to surface code-health signals derived from `.understand-anything\u002Fknowledge-graph.json`. Default to the `summary` rollup; drill into individual audits only when a check is non-zero or the user asks for specifics.\n\nThis skill is **deterministic**: it reads a static JSON and emits counts\u002Flists. No LLM call inside. Use the model's judgment only for **interpreting** the output and recommending follow-ups.\n\n## Preconditions\n\n- `.understand-anything\u002Fknowledge-graph.json` must exist at the repo root. If absent, tell the user: \"No knowledge graph found. Run `\u002Funderstand` first.\" Do NOT try to regenerate it inside this skill — `\u002Funderstand` is a separate multi-phase pipeline.\n- `node` available on PATH (already required by the project).\n\n## Workflow\n\n1. **Rollup first** — get one-line counts per check:\n   ```bash\n   node scripts\u002Fgraph-audit.mjs summary\n   ```\n2. **Decide drill-in scope** based on rollup:\n   - `orphans > 0` → run `orphans`. After Phase 7 cohort-wiring this should always be 0; a non-zero means `\u002Funderstand` was interrupted or the graph is stale.\n   - `dead-code > 0` is expected and noisy — only drill if user explicitly asks. Always preface with the under-capture caveat (see Caveats).\n   - `redline-r1 > 0` → run `redline-r1`. Every hit is a real R1 violation (sandbox bridges already excluded).\n   - `redline-r10 > 0` → run `redline-r10`. Means `src\u002Fharness\u002F` exceeded 12 files; check whether new file is justified per CLAUDE.md R10 \"3 questions before adding code\".\n3. **Drill in** with the relevant subcommand and `--limit=N` to widen lists:\n   ```bash\n   node scripts\u002Fgraph-audit.mjs redline-r1 --limit=50\n   node scripts\u002Fgraph-audit.mjs dead-code --json | jq '.items[] | select(.file | startswith(\"src\u002Fgateway\u002F\"))'\n   ```\n4. **Cross-check before recommending fixes** — especially for dead-code (see Caveats). Use `rg`, `cargo machete`, or IDE find-usages.\n\n## Commands\n\n| Command | Output | Notes |\n|---|---|---|\n| `summary` | One-line counts per audit | Default; safe and fast |\n| `orphans` | Nodes with zero edges | Expected: 0. Non-zero = stale or broken graph |\n| `dead-code` | function\u002Fclass nodes with no inbound `calls` edge | **CANDIDATES only** — see Caveats |\n| `redline-r1` | `src\u002F` files naming platform-native APIs (AppKit \u002F Vision \u002F win32 \u002F objc \u002F cocoa \u002F etc.) | Violates R1 brain-limb separation. `src\u002Fsandbox\u002F` + `src\u002Fbin\u002Faleph-server\u002F` excluded (legitimate bridges) |\n| `redline-r10` | `src\u002Fharness\u002F` `.rs` file count vs. 12-file budget | R10 thin-harness invariant — see CLAUDE.md §R10 |\n\nFlags: `--json` (machine output, pipeable to `jq`), `--limit=N` (default 30, widens lists in human mode), `--graph=path` (point at a non-default graph file — useful for subdomain graphs like `frontend-knowledge-graph.json`), `--scope=prefix\u002F` (restrict audit to nodes whose `filePath` starts with the prefix; trailing `\u002F` auto-appended).\n\n## Module-scoped audits\n\nUse `--scope=\u003Cpath-prefix>` to confine any audit to a subtree. Filtering is on the graph node's `filePath` field, so it covers all 4 audits consistently. Trailing `\u002F` is auto-appended when the prefix has no `.` (avoiding `src\u002Fgateway` accidentally matching `src\u002Fgateway_extras\u002F`).\n\n```bash\n# Only audit src\u002Fgateway\u002F\nnode scripts\u002Fgraph-audit.mjs summary --scope=src\u002Fgateway\u002F\n\n# Only harness dead-code candidates\nnode scripts\u002Fgraph-audit.mjs dead-code --scope=src\u002Fharness\u002F\n\n# R1 violations under a single feature subtree\nnode scripts\u002Fgraph-audit.mjs redline-r1 --scope=src\u002Fbuiltin_tools\u002Fbrowser_tools\u002F\n```\n\nPer-audit behaviour under scope:\n\n| Audit | Scoped behaviour |\n|---|---|\n| `orphans` | Only orphans whose `filePath` is within scope. |\n| `dead-code` | Only function\u002Fclass nodes within scope. Global call-edge stat in warning stays global (not scope-adjusted) — that's intentional, the under-capture is a project-wide signal. |\n| `redline-r1` | Only `src\u002F` files within scope (still excludes bridge subtrees `src\u002Fsandbox\u002F` and `src\u002Fbin\u002Faleph-server\u002F`). |\n| `redline-r10` | If scope doesn't overlap `src\u002Fharness\u002F`, reports **N\u002FA** and returns 0. Otherwise filters harness files by scope. |\n\n**Natural-language triggers** map to scope flags. When the user says:\n- \"审 src\u002Fgateway\u002F\" → `--scope=src\u002Fgateway\u002F`\n- \"只看 harness 的死代码\" → `dead-code --scope=src\u002Fharness\u002F`\n- \"看看 builtin_tools 里的 R1\" → `redline-r1 --scope=src\u002Fbuiltin_tools\u002F`\n\n## Caveats\n\n- **dead-code is severely under-captured.** The graph currently captures ~4.5% of true call edges (~159 calls edges across ~3518 function nodes). The dead-code report will show thousands of false positives. Treat output as **candidates requiring manual verification**, not a deletion list. Always say so when reporting. The fix lives upstream in `\u002Funderstand`'s file-analyzer subagent, not here.\n- **redline-r1 token list is conservative.** Currently tokens like `use objc::`, `use cocoa::`, `use core_graphics::`, `use core_foundation::`, `NSWorkspace`, `AVCaptureDevice`, `CGEvent`, `use windows::`, `use winapi::`, `CheckNetIsolationEnableLoopback`, `CreateProcessW`. Add new tokens as new platform APIs appear in the codebase (edit the `NATIVE_API_TOKENS` array in `scripts\u002Fgraph-audit.mjs`).\n- **redline-r10 file budget is wired to CLAUDE.md §R10.** Current budget: 12 files. If CLAUDE.md is bumped, update `HARNESS_BUDGET` in `scripts\u002Fgraph-audit.mjs` in the same commit — the two must stay in sync.\n- **The script writes nothing.** Pure read. Safe to run repeatedly, including in CI.\n\n## Reporting back to the user\n\nAfter running, summarise in **3-5 lines max**:\n- Which checks passed (one bullet, group them).\n- Which need attention (one bullet per non-zero check, with the count).\n- Top 1-2 candidates worth investigating, if any (with file path).\n\nDo NOT dump full lists into the response. If listing is genuinely needed (e.g., user explicitly asks \"show me all R1 violations\"), prefer `--limit=5` and offer `--limit=N` to widen.\n\nFor R1 \u002F R10 hits, link the redline in `CLAUDE.md`:\n- **R1** — brain-limb separation: no platform-native API calls outside `src\u002Fsandbox\u002F` (OS isolation bridge) and `src\u002Fbin\u002Faleph-server\u002F` (libc\u002Fprocess control).\n- **R10** — thin-harness budget: `src\u002Fharness\u002F` ≤ 12 files \u002F ~4900 LOC. Adding a file requires answering the \"3 questions before adding code\" in CLAUDE.md.\n\n## When NOT to use this skill\n\n- User asks \"who calls function X?\" or \"what does file Y depend on?\" — this skill doesn't do per-symbol drill-down. Suggest `rg`, IDE find-usages, or future MCP server.\n- User wants the dashboard visualisation — invoke `understand-anything:understand-dashboard` instead.\n- Graph is stale (commits since last `\u002Funderstand`) — re-run `\u002Funderstand` first; this skill audits whatever's on disk and won't warn you that the graph is old.\n",{"name":5,"description":7},"main","ad8cf9736a137eb206d78e1db13ac9d452fb27ac",".claude\u002Fskills\u002Fgraph-review",1,"https:\u002F\u002Fgithub.com\u002Frootazero\u002FAleph","https:\u002F\u002Fwww.heyaleph.com","https:\u002F\u002Fgithub.com\u002Frootazero","2026-11-05 00:28:15",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add rootazero\u002FAleph --skill graph-review",{"tool":57,"command":58},"bunx","bunx skills add rootazero\u002FAleph --skill graph-review",{"tool":60,"command":61},"pnpm","pnpm dlx skills add rootazero\u002FAleph --skill graph-review","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Frootazero\u002FAleph\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fgraph-review\u002FSKILL.md",true,[],[66,74,100,111,119,124],{"skillNo":67,"name":68,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":71,"publishedAt":38},"01M6CCYRW46NCCDBJVXWDRMCFY","invalid-yaml","https:\u002F\u002Fgithub.com\u002Frootazero\u002FAleph\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fmarkdown_skills\u002Finvalid-yaml\u002FSKILL.md",[],[72,73],"invalid yaml","yaml",{"skillNo":75,"name":76,"nameZh":6,"description":77,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":85,"publishedAt":38},"01M6CCYNTM3981CQE5P8RXB6Y1","gh-pr-docker","GitHub PR operations (Aleph enhanced with Docker)","https:\u002F\u002Fgithub.com\u002Frootazero\u002FAleph\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fmarkdown_skills\u002Fgh-pr-docker\u002FSKILL.md",[80],{"categoryNo":81,"categoryName":82,"taxonomyType":83,"taxonomyTypeDesc":84},"01JBSEEDCAT000000000000011","运维与部署","SCENARIO","使用场景",[86,87,88,89,90,91,92,93,94,95,96,97,98,99],"gh pr docker","gh","gh pr","pr","docker","github","operations","view","list","write","format","repository","create","cli",{"skillNo":101,"name":102,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":106,"publishedAt":38},"01M6CCYME2FV26WMXFJHWDC96R","echo-basic","Basic echo command (frontmatter smoke fixture)","https:\u002F\u002Fgithub.com\u002Frootazero\u002FAleph\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fmarkdown_skills\u002Fecho-basic\u002FSKILL.md",[],[107,108,109,110],"echo basic","Echo","smoke","command",{"skillNo":112,"name":113,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":114,"categories":115,"keywords":116,"publishedAt":38},"01M6CCXQT84VNRDQE74JJXSYR8","review-results","https:\u002F\u002Fgithub.com\u002Frootazero\u002FAleph\u002Fblob\u002Fmain\u002Freview-results\u002Fskill.md",[],[20,117,118],"review results","results",{"skillNo":120,"name":113,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":123,"publishedAt":38},"01M6CCXFTHNVKMMCP7NTMN5HBM","https:\u002F\u002Fgithub.com\u002Frootazero\u002FAleph\u002Fblob\u002Fmain\u002Fdocs\u002Fengineering-reports\u002Freview-results\u002Fskill.md",[],[117,118,20],{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":130,"publishedAt":38},"01M6CCXC4B64ACJWTQ033ECE4Y","severed-wire-audit","Find and resolve \"severed wires\" in a codebase — a producer and a consumer both exist and are fully implemented, but the connecting registration \u002F dispatch arm \u002F event subscription \u002F call site between them is missing, so a feature looks broken though both ends are done. dead-code lints CANNOT catch this: the producer isn't dead (it has tests) and the consumer connects to a stub or reads an inert config. Use when a feature \"looks unwired \u002F 没接上 \u002F 两端都在但连线断 \u002F 明明写了却调不到\"; after a refactor or middleware removal, to verify producers still reach consumers; when asked to \"审接缝 \u002F 找断线 \u002F seam audit \u002F wire audit \u002F connection audit\"; or when a method returns NOT_FOUND, a tool the model can't call, an event that never fires, or a config field nothing reads. Triages each finding into CONNECT (fix the wire) \u002F CUT (delete the dead abstraction) \u002F DECIDE (ask the human), enforces read-before-write so dead scaffolding is deleted not reconnected, and installs a grep-diff guard against regression.","https:\u002F\u002Fgithub.com\u002Frootazero\u002FAleph\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsevered-wire-audit\u002FSKILL.md",[],[131,31,132,35,29,133,134,135,136,137,138,139,140,141,142,143,144,24,145,146],"severed wire audit","delete","guard","tool","model","diff","regression","find","decide","broken","connect","ask","read","fix","dispatch","never"]