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,18 +1,48 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: scip-api-impact
|
|
3
|
-
description: Assess
|
|
3
|
+
description: Assess API impact with scip-query evidence. Use before changing public exports, module boundaries, schemas, routes, CLI commands, config fields, generated artifacts, signatures, docs-backed behavior, or consumer migrations.
|
|
4
|
+
commands:
|
|
5
|
+
- template: "scip-query surface <module-or-package>"
|
|
6
|
+
when: "Identify the surface: what consumers actually use from the module."
|
|
7
|
+
- template: "scip-query refs <symbol>"
|
|
8
|
+
when: "Find consumers: every direct reference to the surface symbol."
|
|
9
|
+
- template: "scip-query affected <symbol> --json"
|
|
10
|
+
when: "Find consumers: transitive blast radius of the change."
|
|
11
|
+
- template: "scip-query co-change <file> --json --full"
|
|
12
|
+
when: "Find hidden partners: historically coupled files without a dependency edge."
|
|
13
|
+
- template: "scip-query doc-drift --json --full"
|
|
14
|
+
when: "Find hidden partners: docs that describe the surface and may need an update."
|
|
15
|
+
- template: "scip-query unused-params --json --full"
|
|
16
|
+
when: "Choose migration shape: reject speculative new parameters."
|
|
4
17
|
---
|
|
5
18
|
|
|
6
|
-
#
|
|
19
|
+
# scip-api-impact
|
|
7
20
|
|
|
8
|
-
Use this skill before changing a public surface. A public surface is a callable, export, route, schema, config field, CLI command, generated artifact, or documented behavior that other code or users can depend on. Its defining trait is that a local edit can require coordinated consumer, docs,
|
|
21
|
+
Use this skill before changing a public surface. A public surface is a callable, export, route, schema, config field, CLI command, generated artifact, or documented behavior that other code or users can depend on. Its defining trait is that a local edit can require coordinated consumer, docs, tests, or migration changes outside the implementation file.
|
|
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 surface <module-or-package>` | What symbols consumers actually use from this module | Identify the surface: what consumers actually use from the module. |
|
|
31
|
+
| `scip-query refs <symbol>` | Find all files referencing a symbol | Find consumers: every direct reference to the surface symbol. |
|
|
32
|
+
| `scip-query affected <symbol> --json` | Transitive closure of symbols that could break if this symbol changes | Find consumers: transitive blast radius of the change. |
|
|
33
|
+
| `scip-query co-change <file> --json --full` | Files that change together in git history without a dependency edge — hidden coupling candidates | Find hidden partners: historically coupled files without a dependency edge. |
|
|
34
|
+
| `scip-query doc-drift --json --full` | Stale-doc candidates: code the doc references or co-changed with kept changing after the doc stopped | Find hidden partners: docs that describe the surface and may need an update. |
|
|
35
|
+
| `scip-query unused-params --json --full` | Speculative-generality candidates: trailing parameters no body ever uses (TS/JS) | Choose migration shape: reject speculative new parameters. |
|
|
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. Identify the actual surface before planning
|
|
13
|
-
2.
|
|
42
|
+
1. Identify the actual surface before planning.
|
|
43
|
+
2. Find direct consumers, reverse dependencies, transitive blast radius, and historical co-change partners.
|
|
14
44
|
3. Treat docs, generated files, tests, and config as part of the API when they describe or enforce the surface.
|
|
15
|
-
4. Prefer backward-compatible
|
|
45
|
+
4. Prefer backward-compatible migrations when consumers are broad or external.
|
|
16
46
|
5. Run `scip-verify` after implementation.
|
|
17
47
|
|
|
18
48
|
## Workflow
|
|
@@ -20,19 +50,16 @@ Use this skill before changing a public surface. A public surface is a callable,
|
|
|
20
50
|
### 1. Identify the surface
|
|
21
51
|
|
|
22
52
|
```bash
|
|
23
|
-
scip-query status --capabilities
|
|
24
|
-
scip-query status --capabilities
|
|
25
|
-
# If freshness is stale, missing, or unknown:
|
|
26
|
-
# scip-query reindex
|
|
27
53
|
scip-query surface <module-or-package>
|
|
28
54
|
scip-query outline <file>
|
|
29
55
|
scip-query trace <symbol-or-command>
|
|
30
56
|
scip-query code <symbol-or-command>
|
|
57
|
+
scip-query hierarchy <symbol> --json
|
|
31
58
|
```
|
|
32
59
|
|
|
33
|
-
|
|
60
|
+
This step is complete only when the real surface is named: member, class, module, package, route, schema, command, or config field.
|
|
34
61
|
|
|
35
|
-
### 2. Find consumers
|
|
62
|
+
### 2. Find consumers
|
|
36
63
|
|
|
37
64
|
```bash
|
|
38
65
|
scip-query refs <symbol>
|
|
@@ -42,7 +69,9 @@ scip-query affected <symbol> --json
|
|
|
42
69
|
scip-query change-surface <file> --json --full
|
|
43
70
|
```
|
|
44
71
|
|
|
45
|
-
Record direct consumers separately from transitive consumers.
|
|
72
|
+
Record direct consumers separately from transitive consumers.
|
|
73
|
+
|
|
74
|
+
This step is complete only when direct breakage and regression blast radius are known.
|
|
46
75
|
|
|
47
76
|
### 3. Find hidden partners
|
|
48
77
|
|
|
@@ -53,18 +82,18 @@ scip-query similar <symbol> --json --full
|
|
|
53
82
|
scip-query similar-files <file> --json --full
|
|
54
83
|
```
|
|
55
84
|
|
|
56
|
-
|
|
85
|
+
This step is complete only when docs, generated files, fixtures, sibling APIs, and hand-synchronized partners are accounted for or ruled out.
|
|
57
86
|
|
|
58
|
-
### 4. Choose
|
|
87
|
+
### 4. Choose migration shape
|
|
59
88
|
|
|
60
89
|
Pick one:
|
|
61
90
|
|
|
62
|
-
- Compatible extension
|
|
63
|
-
- Two-step migration
|
|
64
|
-
- Breaking
|
|
65
|
-
- Adapter shim
|
|
91
|
+
- Compatible extension.
|
|
92
|
+
- Two-step migration.
|
|
93
|
+
- Breaking coordinated change.
|
|
94
|
+
- Adapter shim for external consumers or compatibility windows.
|
|
66
95
|
|
|
67
|
-
Reject speculative
|
|
96
|
+
Reject speculative inputs and empty wrappers with:
|
|
68
97
|
|
|
69
98
|
```bash
|
|
70
99
|
scip-query unused-params --json --full
|
|
@@ -72,80 +101,35 @@ scip-query wrapper-candidates --json --full
|
|
|
72
101
|
scip-query passthrough-candidates --json --full
|
|
73
102
|
```
|
|
74
103
|
|
|
75
|
-
|
|
104
|
+
This step is complete only when the migration shape explains deploy order, rollback, and compatibility risk.
|
|
76
105
|
|
|
77
|
-
|
|
106
|
+
### 5. Build and verify the plan
|
|
78
107
|
|
|
79
108
|
```markdown
|
|
80
109
|
Surface:
|
|
81
|
-
- <symbol/file/command/schema>
|
|
82
|
-
|
|
83
110
|
Consumers:
|
|
84
|
-
- direct: <count and important files>
|
|
85
|
-
- transitive: <count or affected clusters>
|
|
86
|
-
|
|
87
111
|
Required co-changes:
|
|
88
|
-
- code
|
|
89
|
-
- tests
|
|
90
|
-
- docs
|
|
91
|
-
- generated files
|
|
92
|
-
- config or schema partners
|
|
93
|
-
|
|
94
112
|
Migration:
|
|
95
|
-
- compatible extension / two-step / breaking / shim
|
|
96
|
-
|
|
97
113
|
Verification:
|
|
98
114
|
- targeted tests
|
|
99
115
|
- `scip-query diff-impact --json`
|
|
100
|
-
- `scip-
|
|
116
|
+
- invoke `scip-verify`
|
|
101
117
|
- `scip-query doc-drift --json --full` when docs changed
|
|
102
118
|
- `scip-query config-validate` when config changed
|
|
103
119
|
```
|
|
104
120
|
|
|
105
|
-
|
|
121
|
+
After editing, run routed checks from the shared reference and invoke `scip-verify`.
|
|
106
122
|
|
|
107
|
-
|
|
108
|
-
scip-query status --capabilities
|
|
109
|
-
# If freshness is stale, missing, or unknown:
|
|
110
|
-
# scip-query reindex
|
|
111
|
-
scip-query diff-impact --json
|
|
112
|
-
scip-query diff-gate --json
|
|
113
|
-
```
|
|
123
|
+
The work is complete only when direct consumers, docs/config partners, and `scip-verify` have been checked.
|
|
114
124
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
```bash
|
|
118
|
-
scip-query unused-params --json --full
|
|
119
|
-
scip-query incomplete-migration --json --full
|
|
120
|
-
scip-query co-change <changed-file> --json --full
|
|
121
|
-
scip-query doc-drift --json --full
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
Invoke `scip-verify` before declaring the API change ready.
|
|
125
|
-
|
|
126
|
-
## Report Format
|
|
125
|
+
## Report
|
|
127
126
|
|
|
128
127
|
```markdown
|
|
129
128
|
API impact: low/medium/high
|
|
130
|
-
|
|
131
129
|
Surface changed:
|
|
132
|
-
- <surface>
|
|
133
|
-
|
|
134
130
|
Consumers:
|
|
135
|
-
- <direct consumers>
|
|
136
|
-
- <transitive blast radius>
|
|
137
|
-
|
|
138
131
|
Migration plan:
|
|
139
|
-
- <chosen shape and why>
|
|
140
|
-
|
|
141
132
|
Co-changes:
|
|
142
|
-
- <docs/tests/generated/config partners>
|
|
143
|
-
|
|
144
133
|
Verification:
|
|
145
|
-
- <commands run and results>
|
|
146
|
-
|
|
147
134
|
Remaining risk:
|
|
148
|
-
- <external consumers, unavailable capabilities, or accepted compatibility shims>
|
|
149
135
|
```
|
|
150
|
-
|
|
151
|
-
Do not call a public-surface change safe until direct consumers, docs/config partners, and `scip-query diff-gate --json` have been checked.
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: scip-claim-audit
|
|
3
|
+
description: Audit output-facing status claims for evidence with scip-query. Use to classify whether an "available", "verified", "safe", "PASS", or "complete" status word is derived from a real check, hedged as a candidate, or merely asserted without being probed.
|
|
4
|
+
commands:
|
|
5
|
+
- template: "scip-query files <pattern>"
|
|
6
|
+
when: "Inventory: locate the renderer or status-producing module for a claim."
|
|
7
|
+
- template: "scip-query refs <symbol>"
|
|
8
|
+
when: "Classify: find every producer and consumer of a status-bearing function."
|
|
9
|
+
- template: "scip-query code <symbol>"
|
|
10
|
+
when: "Classify: read the producing function to see whether it computes or asserts."
|
|
11
|
+
- template: "scip-query trace <symbol>"
|
|
12
|
+
when: "Classify: definition plus every reference for a status field or constant."
|
|
13
|
+
- template: "scip-query capabilities --matrix --json"
|
|
14
|
+
when: "Spot-check: an already-known example of a fixed derived-status surface."
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# scip-claim-audit
|
|
18
|
+
|
|
19
|
+
Use this skill to find agent-facing claims that sound verified but are not. A status word is **derived** when its producer computes it from a real probe, scan, or computation (a compiler run, a runtime capability probe, a graph traversal). It is **hedged** when the code or its label already says it is a candidate, heuristic, or unverified. It is **asserted** when the value is a constant, a hardcoded table entry, or a string literal presented with the same confidence as a derived value but backed by nothing the code actually checked at that call site. Asserted status words that are agent-facing and trust-bearing (an agent would route a decision — "use this evidence", "skip this check", "delete this" — based on the word) are the highest-severity class this skill exists to find.
|
|
20
|
+
|
|
21
|
+
Load shared mechanics from [`../_shared/SKILL.md`](../_shared/SKILL.md).
|
|
22
|
+
|
|
23
|
+
<!-- BEGIN GENERATED SKILL COMMANDS -->
|
|
24
|
+
## Commands for this skill
|
|
25
|
+
|
|
26
|
+
| Command | Purpose | When |
|
|
27
|
+
| --- | --- | --- |
|
|
28
|
+
| `scip-query files <pattern>` | Find files matching a pattern | Inventory: locate the renderer or status-producing module for a claim. |
|
|
29
|
+
| `scip-query refs <symbol>` | Find all files referencing a symbol | Classify: find every producer and consumer of a status-bearing function. |
|
|
30
|
+
| `scip-query code <symbol>` | Read the source code for a symbol (bounded to its definition range) | Classify: read the producing function to see whether it computes or asserts. |
|
|
31
|
+
| `scip-query trace <symbol>` | Trace a symbol: definition + all references | Classify: definition plus every reference for a status field or constant. |
|
|
32
|
+
| `scip-query capabilities --matrix --json` | Report which evidence and verification capabilities are available in this project | Spot-check: an already-known example of a fixed derived-status surface. |
|
|
33
|
+
|
|
34
|
+
Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only when it is insufficient.
|
|
35
|
+
<!-- END GENERATED SKILL COMMANDS -->
|
|
36
|
+
|
|
37
|
+
## Rules
|
|
38
|
+
|
|
39
|
+
1. Ground every claim in the producing function's source, not its label or variable name alone — a variable named `verified` that is never checked against a real result is still asserted.
|
|
40
|
+
2. Classify status, don't just list it: every status word in scope gets exactly one of derived / hedged / asserted.
|
|
41
|
+
3. Severity follows the rubric: asserted + agent-facing + trust-bearing = high; asserted + internal-only or low-consequence = low; hedged is not a finding (the label already discloses uncertainty).
|
|
42
|
+
4. A status that used to be asserted and now calls a real probe is fixed — say so and move on; do not re-report it.
|
|
43
|
+
5. File findings as a table, not prose; a claim → producer → classification → fix format is the deliverable.
|
|
44
|
+
|
|
45
|
+
## Workflow
|
|
46
|
+
|
|
47
|
+
### 1. Inventory the status vocabulary
|
|
48
|
+
|
|
49
|
+
Grep the target scope (a file, module, or command family) for user-visible or JSON-facing status words: `available`, `unavailable`, `partial`, `verified`, `safe`, `PASS`, `FAIL`, `complete`, `derived`, `asserted`. For each hit, note the file:line and the renderer or JSON field that surfaces it to an agent or user.
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
scip-query files <target-file-or-pattern>
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
This step is complete only when every status-bearing string or field in scope is listed with its surface (human output, `--json` field, or both).
|
|
56
|
+
|
|
57
|
+
### 2. Classify each producer
|
|
58
|
+
|
|
59
|
+
For each status word's producing function:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
scip-query refs <producing-function>
|
|
63
|
+
scip-query code <producing-function>
|
|
64
|
+
scip-query trace <status-field-or-constant>
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Read the function body. Classify:
|
|
68
|
+
|
|
69
|
+
- **Derived**: the status is computed from a probe, scan, spawn result, file check, or graph query performed at or near that call site.
|
|
70
|
+
- **Hedged**: the label, descriptor evidence tier, or surrounding text already marks the value as heuristic, candidate, or unverified.
|
|
71
|
+
- **Asserted**: the value is a literal, a static table lookup, or a branch that returns a fixed status without invoking any check for that specific branch.
|
|
72
|
+
|
|
73
|
+
This step is complete only when every producer has one of these three labels with the one line of source evidence that justifies it.
|
|
74
|
+
|
|
75
|
+
### 3. File findings for every asserted status
|
|
76
|
+
|
|
77
|
+
For each **asserted** status, apply the severity rubric (rule 3) and write:
|
|
78
|
+
|
|
79
|
+
```markdown
|
|
80
|
+
Claim: <status word and where it appears>
|
|
81
|
+
Producer: <file:line function name>
|
|
82
|
+
Classification: asserted
|
|
83
|
+
Severity: high/low
|
|
84
|
+
Fix: probe it (name the real check to add), generate it (derive from a registry/config that is itself kept honest), or soften the language (hedge the label to match what is actually known)
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
This step is complete only when every asserted status in scope has a filed finding with a fix direction, and every derived/hedged status is confirmed correct (not silently asserted behind a computed-looking name).
|
|
88
|
+
|
|
89
|
+
### 4. Report
|
|
90
|
+
|
|
91
|
+
Write the report under `docs/scip-query/` unless the user asked only for a conversational answer.
|
|
92
|
+
|
|
93
|
+
```markdown
|
|
94
|
+
Scope:
|
|
95
|
+
Status words inventoried: N
|
|
96
|
+
|
|
97
|
+
Claim table:
|
|
98
|
+
| Claim | Producer | Classification | Fix |
|
|
99
|
+
| --- | --- | --- | --- |
|
|
100
|
+
|
|
101
|
+
Fixed since last audit:
|
|
102
|
+
- <claim> — now derived via <probe>, no longer a finding.
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
The audit is complete only when every status word in scope is classified and every asserted, trust-bearing claim has a filed finding.
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "SCIP Claim Audit"
|
|
3
|
+
short_description: "Classify output-facing status claims as derived, hedged, or asserted"
|
|
4
|
+
default_prompt: "Use scip-query to inventory output-facing status words in the target scope, classify each producer as derived, hedged, or asserted, and file findings for asserted trust-bearing claims."
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: scip-cleanup-audit
|
|
3
|
+
description: Audit and rank scip-query cleanup signals without editing code. Use for health reports, de-bloat reports, recent AI residue audits, score-framed cleanup queues, confirming raw findings, or preparing a cleanup plan.
|
|
4
|
+
commands:
|
|
5
|
+
- template: "scip-query health --json"
|
|
6
|
+
when: "Establish evidence: composite score and prioritized action list."
|
|
7
|
+
- template: "scip-query cleanup-plan --verify --json"
|
|
8
|
+
when: "Sweep signals: compiler-verified deletion plan, batched."
|
|
9
|
+
- template: "scip-query duplicate-bodies --json --full"
|
|
10
|
+
when: "Sweep signals: exact duplicate small-body candidates."
|
|
11
|
+
- template: "scip-query recent-duplicates --json --full"
|
|
12
|
+
when: "Sweep signals: recent code that re-implements established code."
|
|
13
|
+
- template: "scip-query incomplete-migration --json --full"
|
|
14
|
+
when: "Sweep signals: partially-completed extractions."
|
|
15
|
+
- template: "scip-query doc-drift --json --full"
|
|
16
|
+
when: "Sweep signals: stale docs referencing changed code."
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# scip-cleanup-audit
|
|
20
|
+
|
|
21
|
+
Use this skill to turn raw scip-query signals into a confirmed cleanup queue. Do not edit application code in this skill.
|
|
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 health --json` | Composite codebase health report with prioritized action list | Establish evidence: composite score and prioritized action list. |
|
|
31
|
+
| `scip-query cleanup-plan --verify --json` | Ordered, batched deletion plan: graph-fact dead code plus the cascade candidates it unlocks | Sweep signals: compiler-verified deletion plan, batched. |
|
|
32
|
+
| `scip-query duplicate-bodies --json --full` | Find exact duplicate small-body candidates across files | Sweep signals: exact duplicate small-body candidates. |
|
|
33
|
+
| `scip-query recent-duplicates --json --full` | Directional duplicate candidates: recent code that re-implements established callable, React, or Vue code | Sweep signals: recent code that re-implements established code. |
|
|
34
|
+
| `scip-query incomplete-migration --json --full` | Partially-completed extraction candidates: new helpers in the diff wired into some sites while similar un-migrated sites remain | Sweep signals: partially-completed extractions. |
|
|
35
|
+
| `scip-query doc-drift --json --full` | Stale-doc candidates: code the doc references or co-changed with kept changing after the doc stopped | Sweep signals: stale docs referencing changed code. |
|
|
36
|
+
|
|
37
|
+
Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only when it is insufficient.
|
|
38
|
+
<!-- END GENERATED SKILL COMMANDS -->
|
|
39
|
+
|
|
40
|
+
## Modes
|
|
41
|
+
|
|
42
|
+
- Whole-repo audit: rank all cleanup signals.
|
|
43
|
+
- Recent AI residue: focus on echoes, twins, incomplete migrations, speculative params, stale agent-facing docs, and hidden couplings.
|
|
44
|
+
- Score-framed audit: explain health score deductions and the safest first batch.
|
|
45
|
+
|
|
46
|
+
## Workflow
|
|
47
|
+
|
|
48
|
+
### 1. Establish evidence
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
scip-query doctor
|
|
52
|
+
scip-query status --capabilities
|
|
53
|
+
scip-query health --json
|
|
54
|
+
scip-query capabilities --json
|
|
55
|
+
scip-query config-validate --json
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
This step is complete only when unavailable capabilities are recorded as unavailable.
|
|
59
|
+
|
|
60
|
+
### 2. Sweep signals
|
|
61
|
+
|
|
62
|
+
Run every relevant class, or record why it is unavailable:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
scip-query cleanup-plan --verify --json
|
|
66
|
+
scip-query duplicate-bodies --json --full
|
|
67
|
+
scip-query recent-duplicates --json --full
|
|
68
|
+
scip-query incomplete-migration --json --full
|
|
69
|
+
scip-query unused-params --json --full
|
|
70
|
+
scip-query passthrough-candidates --json --full
|
|
71
|
+
scip-query dead --json --full
|
|
72
|
+
scip-query isolated --json --full
|
|
73
|
+
scip-query cycles
|
|
74
|
+
scip-query co-change --json --full
|
|
75
|
+
scip-query doc-drift --json --full
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
For frontend repos, add the React or Vue duplicate, hook/composable, and large-component/view commands.
|
|
79
|
+
|
|
80
|
+
Optional deep-dive (near-zero precision on codebases with intentional layering/ambient types — run only when the sweep above is exhausted, and treat every hit as a lead to confirm, not a finding):
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
scip-query stale-abstractions --json --full
|
|
84
|
+
scip-query wrapper-candidates --json --full
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### 3. Confirm candidates
|
|
88
|
+
|
|
89
|
+
For each high-priority candidate, inspect source and graph evidence:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
scip-query code <symbol-or-file>
|
|
93
|
+
scip-query refs <symbol>
|
|
94
|
+
scip-query fan-in <symbol>
|
|
95
|
+
scip-query fan-out <symbol-or-file>
|
|
96
|
+
scip-query affected <symbol> --json
|
|
97
|
+
scip-query change-surface <file> --json --full
|
|
98
|
+
scip-query similar <symbolA> <symbolB> --plan
|
|
99
|
+
scip-query co-change <file> --json --full
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Classify every candidate as `confirmed fix target`, `intentional design`, `false positive`, or `blocked`.
|
|
103
|
+
|
|
104
|
+
### 4. Report
|
|
105
|
+
|
|
106
|
+
```markdown
|
|
107
|
+
Health score: N/100
|
|
108
|
+
|
|
109
|
+
Confirmed items:
|
|
110
|
+
- [priority] finding - evidence - first safe action
|
|
111
|
+
|
|
112
|
+
Unconfirmed signals:
|
|
113
|
+
- signal - evidence still needed
|
|
114
|
+
|
|
115
|
+
Unavailable or blocked checks:
|
|
116
|
+
- check - reason
|
|
117
|
+
|
|
118
|
+
Recommended first cleanup batch:
|
|
119
|
+
- batch - why safe now
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
The audit is complete only when each collected signal is classified and the next action is visible.
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "SCIP Cleanup Audit"
|
|
3
|
+
short_description: "Confirm and rank cleanup, de-bloat, and recent AI residue signals without editing"
|
|
4
|
+
default_prompt: "Audit scip-query cleanup signals, classify findings with evidence, and report the safest next cleanup batch."
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: scip-cleanup-improve
|
|
3
|
+
description: Improve scip-query health autonomously with verified cleanup. Use when the user asks to fix cleanup findings, raise health, keep cleaning, continue after setup, or work until no safe confirmed cleanup remains.
|
|
4
|
+
commands:
|
|
5
|
+
- template: "scip-query health --json"
|
|
6
|
+
when: "Before editing: report current score and remaining signals."
|
|
7
|
+
- template: "scip-query cleanup-plan --verify --json"
|
|
8
|
+
when: "Loop: confirm the next compiler-verified deletion batch."
|
|
9
|
+
- template: "scip-query cleanup-apply --verified --batch <n>"
|
|
10
|
+
when: "Loop: apply one verified deletion batch."
|
|
11
|
+
- template: "scip-query duplicate-bodies --json --full"
|
|
12
|
+
when: "Priority: exact duplicate small-body echoes to consolidate."
|
|
13
|
+
- template: "scip-query incomplete-migration --json --full"
|
|
14
|
+
when: "Priority: un-migrated call sites left behind by a new helper."
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# scip-cleanup-improve
|
|
18
|
+
|
|
19
|
+
Use this skill for bounded autonomous cleanup. The target is not score chasing; the target is fixing confirmed issues that make the codebase harder to understand, verify, or change.
|
|
20
|
+
|
|
21
|
+
Load shared mechanics from [`../_shared/SKILL.md`](../_shared/SKILL.md).
|
|
22
|
+
|
|
23
|
+
<!-- BEGIN GENERATED SKILL COMMANDS -->
|
|
24
|
+
## Commands for this skill
|
|
25
|
+
|
|
26
|
+
| Command | Purpose | When |
|
|
27
|
+
| --- | --- | --- |
|
|
28
|
+
| `scip-query health --json` | Composite codebase health report with prioritized action list | Before editing: report current score and remaining signals. |
|
|
29
|
+
| `scip-query cleanup-plan --verify --json` | Ordered, batched deletion plan: graph-fact dead code plus the cascade candidates it unlocks | Loop: confirm the next compiler-verified deletion batch. |
|
|
30
|
+
| `scip-query cleanup-apply --verified --batch <n>` | Apply a compiler-verified cleanup-plan batch to the working tree | Loop: apply one verified deletion batch. |
|
|
31
|
+
| `scip-query duplicate-bodies --json --full` | Find exact duplicate small-body candidates across files | Priority: exact duplicate small-body echoes to consolidate. |
|
|
32
|
+
| `scip-query incomplete-migration --json --full` | Partially-completed extraction candidates: new helpers in the diff wired into some sites while similar un-migrated sites remain | Priority: un-migrated call sites left behind by a new helper. |
|
|
33
|
+
|
|
34
|
+
Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only when it is insufficient.
|
|
35
|
+
<!-- END GENERATED SKILL COMMANDS -->
|
|
36
|
+
|
|
37
|
+
## Rules
|
|
38
|
+
|
|
39
|
+
1. Start with `scip-cleanup-audit` evidence or run the audit sweep yourself.
|
|
40
|
+
2. Report current health and the first confirmed batch before editing.
|
|
41
|
+
3. Prioritize high-confidence, low-blast-radius, clearly verifiable fixes.
|
|
42
|
+
4. Apply one small batch at a time.
|
|
43
|
+
5. After a cleanup pass, run `scip-query health --write-baseline` to snapshot finding identities, then compare with `scip-query health --baseline` at the start of the next pass.
|
|
44
|
+
|
|
45
|
+
## Priority
|
|
46
|
+
|
|
47
|
+
1. Compiler-verified deletion batches.
|
|
48
|
+
2. Incomplete migrations and recent duplicate echoes.
|
|
49
|
+
3. Unused params, unused imports, dead symbols, and isolated symbols.
|
|
50
|
+
4. Broken or stale docs, config validation issues, and missing co-change partners.
|
|
51
|
+
5. Thin wrappers, passthroughs, stale abstractions, and speculative generality.
|
|
52
|
+
6. Frontend component/hook/composable duplication and large-view pressure.
|
|
53
|
+
7. Directory architecture and maintainability repairs only when evidence is strong and the blast radius is bounded.
|
|
54
|
+
|
|
55
|
+
## Loop
|
|
56
|
+
|
|
57
|
+
Before editing:
|
|
58
|
+
|
|
59
|
+
```markdown
|
|
60
|
+
Health score: N/100
|
|
61
|
+
First confirmed batch:
|
|
62
|
+
- finding - evidence - planned fix - verification
|
|
63
|
+
Remaining signals:
|
|
64
|
+
- signal - status
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Then repeat:
|
|
68
|
+
|
|
69
|
+
1. Apply one verified deletion batch or one small targeted refactor.
|
|
70
|
+
2. Run the narrow project check for touched behavior.
|
|
71
|
+
3. Run `scip-query health --json`.
|
|
72
|
+
4. Invoke `scip-verify`.
|
|
73
|
+
5. If `docs/scip-query/health-dossier.md` exists (or a custom `--dossier-dir` was used), refresh it by rerunning `scip-query setup --json` (add the same `--dossier-dir` if one was used).
|
|
74
|
+
6. Pick the next highest-priority confirmed item.
|
|
75
|
+
|
|
76
|
+
Use `scip-query cleanup-apply --verified --batch <n>` for verified deletion batches. Use `--all` only with explicit user approval.
|
|
77
|
+
|
|
78
|
+
## Stop
|
|
79
|
+
|
|
80
|
+
Stop when only intentional, false-positive, blocked, or unconfirmed items remain; when the next improvement needs a product/API/ownership decision; when a missing toolchain prevents trustworthy verification; or when further work would be broad redesign rather than bounded cleanup.
|
|
81
|
+
|
|
82
|
+
## Closeout
|
|
83
|
+
|
|
84
|
+
Report starting and final health scores, batches applied, important files changed, verification commands, remaining accepted or blocked items, and highest-value follow-up.
|