scip-query 0.10.11 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +45 -0
- package/{vendor/scip/LICENSE.scip → LICENSE} +1 -0
- package/README.md +168 -55
- package/dist/augment-vue-worker.js +1 -1
- package/dist/chunk-2VSDXOG5.js +2 -0
- package/dist/chunk-343O6EVV.js +2 -0
- package/dist/chunk-3KDUITBE.js +7 -0
- package/dist/chunk-3T2FNHIU.js +2 -0
- package/dist/chunk-3V6JQQM5.js +2 -0
- package/dist/chunk-5AAAEZ2Z.js +2 -0
- package/dist/chunk-6Q6OFLFQ.js +8 -0
- package/dist/chunk-6XA4LDHY.js +2 -0
- package/dist/chunk-75X52JTA.js +2 -0
- package/dist/{chunk-54KGX7EX.js → chunk-7HB3CZFD.js} +2 -2
- package/dist/chunk-7JZRFDCU.js +2 -0
- package/dist/chunk-7XL7J7PT.js +3 -0
- package/dist/chunk-ALHNAPS2.js +2 -0
- package/dist/{chunk-JATUZIEH.js → chunk-BDRBPG7Y.js} +2 -2
- package/dist/chunk-BN5SXXQS.js +40 -0
- package/dist/chunk-C4ICAIJ4.js +3 -0
- package/dist/{chunk-LSET2TXH.js → chunk-CMHYBXJB.js} +2 -2
- package/dist/{chunk-YWYFU2V3.js → chunk-DRPAQAFM.js} +6 -6
- package/dist/chunk-FERAXG6Y.js +72 -0
- package/dist/chunk-FLJJLSGB.js +2 -0
- package/dist/chunk-FXG3PHVW.js +9 -0
- package/dist/chunk-GCN2P4EJ.js +2 -0
- package/dist/chunk-GHXRVCIY.js +21 -0
- package/dist/chunk-GNG622H3.js +3 -0
- package/dist/chunk-H4LUPLEJ.js +2 -0
- package/dist/{chunk-BASVXNY3.js → chunk-H56MGERE.js} +4 -4
- package/dist/chunk-H7NSJ7L2.js +5 -0
- package/dist/chunk-HINMXZ6J.js +2 -0
- package/dist/chunk-HXXMPYEF.js +2 -0
- package/dist/{chunk-Z3YYR4OS.js → chunk-HZKMEXA3.js} +2 -2
- package/dist/chunk-IFSX6YVU.js +4 -0
- package/dist/chunk-ISLWJ4PY.js +10 -0
- package/dist/chunk-J5WVNZ6O.js +2 -0
- package/dist/chunk-K2HYR5A7.js +3 -0
- package/dist/chunk-K6UI6EBZ.js +2 -0
- package/dist/chunk-KJCDEDQW.js +2 -0
- package/dist/{chunk-Z4HICZGY.js → chunk-KKMOB3OJ.js} +2 -2
- package/dist/{chunk-YWOOQ4FF.js → chunk-KMVGRIO2.js} +2 -2
- package/dist/chunk-LWOOTRHC.js +2 -0
- package/dist/{chunk-EY43NV4M.js → chunk-LZNLRE4X.js} +17 -8
- package/dist/chunk-M2YXL62V.js +23 -0
- package/dist/chunk-MNEJYEHW.js +3 -0
- package/dist/chunk-MTDBHTSF.js +2 -0
- package/dist/{chunk-ZQDIXAF5.js → chunk-N2Z3CU7X.js} +2 -2
- package/dist/chunk-N7PNFLGY.js +2 -0
- package/dist/chunk-NAH5EAZS.js +6 -0
- package/dist/chunk-NBXK32I6.js +2 -0
- package/dist/chunk-NJJ7AS4F.js +2 -0
- package/dist/{chunk-FDEQIPPK.js → chunk-NLMRJ7SI.js} +2 -2
- package/dist/chunk-ODVITBYU.js +26 -0
- package/dist/chunk-ORBRX2QJ.js +2 -0
- package/dist/chunk-P36UR5II.js +2 -0
- package/dist/chunk-PYZZBIEU.js +3 -0
- package/dist/chunk-PZS6J5YG.js +16 -0
- package/dist/{chunk-LM5SHAN4.js → chunk-QARYU7R3.js} +2 -2
- package/dist/chunk-QJ3FK4TB.js +38 -0
- package/dist/chunk-QXGTGE2C.js +35 -0
- package/dist/chunk-QZ4JVECJ.js +2 -0
- package/dist/chunk-R3JY4EZ4.js +102 -0
- package/dist/{chunk-VOYOYC5T.js → chunk-R5336VHZ.js} +2 -2
- package/dist/chunk-RJMXSHKM.js +2 -0
- package/dist/chunk-STBXCPKY.js +5 -0
- package/dist/chunk-T2FQ4GHD.js +9 -0
- package/dist/chunk-TFWDJDGO.js +2 -0
- package/dist/chunk-TG7QSYCJ.js +2 -0
- package/dist/{chunk-FKCGBZAC.js → chunk-TTS75UF2.js} +5 -5
- package/dist/{chunk-BVRS7RKQ.js → chunk-U7I373V4.js} +2 -2
- package/dist/chunk-UIKLA3F5.js +2 -0
- package/dist/{chunk-P753MDDE.js → chunk-UMPNL7T6.js} +2 -2
- package/dist/chunk-URSSPS5H.js +2 -0
- package/dist/chunk-VGMUFW3J.js +2 -0
- package/dist/chunk-VXTNADIW.js +18 -0
- package/dist/chunk-VYF5HA76.js +2 -0
- package/dist/chunk-WFGOH2UI.js +43 -0
- package/dist/chunk-WGA5BBTA.js +4 -0
- package/dist/chunk-WIBFXSYB.js +6 -0
- package/dist/chunk-WPSS37EW.js +2 -0
- package/dist/chunk-WQHWIVA7.js +3 -0
- package/dist/chunk-WS3Z6W3M.js +65 -0
- package/dist/chunk-WXVGNFAO.js +2 -0
- package/dist/{chunk-6LJHXREW.js → chunk-WZLPXFZU.js} +2 -2
- package/dist/chunk-X4O6K47U.js +2 -0
- package/dist/chunk-X6OGDTQH.js +2 -0
- package/dist/chunk-XEMQUN3Z.js +20 -0
- package/dist/{chunk-7B6LP46R.js → chunk-XHWLNQVZ.js} +2 -2
- package/dist/chunk-XMR747CP.js +2 -0
- package/dist/chunk-Y6L4LXPG.js +2 -0
- package/dist/chunk-YCPASUCX.js +2 -0
- package/dist/chunk-YZXV3CU3.js +60 -0
- package/dist/chunk-ZEKBR4OK.js +10 -0
- package/dist/chunk-ZMGBWSFZ.js +2 -0
- package/dist/cli.js +462 -274
- package/dist/{config-types-BDIWAYzr.d.ts → config-types-BrHl3Bge.d.ts} +61 -1
- package/dist/{db-Djj3Nqrb.d.ts → db-_Bdx0E1W.d.ts} +1 -1
- package/dist/diff-gate-types-CG2YQ_ei.d.ts +4 -0
- package/dist/{frontend-behavior-evidence-BxKpKWUu.d.ts → frontend-behavior-evidence-EfM4_9bc.d.ts} +1 -1
- package/dist/{health-D5J42g4D.d.ts → health-BEZ1Rt0S.d.ts} +54 -2
- package/dist/index.d.ts +10 -70
- package/dist/index.js +2 -2
- package/dist/postinstall.js +1 -4
- package/dist/queries/affected.d.ts +2 -2
- package/dist/queries/affected.js +1 -1
- package/dist/queries/bottlenecks.d.ts +2 -2
- package/dist/queries/bottlenecks.js +1 -1
- package/dist/queries/by-kind.d.ts +2 -2
- package/dist/queries/by-kind.js +1 -1
- package/dist/queries/call-graph.d.ts +2 -2
- package/dist/queries/call-graph.js +1 -1
- package/dist/queries/change-surface.d.ts +2 -2
- package/dist/queries/change-surface.js +1 -1
- package/dist/queries/cleanup-plan.d.ts +2 -2
- package/dist/queries/cleanup-plan.js +1 -1
- package/dist/queries/co-change.d.ts +12 -2
- package/dist/queries/co-change.js +1 -1
- package/dist/queries/code.d.ts +2 -2
- package/dist/queries/code.js +1 -1
- package/dist/queries/complexity-hotspots.d.ts +7 -3
- package/dist/queries/complexity-hotspots.js +1 -1
- package/dist/queries/complexity.d.ts +42 -4
- package/dist/queries/complexity.js +1 -1
- package/dist/queries/convergence.d.ts +2 -2
- package/dist/queries/convergence.js +1 -1
- package/dist/queries/coupling.d.ts +2 -2
- package/dist/queries/coupling.js +1 -1
- package/dist/queries/cycles.d.ts +12 -3
- package/dist/queries/cycles.js +1 -1
- package/dist/queries/dataflow.d.ts +2 -2
- package/dist/queries/dataflow.js +1 -1
- package/dist/queries/dead.d.ts +3 -3
- package/dist/queries/dead.js +1 -1
- package/dist/queries/deep-chains.d.ts +2 -2
- package/dist/queries/deep-chains.js +1 -1
- package/dist/queries/deps.d.ts +2 -2
- package/dist/queries/deps.js +1 -1
- package/dist/queries/diff-gate.d.ts +65 -8
- package/dist/queries/diff-gate.js +1 -1
- package/dist/queries/diff-impact.d.ts +21 -3
- package/dist/queries/diff-impact.js +1 -1
- package/dist/queries/doc-drift.d.ts +29 -2
- package/dist/queries/doc-drift.js +1 -1
- package/dist/queries/drift.d.ts +15 -3
- package/dist/queries/drift.js +1 -1
- package/dist/queries/duplicate-bodies.d.ts +55 -0
- package/dist/queries/duplicate-bodies.js +2 -0
- package/dist/queries/extract-candidates.d.ts +2 -2
- package/dist/queries/extract-candidates.js +1 -1
- package/dist/queries/fan.d.ts +2 -2
- package/dist/queries/fan.js +1 -1
- package/dist/queries/files.d.ts +4 -3
- package/dist/queries/files.js +1 -1
- package/dist/queries/health.d.ts +3 -3
- package/dist/queries/health.js +1 -1
- package/dist/queries/hierarchy.d.ts +2 -2
- package/dist/queries/hierarchy.js +1 -1
- package/dist/queries/hotspots.d.ts +2 -2
- package/dist/queries/hotspots.js +1 -1
- package/dist/queries/imports.d.ts +2 -2
- package/dist/queries/imports.js +1 -1
- package/dist/queries/incomplete-migration.d.ts +3 -2
- package/dist/queries/incomplete-migration.js +1 -1
- package/dist/queries/index.d.ts +12 -7
- package/dist/queries/index.js +1 -1
- package/dist/queries/isolated.d.ts +2 -2
- package/dist/queries/isolated.js +1 -1
- package/dist/queries/locality-candidates.d.ts +2 -2
- package/dist/queries/locality-candidates.js +1 -1
- package/dist/queries/members.d.ts +2 -2
- package/dist/queries/members.js +1 -1
- package/dist/queries/methods.d.ts +2 -2
- package/dist/queries/methods.js +1 -1
- package/dist/queries/outline.d.ts +2 -2
- package/dist/queries/outline.js +1 -1
- package/dist/queries/passthrough-candidates.d.ts +11 -3
- package/dist/queries/passthrough-candidates.js +1 -1
- package/dist/queries/plan-context.d.ts +3 -2
- package/dist/queries/plan-context.js +1 -1
- package/dist/queries/react-component-duplicates.d.ts +7 -2
- package/dist/queries/react-component-duplicates.js +1 -1
- package/dist/queries/react-hook-candidates.d.ts +3 -3
- package/dist/queries/react-hook-candidates.js +1 -1
- package/dist/queries/react-large-component-pressure.d.ts +2 -2
- package/dist/queries/react-large-component-pressure.js +1 -1
- package/dist/queries/recent-duplicates.d.ts +2 -2
- package/dist/queries/recent-duplicates.js +1 -1
- package/dist/queries/redundant-reexports.d.ts +2 -2
- package/dist/queries/redundant-reexports.js +1 -1
- package/dist/queries/refs.d.ts +2 -2
- package/dist/queries/refs.js +1 -1
- package/dist/queries/self-audit.d.ts +9 -4
- package/dist/queries/self-audit.js +1 -1
- package/dist/queries/similar-chains.d.ts +2 -2
- package/dist/queries/similar-chains.js +1 -1
- package/dist/queries/similar-files.d.ts +2 -2
- package/dist/queries/similar-files.js +1 -1
- package/dist/queries/similar-signatures.d.ts +17 -10
- package/dist/queries/similar-signatures.js +1 -1
- package/dist/queries/similar.d.ts +85 -17
- package/dist/queries/similar.js +1 -1
- package/dist/queries/slice.d.ts +2 -2
- package/dist/queries/slice.js +1 -1
- package/dist/queries/stale-abstractions.d.ts +2 -2
- package/dist/queries/stale-abstractions.js +1 -1
- package/dist/queries/stats.d.ts +2 -2
- package/dist/queries/surface.d.ts +2 -2
- package/dist/queries/surface.js +1 -1
- package/dist/queries/symbols.d.ts +2 -2
- package/dist/queries/symbols.js +1 -1
- package/dist/queries/system.d.ts +2 -2
- package/dist/queries/system.js +1 -1
- package/dist/queries/trace.d.ts +2 -2
- package/dist/queries/trace.js +1 -1
- package/dist/queries/twin-ab.d.ts +55 -0
- package/dist/queries/twin-ab.js +2 -0
- package/dist/queries/twin-drift.d.ts +97 -0
- package/dist/queries/twin-drift.js +2 -0
- package/dist/queries/unused-imports.d.ts +2 -2
- package/dist/queries/unused-imports.js +1 -1
- package/dist/queries/unused-params.d.ts +2 -2
- package/dist/queries/unused-params.js +1 -1
- package/dist/queries/vue-component-duplicates.d.ts +7 -2
- package/dist/queries/vue-component-duplicates.js +1 -1
- package/dist/queries/vue-composable-candidates.d.ts +3 -3
- package/dist/queries/vue-composable-candidates.js +1 -1
- package/dist/queries/vue-large-view-pressure.d.ts +6 -2
- package/dist/queries/vue-large-view-pressure.js +1 -1
- package/dist/queries/wrapper-candidates.d.ts +2 -2
- package/dist/queries/wrapper-candidates.js +1 -1
- package/dist/reindex-worker.js +9 -9
- package/dist/reindex.d.ts +30 -4
- package/dist/reindex.js +19 -19
- package/dist/runtime.d.ts +12 -6
- package/dist/runtime.js +2 -2
- package/dist/{scip-cli-CnK9Va4O.d.ts → scip-cli-C7cg4ZHR.d.ts} +1 -1
- package/dist/symbol-types-DaoeXKUt.d.ts +66 -0
- package/docs/AGENT_GUIDE.md +20 -18
- package/docs/AI_FAILURE_MODES.md +36 -13
- package/docs/API.md +1 -1
- package/docs/COMMAND_REFERENCE.md +57 -14
- package/docs/DETECTOR_GUIDE.md +20 -3
- package/docs/REGEX_POLICY.md +34 -0
- package/docs/analyzer-inventory.md +48 -3
- package/docs/analyzer-validation-ledger.md +41 -6
- package/package.json +23 -7
- package/scripts/build-scip-windows.mjs +10 -7
- package/scripts/evidence-product-contract.mjs +197 -0
- package/skills/_shared/SKILL.md +243 -0
- package/skills/_shared/agents/openai.yaml +4 -0
- package/skills/scip-api-impact/SKILL.md +55 -71
- package/skills/scip-claim-audit/SKILL.md +105 -0
- package/skills/scip-claim-audit/agents/openai.yaml +4 -0
- package/skills/scip-cleanup-audit/SKILL.md +122 -0
- package/skills/scip-cleanup-audit/agents/openai.yaml +4 -0
- package/skills/scip-cleanup-improve/SKILL.md +84 -0
- package/skills/scip-cleanup-improve/agents/openai.yaml +4 -0
- package/skills/scip-concrete-plan/SKILL.md +181 -0
- package/skills/scip-concrete-plan/agents/openai.yaml +4 -0
- package/skills/scip-conductor/SKILL.md +133 -0
- package/skills/scip-conductor/agents/openai.yaml +4 -0
- package/skills/scip-debug/SKILL.md +60 -58
- package/skills/scip-diagram/SKILL.md +64 -94
- package/skills/scip-directory-architecture/SKILL.md +65 -107
- package/skills/scip-doc-reconcile/SKILL.md +56 -67
- package/skills/scip-explore/SKILL.md +78 -210
- package/skills/scip-hyper-optimization/SKILL.md +124 -198
- package/skills/scip-integrity-audit/SKILL.md +103 -0
- package/skills/scip-integrity-audit/agents/openai.yaml +4 -0
- package/skills/scip-language-playbook/SKILL.md +56 -326
- package/skills/scip-maintainability/SKILL.md +80 -219
- package/skills/scip-probe-reachability/SKILL.md +92 -0
- package/skills/scip-probe-reachability/agents/openai.yaml +4 -0
- package/skills/scip-query/SKILL.md +108 -124
- package/skills/scip-react-maintainability/SKILL.md +64 -82
- package/skills/scip-setup/SKILL.md +121 -0
- package/skills/scip-setup/agents/openai.yaml +4 -0
- package/skills/scip-tla-model-system/SKILL.md +138 -0
- package/skills/scip-tla-model-system/agents/openai.yaml +4 -0
- package/skills/scip-triage-issue/SKILL.md +53 -41
- package/skills/scip-twin-drift/SKILL.md +107 -0
- package/skills/scip-twin-drift/agents/openai.yaml +4 -0
- package/skills/scip-verify/SKILL.md +70 -88
- package/skills/scip-vue-maintainability/SKILL.md +67 -94
- package/dist/chunk-2KHTSEIL.js +0 -102
- package/dist/chunk-3VD3JMK2.js +0 -2
- package/dist/chunk-4UZO3XCV.js +0 -35
- package/dist/chunk-5GOLFJEO.js +0 -8
- package/dist/chunk-5OST6GYB.js +0 -2
- package/dist/chunk-65AU3HFZ.js +0 -2
- package/dist/chunk-6GN7FXCH.js +0 -2
- package/dist/chunk-6IR2AOBM.js +0 -7
- package/dist/chunk-6JRV4MY2.js +0 -23
- package/dist/chunk-6QSOCTZT.js +0 -18
- package/dist/chunk-72KY2ZFO.js +0 -2
- package/dist/chunk-7GO4EQF5.js +0 -2
- package/dist/chunk-7IVSJJZU.js +0 -7
- package/dist/chunk-7TWLSZK5.js +0 -2
- package/dist/chunk-A536TEU4.js +0 -3
- package/dist/chunk-AVWPHM2Q.js +0 -4
- package/dist/chunk-B32FX5KB.js +0 -2
- package/dist/chunk-B6MJ5VQV.js +0 -2
- package/dist/chunk-BFXPG2VN.js +0 -2
- package/dist/chunk-BSN22NRK.js +0 -9
- package/dist/chunk-BZ53S4ZN.js +0 -2
- package/dist/chunk-C5CTSJ6X.js +0 -6
- package/dist/chunk-CO5GJRP7.js +0 -2
- package/dist/chunk-CW5YFOCP.js +0 -5
- package/dist/chunk-DS6QEB3G.js +0 -5
- package/dist/chunk-E35O7UCB.js +0 -2
- package/dist/chunk-EXDQ35NN.js +0 -2
- package/dist/chunk-FAYI6KZ5.js +0 -2
- package/dist/chunk-FFVIFETB.js +0 -2
- package/dist/chunk-FG4NT6VY.js +0 -2
- package/dist/chunk-FXNWFMKW.js +0 -25
- package/dist/chunk-G5UPYQGL.js +0 -4
- package/dist/chunk-GQBMH2TQ.js +0 -2
- package/dist/chunk-GRJY65YT.js +0 -2
- package/dist/chunk-HF25DFSC.js +0 -3
- package/dist/chunk-HHN2B5KA.js +0 -2
- package/dist/chunk-IHUETYFW.js +0 -2
- package/dist/chunk-JCLDUKT6.js +0 -38
- package/dist/chunk-JGN2ZFJR.js +0 -2
- package/dist/chunk-JM72FNGA.js +0 -2
- package/dist/chunk-JME7OWD3.js +0 -2
- package/dist/chunk-KDFONWTW.js +0 -40
- package/dist/chunk-LPL4MA6R.js +0 -2
- package/dist/chunk-LZHUWKGD.js +0 -2
- package/dist/chunk-M4COR2H6.js +0 -2
- package/dist/chunk-NOJAM5ZV.js +0 -21
- package/dist/chunk-O6ZH6C6Y.js +0 -2
- package/dist/chunk-OBGRLXWF.js +0 -3
- package/dist/chunk-OLTESY4K.js +0 -3
- package/dist/chunk-ONPCQ2PM.js +0 -6
- package/dist/chunk-P4KYUPBD.js +0 -4
- package/dist/chunk-P5RYBRIO.js +0 -4
- package/dist/chunk-P7AL7Y37.js +0 -2
- package/dist/chunk-PFOCOG57.js +0 -2
- package/dist/chunk-QLAUCRDJ.js +0 -2
- package/dist/chunk-QPU7EXAW.js +0 -2
- package/dist/chunk-QYB5P7GL.js +0 -2
- package/dist/chunk-RNM6LMCF.js +0 -2
- package/dist/chunk-RVWSAMTT.js +0 -2
- package/dist/chunk-TK7O5ER5.js +0 -3
- package/dist/chunk-TQ5W2H3S.js +0 -4
- package/dist/chunk-USPV3T5K.js +0 -2
- package/dist/chunk-UUBMFL3F.js +0 -59
- package/dist/chunk-VCQYSG2M.js +0 -10
- package/dist/chunk-VUKC6F77.js +0 -20
- package/dist/chunk-W2CBNBEL.js +0 -71
- package/dist/chunk-W6BVEKYC.js +0 -3
- package/dist/chunk-WUCEKFQC.js +0 -3
- package/dist/chunk-XUGQU7PM.js +0 -41
- package/dist/chunk-Y5NBHMQX.js +0 -2
- package/dist/chunk-YCOFCT4B.js +0 -2
- package/dist/chunk-YZA6PPZL.js +0 -3
- package/skills/concrete-plan/SKILL.md +0 -372
- package/skills/concrete-plan/agents/openai.yaml +0 -4
- package/skills/scip-adoption/SKILL.md +0 -122
- package/skills/scip-adoption/agents/openai.yaml +0 -4
- package/skills/scip-ai-cleanup/SKILL.md +0 -153
- package/skills/scip-ai-cleanup/agents/openai.yaml +0 -4
- package/skills/scip-debloat/SKILL.md +0 -439
- package/skills/scip-debloat/agents/openai.yaml +0 -4
- package/skills/scip-health-audit/SKILL.md +0 -162
- package/skills/scip-health-audit/agents/openai.yaml +0 -4
- package/skills/scip-health-improve/SKILL.md +0 -155
- package/skills/scip-health-improve/agents/openai.yaml +0 -4
- package/skills/scip-query-setup/SKILL.md +0 -170
- package/skills/scip-query-setup/agents/openai.yaml +0 -3
- package/vendor/scip/README.md +0 -6
- package/vendor/scip/win32-arm64/scip.exe +0 -0
- package/vendor/scip/win32-x64/scip.exe +0 -0
|
@@ -1,43 +1,68 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: scip-diagram
|
|
3
|
-
description:
|
|
3
|
+
description: Diagram code with scip-query evidence. Use for code flow diagrams, architecture diagrams, data-flow maps, dependency maps, blast-radius visuals, module maps, or HTML artifacts explaining a system.
|
|
4
|
+
commands:
|
|
5
|
+
- template: "scip-query system <module>"
|
|
6
|
+
when: "Collect evidence: module map for a dependency or architecture diagram."
|
|
7
|
+
- template: "scip-query trace <symbol>"
|
|
8
|
+
when: "Collect evidence: definition plus references for a call-flow diagram."
|
|
9
|
+
- template: "scip-query call-graph <symbol>"
|
|
10
|
+
when: "Collect evidence: callers/callees for a call-flow diagram."
|
|
11
|
+
- template: "scip-query dataflow <symbol>"
|
|
12
|
+
when: "Collect evidence: producers/consumers for a data-flow diagram."
|
|
13
|
+
- template: "scip-query affected <symbol> --json"
|
|
14
|
+
when: "Collect evidence: blast-radius nodes and edges."
|
|
15
|
+
- template: "scip-query change-surface <file> --json --full"
|
|
16
|
+
when: "Collect evidence: exports and consumers for a change-surface map."
|
|
4
17
|
---
|
|
5
18
|
|
|
6
|
-
#
|
|
19
|
+
# scip-diagram
|
|
7
20
|
|
|
8
|
-
Use this skill to build a visual explanation from compiler-resolved
|
|
21
|
+
Use this skill to build a visual explanation from compiler-resolved facts. A code diagram is an HTML artifact that turns source units, calls, dependencies, data flow, or blast radius into a visual map; every node and edge must trace to scip-query evidence.
|
|
22
|
+
|
|
23
|
+
Load shared mechanics from [`../_shared/SKILL.md`](../_shared/SKILL.md).
|
|
24
|
+
|
|
25
|
+
<!-- BEGIN GENERATED SKILL COMMANDS -->
|
|
26
|
+
## Commands for this skill
|
|
27
|
+
|
|
28
|
+
| Command | Purpose | When |
|
|
29
|
+
| --- | --- | --- |
|
|
30
|
+
| `scip-query system <module>` | Full module map: files, symbols, deps in/out | Collect evidence: module map for a dependency or architecture diagram. |
|
|
31
|
+
| `scip-query trace <symbol>` | Trace a symbol: definition + all references | Collect evidence: definition plus references for a call-flow diagram. |
|
|
32
|
+
| `scip-query call-graph <symbol>` | Show incoming callers and outgoing callees for a symbol | Collect evidence: callers/callees for a call-flow diagram. |
|
|
33
|
+
| `scip-query dataflow <symbol>` | Reference-level dataflow: definition sites, usage sites, producers, consumers | Collect evidence: producers/consumers for a data-flow diagram. |
|
|
34
|
+
| `scip-query affected <symbol> --json` | Transitive closure of symbols that could break if this symbol changes | Collect evidence: blast-radius nodes and edges. |
|
|
35
|
+
| `scip-query change-surface <file> --json --full` | Pre-change briefing: exports, consumers, and blast-radius risk | Collect evidence: exports and consumers for a change-surface map. |
|
|
36
|
+
|
|
37
|
+
Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only when it is insufficient.
|
|
38
|
+
<!-- END GENERATED SKILL COMMANDS -->
|
|
9
39
|
|
|
10
40
|
## Rules
|
|
11
41
|
|
|
12
|
-
1. Run
|
|
13
|
-
2.
|
|
14
|
-
3. Include command provenance in the
|
|
15
|
-
4.
|
|
16
|
-
5. Verify the HTML opens
|
|
42
|
+
1. Run evidence before drawing.
|
|
43
|
+
2. Default to a self-contained HTML file.
|
|
44
|
+
3. Include command provenance in the artifact.
|
|
45
|
+
4. Scope large graphs into clusters instead of rendering a hairball.
|
|
46
|
+
5. Verify the HTML opens and the diagram is nonblank.
|
|
17
47
|
|
|
18
|
-
##
|
|
48
|
+
## Workflow
|
|
19
49
|
|
|
20
|
-
|
|
21
|
-
|---|---|
|
|
22
|
-
| "How does this feature work?" | Call-flow diagram |
|
|
23
|
-
| "Where does this value come from?" | Data-flow diagram |
|
|
24
|
-
| "What depends on this?" | Blast-radius diagram |
|
|
25
|
-
| "What is this module's architecture?" | Module/dependency diagram |
|
|
26
|
-
| "Why is this hard to change?" | Change-surface or bottleneck diagram |
|
|
27
|
-
| "Show classes or ownership" | Hierarchy and surface diagram |
|
|
50
|
+
### 1. Pick diagram type
|
|
28
51
|
|
|
29
|
-
|
|
52
|
+
| User wants | Diagram |
|
|
53
|
+
| --- | --- |
|
|
54
|
+
| Feature flow | Call flow |
|
|
55
|
+
| Value origin or mutation | Data flow |
|
|
56
|
+
| Dependents | Blast radius |
|
|
57
|
+
| Module architecture | Dependency map |
|
|
58
|
+
| Hard-to-change explanation | Change surface or bottleneck map |
|
|
59
|
+
| Classes or ownership | Hierarchy and surface map |
|
|
30
60
|
|
|
31
|
-
|
|
61
|
+
This step is complete only when the diagram's node and edge types are chosen.
|
|
32
62
|
|
|
33
|
-
|
|
34
|
-
scip-query status --capabilities
|
|
35
|
-
scip-query status --capabilities
|
|
36
|
-
# If freshness is stale, missing, or unknown:
|
|
37
|
-
# scip-query reindex
|
|
38
|
-
```
|
|
63
|
+
### 2. Collect evidence
|
|
39
64
|
|
|
40
|
-
|
|
65
|
+
Use only commands needed for the chosen diagram:
|
|
41
66
|
|
|
42
67
|
```bash
|
|
43
68
|
scip-query system <module>
|
|
@@ -55,86 +80,31 @@ scip-query affected <symbol> --json
|
|
|
55
80
|
scip-query change-surface <file> --json --full
|
|
56
81
|
scip-query hierarchy <symbol> --json
|
|
57
82
|
scip-query fan-out <file> --json
|
|
58
|
-
scip-query bottlenecks
|
|
59
|
-
scip-query cycles
|
|
60
83
|
```
|
|
61
84
|
|
|
62
|
-
|
|
85
|
+
This step is complete only when every planned node and edge has a source command.
|
|
63
86
|
|
|
64
|
-
|
|
87
|
+
### 3. Build the artifact
|
|
65
88
|
|
|
66
|
-
Write
|
|
89
|
+
Write to:
|
|
67
90
|
|
|
68
91
|
```text
|
|
69
92
|
docs/scip-query/diagrams/YYYY-MM-DD-<scope>.html
|
|
70
93
|
```
|
|
71
94
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
- title and scope;
|
|
75
|
-
- short textual summary;
|
|
76
|
-
- the visual diagram;
|
|
77
|
-
- legend for node colors, edge styles, and risk labels;
|
|
78
|
-
- evidence table listing every scip-query command used;
|
|
79
|
-
- notes for omitted nodes, collapsed clusters, or unavailable capabilities.
|
|
80
|
-
|
|
81
|
-
Implementation guidance:
|
|
82
|
-
|
|
83
|
-
- Use inline CSS and either semantic HTML layout or inline SVG.
|
|
84
|
-
- Use stable dimensions and labels that wrap cleanly.
|
|
85
|
-
- Use one visual encoding per meaning: call edges, data edges, dependency edges, and risk edges should look different.
|
|
86
|
-
- Keep colors accessible and avoid relying on color alone; include labels or edge styles.
|
|
87
|
-
- For large graphs, group by module, ownership, lifecycle phase, or public surface.
|
|
88
|
-
|
|
89
|
-
## Diagram Recipes
|
|
90
|
-
|
|
91
|
-
### Call Flow
|
|
92
|
-
|
|
93
|
-
```bash
|
|
94
|
-
scip-query trace <entry-symbol>
|
|
95
|
-
scip-query call-graph <entry-symbol>
|
|
96
|
-
scip-query code <entry-symbol>
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
Render entry point -> major callees -> side effects or terminal outputs. Label each edge with the call or branch reason when `code` proves it.
|
|
100
|
-
|
|
101
|
-
### Data Flow
|
|
102
|
-
|
|
103
|
-
```bash
|
|
104
|
-
scip-query dataflow <value-symbol>
|
|
105
|
-
scip-query slice <value-symbol>
|
|
106
|
-
scip-query slice <value-symbol> --forward
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
Render producers, transformations, validators, storage, and consumers. Mark inferred or unavailable parts explicitly.
|
|
95
|
+
Include title, scope, summary, visual diagram, legend, evidence table, omitted/collapsed nodes, and unavailable capabilities.
|
|
110
96
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
```bash
|
|
114
|
-
scip-query system <module>
|
|
115
|
-
scip-query deps <file>
|
|
116
|
-
scip-query rdeps <file>
|
|
117
|
-
scip-query surface <module>
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
Render internal files, imported modules, reverse consumers, and public surfaces. Distinguish internal dependencies from external consumers.
|
|
121
|
-
|
|
122
|
-
### Blast Radius
|
|
123
|
-
|
|
124
|
-
```bash
|
|
125
|
-
scip-query affected <symbol> --json
|
|
126
|
-
scip-query change-surface <file> --json --full
|
|
127
|
-
```
|
|
97
|
+
Use inline CSS and semantic HTML or inline SVG. Give stable dimensions, wrapping labels, accessible colors, and distinct edge styles for calls, data, dependencies, and risk.
|
|
128
98
|
|
|
129
|
-
|
|
99
|
+
This step is complete only when the HTML contains the visual and provenance table.
|
|
130
100
|
|
|
131
|
-
|
|
101
|
+
### 4. Verify
|
|
132
102
|
|
|
133
|
-
|
|
103
|
+
Open the file locally or use a browser/screenshot tool when available. Confirm:
|
|
134
104
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
105
|
+
- diagram is nonblank;
|
|
106
|
+
- labels do not overlap badly;
|
|
107
|
+
- major nodes and edges trace to evidence;
|
|
108
|
+
- `scip-verify` has been invoked when this is part of a docs/code change.
|
|
139
109
|
|
|
140
|
-
End
|
|
110
|
+
End with the file path and what the diagram proves.
|
|
@@ -1,71 +1,73 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: scip-directory-architecture
|
|
3
|
-
description: Review
|
|
3
|
+
description: Review directory architecture with scip-query evidence. Use to evaluate, design, reorganize, or migrate folder structure, ownership boundaries, locality config, messy repos, AI-generated layout, or safe file-move slices.
|
|
4
|
+
commands:
|
|
5
|
+
- template: "scip-query system <scope>"
|
|
6
|
+
when: "Inventory evidence: files, symbols, deps in/out for the scope."
|
|
7
|
+
- template: "scip-query locality-candidates --json --full"
|
|
8
|
+
when: "Inventory evidence: directory-locality candidates from consumer ownership."
|
|
9
|
+
- template: "scip-query similar-files --full --json"
|
|
10
|
+
when: "Inventory evidence: files with overlapping dependency profiles."
|
|
11
|
+
- template: "scip-query cycles"
|
|
12
|
+
when: "Inventory evidence: circular dependency chains between files."
|
|
13
|
+
- template: "scip-query co-change --json --full"
|
|
14
|
+
when: "Inventory evidence: hidden file-level coupling from git history."
|
|
15
|
+
- template: "scip-query config-validate --json"
|
|
16
|
+
when: "Implement a slice: validate locality config after a move."
|
|
4
17
|
---
|
|
5
18
|
|
|
6
|
-
#
|
|
19
|
+
# scip-directory-architecture
|
|
7
20
|
|
|
8
|
-
|
|
21
|
+
Use this skill to answer where code should live. Directory architecture is the filesystem arrangement of source files by their main reason to change; what distinguishes a good structure is that a maintainer can predict where a concept belongs before reading every import.
|
|
9
22
|
|
|
10
|
-
|
|
23
|
+
Load shared mechanics from [`../_shared/SKILL.md`](../_shared/SKILL.md).
|
|
11
24
|
|
|
12
|
-
|
|
25
|
+
<!-- BEGIN GENERATED SKILL COMMANDS -->
|
|
26
|
+
## Commands for this skill
|
|
13
27
|
|
|
14
|
-
|
|
28
|
+
| Command | Purpose | When |
|
|
29
|
+
| --- | --- | --- |
|
|
30
|
+
| `scip-query system <scope>` | Full module map: files, symbols, deps in/out | Inventory evidence: files, symbols, deps in/out for the scope. |
|
|
31
|
+
| `scip-query locality-candidates --json --full` | Find directory-locality and ancestry candidates from consumer ownership | Inventory evidence: directory-locality candidates from consumer ownership. |
|
|
32
|
+
| `scip-query similar-files --full --json` | Find heuristic similar-file candidates from dependency profiles | Inventory evidence: files with overlapping dependency profiles. |
|
|
33
|
+
| `scip-query cycles` | Detect circular dependency chains between files | Inventory evidence: circular dependency chains between files. |
|
|
34
|
+
| `scip-query co-change --json --full` | Files that change together in git history without a dependency edge — hidden coupling candidates | Inventory evidence: hidden file-level coupling from git history. |
|
|
35
|
+
| `scip-query config-validate --json` | Validate .scipquery.json, including structured suppressions and declared coupling groups | Implement a slice: validate locality config after a move. |
|
|
15
36
|
|
|
16
|
-
|
|
37
|
+
Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only when it is insufficient.
|
|
38
|
+
<!-- END GENERATED SKILL COMMANDS -->
|
|
17
39
|
|
|
18
|
-
|
|
40
|
+
## Terms
|
|
19
41
|
|
|
20
|
-
|
|
42
|
+
An ownership boundary is a folder, package, module, or convention that groups code around one stable responsibility.
|
|
21
43
|
|
|
22
|
-
|
|
23
|
-
2. Separate review from migration. A directory architecture review may propose moves; it does not move files unless the user asked for implementation or approved a specific migration slice.
|
|
24
|
-
3. Preserve working conventions. Existing boundaries are not wrong just because they are broad; central folders such as `errors`, `routes`, `workflows`, `schemas`, `contracts`, or `features` may be doing real work.
|
|
25
|
-
4. Do not reward generic `shared`. A shared folder is justified only when the shared concept has a name, owner, and consumers across real boundaries.
|
|
26
|
-
5. Treat messy repos honestly. If ownership concepts are not stable, produce a discovery map and decision list instead of pretending the repo has a clean target structure.
|
|
27
|
-
6. Prefer small verified moves. Broad reorganizations need staged migration slices with import updates, tests, a fresh scip-query index, and `scip-query diff-gate --json`.
|
|
44
|
+
A target structure is a proposed future layout that expresses an ownership model, not merely a prettier tree.
|
|
28
45
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
### 1. Bound the Question
|
|
32
|
-
|
|
33
|
-
Identify whether the user wants:
|
|
34
|
-
|
|
35
|
-
- a review of the existing structure;
|
|
36
|
-
- a proposed target structure;
|
|
37
|
-
- a locality config decision;
|
|
38
|
-
- a migration plan;
|
|
39
|
-
- or an actual file-moving implementation.
|
|
46
|
+
A migration slice is the smallest set of file moves and import updates that can be verified independently.
|
|
40
47
|
|
|
41
|
-
|
|
48
|
+
A slop codebase is a codebase whose files are arranged by accident, convenience, or recent edits rather than stable ownership rules.
|
|
42
49
|
|
|
43
|
-
|
|
50
|
+
## Rules
|
|
44
51
|
|
|
45
|
-
|
|
52
|
+
1. Start with evidence, not taste.
|
|
53
|
+
2. Separate review from migration; do not move files unless asked.
|
|
54
|
+
3. Preserve broad boundaries when evidence shows they are intentional.
|
|
55
|
+
4. Do not reward generic `shared` unless the shared concept has a name, owner, and cross-boundary consumers.
|
|
56
|
+
5. For messy repos, produce a discovery map and decisions instead of pretending the target is obvious.
|
|
57
|
+
6. Prefer small verified moves.
|
|
46
58
|
|
|
47
|
-
|
|
48
|
-
scip-query status
|
|
49
|
-
scip-query status --capabilities
|
|
50
|
-
# If freshness is stale, missing, or unknown:
|
|
51
|
-
# scip-query reindex
|
|
52
|
-
scip-query stats
|
|
53
|
-
find . -maxdepth 3 -type d | sort
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
Read durable project guidance before judging structure:
|
|
59
|
+
## Workflow
|
|
57
60
|
|
|
58
|
-
|
|
59
|
-
rg -n "architecture|structure|feature|module|boundary|shared|workflow|route|contract|domain|ownership" AGENTS.md README.md docs agent-os .codex -g '!node_modules'
|
|
60
|
-
```
|
|
61
|
+
### 1. Bound the question
|
|
61
62
|
|
|
62
|
-
|
|
63
|
+
Classify the request: review, target structure, locality config, migration plan, or implementation.
|
|
63
64
|
|
|
64
|
-
|
|
65
|
+
This step is complete only when the scope and deliverable are explicit.
|
|
65
66
|
|
|
66
|
-
|
|
67
|
+
### 2. Inventory evidence
|
|
67
68
|
|
|
68
69
|
```bash
|
|
70
|
+
scip-query stats
|
|
69
71
|
scip-query system <scope>
|
|
70
72
|
scip-query files <pattern>
|
|
71
73
|
scip-query surface <scope>
|
|
@@ -82,101 +84,57 @@ scip-query recent-duplicates
|
|
|
82
84
|
scip-query drift
|
|
83
85
|
```
|
|
84
86
|
|
|
85
|
-
|
|
87
|
+
Also read durable project guidance that names architecture, modules, ownership, routes, workflows, contracts, or domains.
|
|
86
88
|
|
|
87
|
-
|
|
88
|
-
- public exports, entry points, routes, commands, or package surfaces;
|
|
89
|
-
- main consumers and cross-boundary consumers;
|
|
90
|
-
- tests that define the folder's behavior;
|
|
91
|
-
- co-change partners and repeated edit patterns;
|
|
92
|
-
- duplicated or parallel folder patterns;
|
|
93
|
-
- docs or standards that claim ownership rules.
|
|
89
|
+
This step is complete only when each folder under review has evidence for exports, entry points, consumers, tests, co-change partners, and claimed ownership rules.
|
|
94
90
|
|
|
95
|
-
###
|
|
91
|
+
### 3. Classify boundary maturity
|
|
96
92
|
|
|
97
|
-
Classify each candidate
|
|
93
|
+
Classify each candidate:
|
|
98
94
|
|
|
99
95
|
- Mature: repeated, documented, and enforced by imports, tests, routes, packages, standards, or review history.
|
|
100
|
-
- Emerging: meaningful and partly repeated, but not
|
|
101
|
-
- Accidental:
|
|
96
|
+
- Emerging: meaningful and partly repeated, but not consistent enough to configure.
|
|
97
|
+
- Accidental: convenience bucket, legacy pile, generated artifact, recent edit cluster, or mixed reasons to change.
|
|
102
98
|
|
|
103
|
-
|
|
99
|
+
This step is complete only when mature, emerging, and accidental boundaries are separated.
|
|
104
100
|
|
|
105
|
-
###
|
|
101
|
+
### 4. Propose structure or decisions
|
|
106
102
|
|
|
107
|
-
|
|
103
|
+
Use this shape:
|
|
108
104
|
|
|
109
|
-
|
|
105
|
+
```markdown
|
|
110
106
|
# Directory Architecture Review
|
|
111
107
|
|
|
112
108
|
## Scope
|
|
113
109
|
## Current Structure Map
|
|
114
110
|
## Boundary Maturity
|
|
115
|
-
|
|
116
|
-
| Boundary | Evidence | Maturity | Judgment |
|
|
117
|
-
| --- | --- | --- | --- |
|
|
118
|
-
|
|
119
111
|
## Target Structure
|
|
120
|
-
|
|
121
|
-
```text
|
|
122
|
-
src/
|
|
123
|
-
...
|
|
124
|
-
```
|
|
125
|
-
|
|
126
112
|
## Move Ledger
|
|
127
|
-
|
|
128
|
-
| Slice | Current files | Proposed home | Why | Verification |
|
|
129
|
-
| --- | --- | --- | --- | --- |
|
|
130
|
-
|
|
131
113
|
## Locality Config
|
|
114
|
+
## No-Move Decisions
|
|
132
115
|
## Deferred Decisions
|
|
133
116
|
## Migration Order
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
The target structure should name ownership concepts, not just folder labels. Prefer existing names when they already carry meaning. Introduce a new folder only when it removes ambiguity for multiple files or consumers.
|
|
137
|
-
|
|
138
|
-
### 6. Decide What Not to Move
|
|
139
|
-
|
|
140
|
-
Explicitly list no-move decisions when:
|
|
141
|
-
|
|
142
|
-
- a broad consumer set proves a central boundary is useful;
|
|
143
|
-
- a folder is route-facing, package-facing, or contract-facing;
|
|
144
|
-
- consumers cross boundaries because the concept is infrastructure;
|
|
145
|
-
- moving would hide a domain-specific concept under generic `shared`;
|
|
146
|
-
- the evidence is too weak and needs a human ownership decision.
|
|
117
|
+
```
|
|
147
118
|
|
|
148
|
-
|
|
119
|
+
List no-move decisions when broad consumers, route/package/contract surfaces, infrastructure roles, generic shared risk, or weak evidence make a move harmful.
|
|
149
120
|
|
|
150
|
-
|
|
121
|
+
This step is complete only when every proposed move has a reason and verification path.
|
|
151
122
|
|
|
152
|
-
|
|
153
|
-
- imports/exports/tests/docs to update;
|
|
154
|
-
- expected verification commands;
|
|
155
|
-
- rollback risk.
|
|
123
|
+
### 5. Implement one slice when asked
|
|
156
124
|
|
|
157
|
-
|
|
125
|
+
Before editing, state files to move, imports/exports/tests/docs to update, expected verification, and rollback risk. Then move the smallest high-confidence slice and run:
|
|
158
126
|
|
|
159
127
|
```bash
|
|
160
|
-
scip-query status --capabilities
|
|
161
|
-
# If freshness is stale, missing, or unknown:
|
|
162
|
-
# scip-query reindex
|
|
163
128
|
scip-query incomplete-migration
|
|
164
129
|
scip-query recent-duplicates
|
|
165
130
|
scip-query co-change <moved-file-or-config>
|
|
166
|
-
scip-query diff-gate --json
|
|
167
131
|
```
|
|
168
132
|
|
|
169
|
-
Also run
|
|
133
|
+
Also run project tests or typecheck for the affected workspace. If `.scipquery.json` locality changed, run:
|
|
170
134
|
|
|
171
135
|
```bash
|
|
172
136
|
scip-query config-validate
|
|
173
137
|
scip-query locality-candidates --json --full
|
|
174
138
|
```
|
|
175
139
|
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
- Lead with findings and judgments, not command transcripts.
|
|
179
|
-
- Every proposed boundary needs evidence from at least two independent signals or a clear note that it is only a candidate.
|
|
180
|
-
- Every proposed move needs a verification path.
|
|
181
|
-
- For messy repos, output "discovery mode" and decision questions instead of a fake complete architecture.
|
|
182
|
-
- For implementation, never batch unrelated folder moves just because they fit the same target structure.
|
|
140
|
+
Then invoke `scip-verify`. The implementation is complete only when imports, tests, locality signals, and verification are checked.
|
|
@@ -1,100 +1,89 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: scip-doc-reconcile
|
|
3
|
-
description: Reconcile
|
|
3
|
+
description: Reconcile living docs with current code using scip-query doc-drift. Use for stale standards, broken file references, docs that cite moved code, agent guidance, or normative contradictions between documentation and implementation.
|
|
4
|
+
commands:
|
|
5
|
+
- template: "scip-query doc-drift --json --full"
|
|
6
|
+
when: "Build the worklist: every stale-doc candidate, ranked."
|
|
7
|
+
- template: "scip-query doc-drift <doc>"
|
|
8
|
+
when: "Reconcile one doc: staleness detail for a single target."
|
|
9
|
+
- template: "scip-query outline <subject-file>"
|
|
10
|
+
when: "Reconcile one doc: current shape of the code the doc describes."
|
|
11
|
+
- template: "scip-query trace <symbol>"
|
|
12
|
+
when: "Reconcile one doc: verify a symbol the doc mentions still exists as described."
|
|
13
|
+
- template: "scip-query code <symbol>"
|
|
14
|
+
when: "Reconcile one doc: re-derive a snippet from current source."
|
|
4
15
|
---
|
|
5
16
|
|
|
6
|
-
#
|
|
17
|
+
# scip-doc-reconcile
|
|
7
18
|
|
|
8
|
-
|
|
9
|
-
the doc doesn't, every agent that reads it implements against a dead spec.
|
|
10
|
-
This skill reconciles docs with reality — using evidence, not memory.
|
|
19
|
+
Use this skill to make living documentation true again. A living doc is documentation agents or maintainers use to make present-day changes, such as AGENTS.md, CLAUDE.md, standards, command docs, or workflow docs.
|
|
11
20
|
|
|
12
|
-
|
|
21
|
+
Load shared mechanics from [`../_shared/SKILL.md`](../_shared/SKILL.md).
|
|
13
22
|
|
|
14
|
-
|
|
23
|
+
<!-- BEGIN GENERATED SKILL COMMANDS -->
|
|
24
|
+
## Commands for this skill
|
|
15
25
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
26
|
+
| Command | Purpose | When |
|
|
27
|
+
| --- | --- | --- |
|
|
28
|
+
| `scip-query doc-drift --json --full` | Stale-doc candidates: code the doc references or co-changed with kept changing after the doc stopped | Build the worklist: every stale-doc candidate, ranked. |
|
|
29
|
+
| `scip-query doc-drift <doc>` | Stale-doc candidates: code the doc references or co-changed with kept changing after the doc stopped | Reconcile one doc: staleness detail for a single target. |
|
|
30
|
+
| `scip-query outline <subject-file>` | Tree view of symbols in a file, with line ranges | Reconcile one doc: current shape of the code the doc describes. |
|
|
31
|
+
| `scip-query trace <symbol>` | Trace a symbol: definition + all references | Reconcile one doc: verify a symbol the doc mentions still exists as described. |
|
|
32
|
+
| `scip-query code <symbol>` | Read the source code for a symbol (bounded to its definition range) | Reconcile one doc: re-derive a snippet from current source. |
|
|
23
33
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
34
|
+
Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only when it is insufficient.
|
|
35
|
+
<!-- END GENERATED SKILL COMMANDS -->
|
|
36
|
+
|
|
37
|
+
## Rule
|
|
38
|
+
|
|
39
|
+
Separate statement types:
|
|
40
|
+
|
|
41
|
+
- Descriptive claims say what the code currently does or where it lives. Update them when code moves.
|
|
42
|
+
- Normative claims say what code must or should do. If code violates them, fix the code or escalate the contradiction; do not weaken the standard silently.
|
|
43
|
+
|
|
44
|
+
This distinction is the core of doc reconciliation.
|
|
27
45
|
|
|
28
46
|
## Workflow
|
|
29
47
|
|
|
30
|
-
### 1. Build the
|
|
48
|
+
### 1. Build the worklist
|
|
31
49
|
|
|
32
50
|
```bash
|
|
33
|
-
scip-query
|
|
34
|
-
|
|
35
|
-
# scip-query reindex
|
|
36
|
-
scip-query doc-drift # all living docs, ranked by staleness
|
|
37
|
-
scip-query doc-drift agent-os/standards # scoped to a standards tree
|
|
51
|
+
scip-query doc-drift --json --full
|
|
52
|
+
scip-query doc-drift <doc-or-tree>
|
|
38
53
|
```
|
|
39
54
|
|
|
40
|
-
|
|
41
|
-
1. Docs with `BROKEN REFERENCE` lines (the spec cites deleted code — actively wrong)
|
|
42
|
-
2. Highest staleness score
|
|
43
|
-
3. Docs agents read most (AGENTS.md, CLAUDE.md, standards indexes)
|
|
55
|
+
Prioritize broken references, highest staleness, then docs agents read most. Do not reconcile archival records such as dated plans, ADRs, or reports — list them in `.scipquery.json` `docs.snapshotPaths` so `doc-drift` excludes them with a labeled exclusion instead of resurfacing them every sweep.
|
|
44
56
|
|
|
45
|
-
|
|
46
|
-
excluded automatically — do not "reconcile" records of past decisions.
|
|
57
|
+
This step is complete only when each target doc is selected for a current-use reason.
|
|
47
58
|
|
|
48
|
-
### 2. Reconcile one doc
|
|
59
|
+
### 2. Reconcile one doc
|
|
49
60
|
|
|
50
|
-
For each doc
|
|
61
|
+
For each doc:
|
|
51
62
|
|
|
52
63
|
```bash
|
|
53
|
-
scip-query doc-drift <doc>
|
|
54
|
-
|
|
55
|
-
scip-query
|
|
56
|
-
scip-query
|
|
57
|
-
scip-query
|
|
64
|
+
scip-query doc-drift <doc>
|
|
65
|
+
scip-query outline <subject-file>
|
|
66
|
+
scip-query system <module>
|
|
67
|
+
scip-query trace <symbol-the-doc-mentions>
|
|
68
|
+
scip-query code <symbol>
|
|
58
69
|
```
|
|
59
70
|
|
|
60
|
-
|
|
71
|
+
Use Git history only to understand why a subject changed, not as a substitute for current code evidence.
|
|
72
|
+
|
|
73
|
+
Fix broken references by finding the current code or deleting the obsolete claim. Rewrite stale descriptive claims from current source evidence. Re-derive snippets from `scip-query code`. Record normative contradictions instead of changing standards to bless drifted code.
|
|
61
74
|
|
|
62
|
-
|
|
63
|
-
`git log --follow`) and update the citation — or delete the claim if the
|
|
64
|
-
capability is gone.
|
|
65
|
-
- **Stale descriptive claims**: re-read the subject files and rewrite the
|
|
66
|
-
claims to match current behavior. Every concrete claim you write must be
|
|
67
|
-
something you verified with a scip-query command this session — no claims
|
|
68
|
-
from memory.
|
|
69
|
-
- **Examples and snippets**: re-derive them from current code
|
|
70
|
-
(`scip-query code <symbol>`), don't patch them by eye.
|
|
71
|
-
- **Normative violations found while reading**: add them to the report under
|
|
72
|
-
"Standard vs code contradictions" with file:line evidence. Do not edit the
|
|
73
|
-
normative text.
|
|
75
|
+
This step is complete only when every edited claim is supported by evidence from this session.
|
|
74
76
|
|
|
75
|
-
### 3. Verify
|
|
77
|
+
### 3. Verify
|
|
76
78
|
|
|
77
79
|
```bash
|
|
78
|
-
scip-query doc-drift <doc>
|
|
79
|
-
scip-query diff-gate --json # your own doc edits gate clean before commit
|
|
80
|
+
scip-query doc-drift <doc>
|
|
80
81
|
```
|
|
81
82
|
|
|
82
|
-
|
|
83
|
-
ways you haven't reflected — go back.
|
|
83
|
+
Invoke `scip-verify` when the documentation change is part of a codebase diff. The doc is complete only when staleness drops to zero or the remaining contradiction is explicitly reported.
|
|
84
84
|
|
|
85
85
|
### 4. Report
|
|
86
86
|
|
|
87
|
-
|
|
88
|
-
- **Standard vs code contradictions** (normative): each with the standard's
|
|
89
|
-
requirement, the violating file:line, and a recommendation (fix code /
|
|
90
|
-
amend standard) — explicitly awaiting a human call.
|
|
91
|
-
- Docs recommended for deletion (describe removed capabilities entirely).
|
|
92
|
-
|
|
93
|
-
## Hard Rules
|
|
87
|
+
Report staleness before and after, broken references fixed, claims updated, normative contradictions, and docs recommended for deletion.
|
|
94
88
|
|
|
95
|
-
|
|
96
|
-
commit message or PR description).
|
|
97
|
-
2. Never weaken normative language to match drifted code.
|
|
98
|
-
3. Never reconcile archival docs (plans, ADRs, reports) — they are records.
|
|
99
|
-
4. One commit per doc (or tight group) so review is per-standard.
|
|
100
|
-
5. Re-run `scip-query doc-drift` at the end; the summary line is the result.
|
|
89
|
+
Do not claim reconciliation is done until `doc-drift` has been rerun.
|