scip-query 0.19.4 → 0.19.5
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 +27 -0
- package/README.md +1 -1
- package/dist/{chunk-SVLTAG5O.js → chunk-7UY7SD7D.js} +119 -119
- package/dist/{chunk-VMNZB6WI.js → chunk-TW4OG5FC.js} +2 -2
- package/dist/chunk-XAGAZSFE.js +6 -0
- package/dist/cli.js +3 -3
- package/dist/command-descriptors-N2TL4XM2.js +613 -0
- package/dist/direct-navigation-DUCZCTOE.js +3 -0
- package/docs/AI_FAILURE_MODES.md +1 -1
- package/docs/COMMAND_REFERENCE.md +5 -5
- package/docs/DETECTOR_GUIDE.md +1 -1
- package/package.json +1 -1
- package/skills/_shared/SKILL.md +6 -16
- package/skills/scip-api-impact/SKILL.md +22 -21
- package/skills/scip-claim-audit/SKILL.md +18 -17
- package/skills/scip-cleanup-audit/SKILL.md +24 -20
- package/skills/scip-cleanup-improve/SKILL.md +19 -18
- package/skills/scip-concrete-plan/HIGH_ASSURANCE.md +317 -0
- package/skills/scip-concrete-plan/SKILL.md +70 -227
- package/skills/scip-conductor/SKILL.md +14 -14
- package/skills/scip-debug/SKILL.md +21 -21
- package/skills/scip-diagram/SKILL.md +27 -27
- package/skills/scip-directory-architecture/SKILL.md +44 -32
- package/skills/scip-doc-reconcile/SKILL.md +17 -17
- package/skills/scip-explore/SKILL.md +23 -23
- package/skills/scip-hyper-optimization/SKILL.md +23 -23
- package/skills/scip-language-playbook/SKILL.md +34 -34
- package/skills/scip-maintainability/SKILL.md +21 -21
- package/skills/scip-probe-reachability/SKILL.md +10 -9
- package/skills/scip-query/SKILL.md +39 -39
- package/skills/scip-react-maintainability/SKILL.md +21 -21
- package/skills/scip-root-cause/SKILL.md +21 -20
- package/skills/scip-setup/SKILL.md +25 -24
- package/skills/scip-tla-model-system/SKILL.md +7 -7
- package/skills/scip-triage-issue/SKILL.md +27 -20
- package/skills/scip-twin-drift/SKILL.md +18 -16
- package/skills/scip-verify/SKILL.md +25 -9
- package/skills/scip-vue-maintainability/SKILL.md +21 -21
- package/dist/chunk-ZAIILQNP.js +0 -5
- package/dist/command-descriptors-MFU4BCJ7.js +0 -612
- package/dist/direct-navigation-MRMQFIRB.js +0 -3
|
@@ -2,26 +2,26 @@
|
|
|
2
2
|
name: scip-directory-architecture
|
|
3
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
4
|
commands:
|
|
5
|
-
- template:
|
|
6
|
-
when:
|
|
7
|
-
- template:
|
|
8
|
-
when:
|
|
9
|
-
- template:
|
|
10
|
-
when:
|
|
11
|
-
- template:
|
|
12
|
-
when:
|
|
13
|
-
- template:
|
|
14
|
-
when:
|
|
15
|
-
- template:
|
|
16
|
-
when:
|
|
17
|
-
- template:
|
|
18
|
-
when:
|
|
19
|
-
- template:
|
|
20
|
-
when:
|
|
21
|
-
- template:
|
|
22
|
-
when:
|
|
23
|
-
- template:
|
|
24
|
-
when:
|
|
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 architecture --json'
|
|
14
|
+
when: 'Measure configured boundaries, actual dependency traffic, forbidden edges, reciprocal pairs, and boundary cycles.'
|
|
15
|
+
- template: 'scip-query drift --architecture'
|
|
16
|
+
when: 'Review direct drift findings together with boundary coverage and architecture signals.'
|
|
17
|
+
- template: 'scip-query co-change --json --full'
|
|
18
|
+
when: 'Inventory evidence: hidden file-level coupling from git history.'
|
|
19
|
+
- template: 'scip-query health --write-baseline'
|
|
20
|
+
when: 'Record reviewed existing debt before enabling architecture regression enforcement.'
|
|
21
|
+
- template: 'scip-query diff-gate'
|
|
22
|
+
when: 'Verify that the current diff introduces no new declared architecture violation.'
|
|
23
|
+
- template: 'scip-query config-validate --json'
|
|
24
|
+
when: 'Implement a slice: validate locality config after a move.'
|
|
25
25
|
---
|
|
26
26
|
|
|
27
27
|
# scip-directory-architecture
|
|
@@ -33,18 +33,18 @@ Load shared mechanics from [`../_shared/SKILL.md`](../_shared/SKILL.md).
|
|
|
33
33
|
<!-- BEGIN GENERATED SKILL COMMANDS -->
|
|
34
34
|
## Commands for this skill
|
|
35
35
|
|
|
36
|
-
| Command | Purpose | When |
|
|
37
|
-
| --- | --- | --- |
|
|
38
|
-
| `scip-query system <scope>` | Full module map: files, symbols, deps in/out | Inventory evidence: files, symbols, deps in/out for the scope. |
|
|
39
|
-
| `scip-query locality-candidates --json --full` | Find directory-locality and ancestry candidates from consumer ownership | Inventory evidence: directory-locality candidates from consumer ownership. |
|
|
40
|
-
| `scip-query similar-files --full --json` | Find heuristic similar-file candidates from dependency profiles | Inventory evidence: files with overlapping dependency profiles. |
|
|
41
|
-
| `scip-query cycles` | Detect circular dependency chains between files | Inventory evidence: circular dependency chains between files. |
|
|
42
|
-
| `scip-query architecture --json` | Evaluate project-owned architectural boundaries and dependency rules | Measure configured boundaries, actual dependency traffic, forbidden edges, reciprocal pairs, and boundary cycles. |
|
|
43
|
-
| `scip-query drift --architecture` | Detect drift candidates: unused imports and declared architecture violations; pass --architecture for boundary context | Review direct drift findings together with boundary coverage and architecture signals. |
|
|
44
|
-
| `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. |
|
|
45
|
-
| `scip-query health --write-baseline` | Composite codebase health report with prioritized action list | Record reviewed existing debt before enabling architecture regression enforcement. |
|
|
46
|
-
| `scip-query diff-gate` | Gate the current diff: architecture regressions plus echo, migration, coordination, doc-drift, unused-param, and new-dead candidates; exit 1 on blocking findings | Verify that the current diff introduces no new declared architecture violation. |
|
|
47
|
-
| `scip-query config-validate --json` | Validate .scipquery.json, including structured suppressions and declared coupling groups | Implement a slice: validate locality config after a move. |
|
|
36
|
+
| Command | Purpose | Returns | Coverage | When |
|
|
37
|
+
| --- | --- | --- | --- | --- |
|
|
38
|
+
| `scip-query system <scope>` | Full module map: files, symbols, deps in/out | module file paths; exported symbols with line ranges; internal dependencies; reverse dependencies | `complete` | Inventory evidence: files, symbols, deps in/out for the scope. |
|
|
39
|
+
| `scip-query locality-candidates --json --full` | Find directory-locality and ancestry candidates from consumer ownership | symbols, current homes, consumer locality, and suggested homes | `bounded` | Inventory evidence: directory-locality candidates from consumer ownership. |
|
|
40
|
+
| `scip-query similar-files --full --json` | Find heuristic similar-file candidates from dependency profiles | file pairs with similarity scores and shared symbols | `bounded` | Inventory evidence: files with overlapping dependency profiles. |
|
|
41
|
+
| `scip-query cycles` | Detect circular dependency chains between files | dependency-cycle file chains | `bounded` | Inventory evidence: circular dependency chains between files. |
|
|
42
|
+
| `scip-query architecture --json` | Evaluate project-owned architectural boundaries and dependency rules | boundary coverage and dependency-rule violations | `complete` | Measure configured boundaries, actual dependency traffic, forbidden edges, reciprocal pairs, and boundary cycles. |
|
|
43
|
+
| `scip-query drift --architecture` | Detect drift candidates: unused imports and declared architecture violations; pass --architecture for boundary context | drifted symbol families, files, and evidence | `bounded` | Review direct drift findings together with boundary coverage and architecture signals. |
|
|
44
|
+
| `scip-query co-change --json --full` | Files that change together in git history without a dependency edge — hidden coupling candidates | file pairs, co-change counts, confidence, and history context | `bounded` | Inventory evidence: hidden file-level coupling from git history. |
|
|
45
|
+
| `scip-query health --write-baseline` | Composite codebase health report with prioritized action list | health score, findings, priorities, baselines, and coverage notes | `bounded` | Record reviewed existing debt before enabling architecture regression enforcement. |
|
|
46
|
+
| `scip-query diff-gate` | Gate the current diff: architecture regressions plus echo, migration, coordination, doc-drift, unused-param, and new-dead candidates; exit 1 on blocking findings | blocking findings with check id, message, and remediation; advisory findings; root-cause groups; changed file and symbol counts; process exit status (1 when blocking findings exist) | `bounded` | Verify that the current diff introduces no new declared architecture violation. |
|
|
47
|
+
| `scip-query config-validate --json` | Validate .scipquery.json, including structured suppressions and declared coupling groups | validation diagnostics with config paths | `complete` | Implement a slice: validate locality config after a move. |
|
|
48
48
|
|
|
49
49
|
Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only when it is insufficient.
|
|
50
50
|
<!-- END GENERATED SKILL COMMANDS -->
|
|
@@ -191,17 +191,29 @@ Use this shape:
|
|
|
191
191
|
# Directory Architecture Review
|
|
192
192
|
|
|
193
193
|
## Scope
|
|
194
|
+
|
|
194
195
|
## Current Structure Map
|
|
196
|
+
|
|
195
197
|
## Boundary Maturity
|
|
198
|
+
|
|
196
199
|
## Descriptive Architecture Model
|
|
200
|
+
|
|
197
201
|
## Dependency Rules
|
|
202
|
+
|
|
198
203
|
## Forbidden-Edge Ledger
|
|
204
|
+
|
|
199
205
|
## Reciprocal and Cycle Review
|
|
206
|
+
|
|
200
207
|
## Target Structure
|
|
208
|
+
|
|
201
209
|
## Move Ledger
|
|
210
|
+
|
|
202
211
|
## Locality Config
|
|
212
|
+
|
|
203
213
|
## No-Move Decisions
|
|
214
|
+
|
|
204
215
|
## Deferred Decisions
|
|
216
|
+
|
|
205
217
|
## Migration Order
|
|
206
218
|
```
|
|
207
219
|
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
name: scip-doc-reconcile
|
|
3
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
4
|
commands:
|
|
5
|
-
- template:
|
|
6
|
-
when:
|
|
7
|
-
- template:
|
|
8
|
-
when:
|
|
9
|
-
- template:
|
|
10
|
-
when:
|
|
11
|
-
- template:
|
|
12
|
-
when:
|
|
13
|
-
- template:
|
|
14
|
-
when:
|
|
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.'
|
|
15
15
|
---
|
|
16
16
|
|
|
17
17
|
# scip-doc-reconcile
|
|
@@ -23,13 +23,13 @@ Load shared mechanics from [`../_shared/SKILL.md`](../_shared/SKILL.md).
|
|
|
23
23
|
<!-- BEGIN GENERATED SKILL COMMANDS -->
|
|
24
24
|
## Commands for this skill
|
|
25
25
|
|
|
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. |
|
|
26
|
+
| Command | Purpose | Returns | Coverage | 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 | document paths, coupled code subjects, and history evidence | `bounded` | 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 | document paths, coupled code subjects, and history evidence | `bounded` | 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 | symbol names, nesting, and line ranges | `complete` | Reconcile one doc: current shape of the code the doc describes. |
|
|
31
|
+
| `scip-query trace <symbol>` | Trace a symbol: definition + all references | definition sites with source and signature; referencing files with line numbers | `bounded` | 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) | definition identity, source, and line range | `complete` | Reconcile one doc: re-derive a snippet from current source. |
|
|
33
33
|
|
|
34
34
|
Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only when it is insufficient.
|
|
35
35
|
<!-- END GENERATED SKILL COMMANDS -->
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: scip-explore
|
|
3
|
-
description:
|
|
3
|
+
description: Explain how code works, where a feature is implemented, what calls or consumes it, how data flows, or what a change could affect. Uses scip-query to explore an unfamiliar system before answering or editing.
|
|
4
4
|
commands:
|
|
5
|
-
- template:
|
|
6
|
-
when:
|
|
7
|
-
- template:
|
|
8
|
-
when:
|
|
9
|
-
- template:
|
|
10
|
-
when:
|
|
11
|
-
- template:
|
|
12
|
-
when:
|
|
13
|
-
- template:
|
|
14
|
-
when:
|
|
15
|
-
- template:
|
|
16
|
-
when:
|
|
5
|
+
- template: 'scip-query stats'
|
|
6
|
+
when: 'Orient: repo-wide size and shape before naming a scope.'
|
|
7
|
+
- template: 'scip-query system <module-or-scope>'
|
|
8
|
+
when: 'Orient: map files, symbols, deps in/out for the scope.'
|
|
9
|
+
- template: 'scip-query trace <entry-symbol>'
|
|
10
|
+
when: 'Trace entry points: definition plus every reference.'
|
|
11
|
+
- template: 'scip-query call-graph <entry-symbol>'
|
|
12
|
+
when: 'Trace entry points: callers and callees for the path.'
|
|
13
|
+
- template: 'scip-query dataflow <symbol-or-variable>'
|
|
14
|
+
when: 'Follow data and state through producers and consumers.'
|
|
15
|
+
- template: 'scip-query affected <symbol> --json'
|
|
16
|
+
when: 'Map dependencies and consumers: downstream blast radius.'
|
|
17
17
|
---
|
|
18
18
|
|
|
19
19
|
# scip-explore
|
|
@@ -25,14 +25,14 @@ Load shared mechanics from [`../_shared/SKILL.md`](../_shared/SKILL.md).
|
|
|
25
25
|
<!-- BEGIN GENERATED SKILL COMMANDS -->
|
|
26
26
|
## Commands for this skill
|
|
27
27
|
|
|
28
|
-
| Command | Purpose | When |
|
|
29
|
-
| --- | --- | --- |
|
|
30
|
-
| `scip-query stats` | Show index statistics | Orient: repo-wide size and shape before naming a scope. |
|
|
31
|
-
| `scip-query system <module-or-scope>` | Full module map: files, symbols, deps in/out | Orient: map files, symbols, deps in/out for the scope. |
|
|
32
|
-
| `scip-query trace <entry-symbol>` | Trace a symbol: definition + all references | Trace entry points: definition plus every reference. |
|
|
33
|
-
| `scip-query call-graph <entry-symbol>` | Show incoming callers and outgoing callees for a symbol | Trace entry points: callers and callees for the path. |
|
|
34
|
-
| `scip-query dataflow <symbol-or-variable>` | Reference-level dataflow: definition sites, usage sites, producers, consumers | Follow data and state through producers and consumers. |
|
|
35
|
-
| `scip-query affected <symbol> --json` | Transitive closure of symbols that could break if this symbol changes | Map dependencies and consumers: downstream blast radius. |
|
|
28
|
+
| Command | Purpose | Returns | Coverage | When |
|
|
29
|
+
| --- | --- | --- | --- | --- |
|
|
30
|
+
| `scip-query stats` | Show index statistics | document, symbol, definition, reference, size, and build-time totals | `complete` | Orient: repo-wide size and shape before naming a scope. |
|
|
31
|
+
| `scip-query system <module-or-scope>` | Full module map: files, symbols, deps in/out | module file paths; exported symbols with line ranges; internal dependencies; reverse dependencies | `complete` | Orient: map files, symbols, deps in/out for the scope. |
|
|
32
|
+
| `scip-query trace <entry-symbol>` | Trace a symbol: definition + all references | definition sites with source and signature; referencing files with line numbers | `bounded` | Trace entry points: definition plus every reference. |
|
|
33
|
+
| `scip-query call-graph <entry-symbol>` | Show incoming callers and outgoing callees for a symbol | caller and callee symbol identities with files | `bounded` | Trace entry points: callers and callees for the path. |
|
|
34
|
+
| `scip-query dataflow <symbol-or-variable>` | Reference-level dataflow: definition sites, usage sites, producers, consumers | definition sites, usage sites, producer symbols, and consumer symbols | `bounded` | Follow data and state through producers and consumers. |
|
|
35
|
+
| `scip-query affected <symbol> --json` | Transitive closure of symbols that could break if this symbol changes | affected symbol identities, files, and traversal depths | `bounded` | Map dependencies and consumers: downstream blast radius. |
|
|
36
36
|
|
|
37
37
|
Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only when it is insufficient.
|
|
38
38
|
<!-- END GENERATED SKILL COMMANDS -->
|
|
@@ -40,8 +40,8 @@ Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only
|
|
|
40
40
|
## Rules
|
|
41
41
|
|
|
42
42
|
1. Use a current index before trusting graph facts.
|
|
43
|
-
2.
|
|
44
|
-
3.
|
|
43
|
+
2. Relationship, consumer, and completeness claims cite scip-query; literal local-source claims may cite a native file read.
|
|
44
|
+
3. Resolve ambiguous symbols before describing behavior. `scip-query code` is useful but not mandatory when an exact native range is already known.
|
|
45
45
|
4. Follow the graph before trusting folder structure.
|
|
46
46
|
5. Start wide, then narrow.
|
|
47
47
|
6. Descriptions need citations; conclusions need discriminators. A conclusion — why something happens, what a unit is for, which intent explains a shape — states one rival explanation and the trace evidence that rules it out.
|
|
@@ -2,20 +2,20 @@
|
|
|
2
2
|
name: scip-hyper-optimization
|
|
3
3
|
description: Optimize performance scientifically with scip-query evidence. Use for benchmarking, profiling, speeding up commands, workflows, indexers, detectors, app paths, cold/warm regressions, memory/cost reduction, or comparing current-pipeline tuning with alternative designs.
|
|
4
4
|
commands:
|
|
5
|
-
- template:
|
|
6
|
-
when:
|
|
7
|
-
- template:
|
|
8
|
-
when:
|
|
9
|
-
- template:
|
|
10
|
-
when:
|
|
11
|
-
- template:
|
|
12
|
-
when:
|
|
13
|
-
- template:
|
|
14
|
-
when:
|
|
15
|
-
- template:
|
|
16
|
-
when:
|
|
17
|
-
- template:
|
|
18
|
-
when:
|
|
5
|
+
- template: 'scip-query bench --json'
|
|
6
|
+
when: 'Target and harness: baseline timings for a scip-query command target.'
|
|
7
|
+
- template: 'scip-query bench --json --cold-index --include-heavy --timeout-ms 600000'
|
|
8
|
+
when: 'Target and harness: cold-path and heavy-detector timings.'
|
|
9
|
+
- template: 'scip-query work-audit <profile> --json'
|
|
10
|
+
when: 'Profile the chain: rank exact repeated computations by measured avoidable time.'
|
|
11
|
+
- template: 'scip-query plan-context <entry-symbol-or-file>'
|
|
12
|
+
when: 'Trace behavior: pre-edit context for the profiled entry point.'
|
|
13
|
+
- template: 'scip-query call-graph <entry-symbol>'
|
|
14
|
+
when: 'Trace behavior: callers/callees for the pipeline under test.'
|
|
15
|
+
- template: 'scip-query complexity <hot-symbol>'
|
|
16
|
+
when: 'Diagnose: branches, cyclomatic estimate, fan-in/out for a hot symbol.'
|
|
17
|
+
- template: 'scip-query change-surface <touched-file> --json --full'
|
|
18
|
+
when: 'Verify and report: blast radius of the optimization change.'
|
|
19
19
|
---
|
|
20
20
|
|
|
21
21
|
# scip-hyper-optimization
|
|
@@ -38,15 +38,15 @@ One sentence to decide: if you can already name the one function you expect to f
|
|
|
38
38
|
<!-- BEGIN GENERATED SKILL COMMANDS -->
|
|
39
39
|
## Commands for this skill
|
|
40
40
|
|
|
41
|
-
| Command | Purpose | When |
|
|
42
|
-
| --- | --- | --- |
|
|
43
|
-
| `scip-query bench --json` | Benchmark indexing and command runtimes for this repository | Target and harness: baseline timings for a scip-query command target. |
|
|
44
|
-
| `scip-query bench --json --cold-index --include-heavy --timeout-ms 600000` | Benchmark indexing and command runtimes for this repository | Target and harness: cold-path and heavy-detector timings. |
|
|
45
|
-
| `scip-query work-audit <profile> --json` | Rank exact repeated computations in a profiling JSONL file by measured avoidable time | Profile the chain: rank exact repeated computations by measured avoidable time. |
|
|
46
|
-
| `scip-query plan-context <entry-symbol-or-file>` | Pre-edit planning context for a symbol, file, or module | Trace behavior: pre-edit context for the profiled entry point. |
|
|
47
|
-
| `scip-query call-graph <entry-symbol>` | Show incoming callers and outgoing callees for a symbol | Trace behavior: callers/callees for the pipeline under test. |
|
|
48
|
-
| `scip-query complexity <hot-symbol>` | Per-symbol complexity: branches, cyclomatic estimate, fan-in/out, callees | Diagnose: branches, cyclomatic estimate, fan-in/out for a hot symbol. |
|
|
49
|
-
| `scip-query change-surface <touched-file> --json --full` | Pre-change briefing: exports, consumers, and blast-radius risk | Verify and report: blast radius of the optimization change. |
|
|
41
|
+
| Command | Purpose | Returns | Coverage | When |
|
|
42
|
+
| --- | --- | --- | --- | --- |
|
|
43
|
+
| `scip-query bench --json` | Benchmark indexing and command runtimes for this repository | timings, command outcomes, environment, and optional profiles | `sampled` | Target and harness: baseline timings for a scip-query command target. |
|
|
44
|
+
| `scip-query bench --json --cold-index --include-heavy --timeout-ms 600000` | Benchmark indexing and command runtimes for this repository | timings, command outcomes, environment, and optional profiles | `sampled` | Target and harness: cold-path and heavy-detector timings. |
|
|
45
|
+
| `scip-query work-audit <profile> --json` | Rank exact repeated computations in a profiling JSONL file by measured avoidable time | ranked repeated-work groups, counts, and avoidable duration | `bounded` | Profile the chain: rank exact repeated computations by measured avoidable time. |
|
|
46
|
+
| `scip-query plan-context <entry-symbol-or-file>` | Pre-edit planning context for a symbol, file, or module | definitions and references; callers and callees; dataflow producers and consumers; backward and forward slices; affected symbols; change-surface risk; dependencies and reverse dependencies; module files and exports; external surface use; complexity; churn; co-change partners; active suppressions | `bounded` | Trace behavior: pre-edit context for the profiled entry point. |
|
|
47
|
+
| `scip-query call-graph <entry-symbol>` | Show incoming callers and outgoing callees for a symbol | caller and callee symbol identities with files | `bounded` | Trace behavior: callers/callees for the pipeline under test. |
|
|
48
|
+
| `scip-query complexity <hot-symbol>` | Per-symbol complexity: branches, cyclomatic estimate, fan-in/out, callees | LOC, branch, complexity, callee, fan-in, and fan-out counts | `bounded` | Diagnose: branches, cyclomatic estimate, fan-in/out for a hot symbol. |
|
|
49
|
+
| `scip-query change-surface <touched-file> --json --full` | Pre-change briefing: exports, consumers, and blast-radius risk | defined symbols, external consumer counts, and risk levels | `bounded` | Verify and report: blast radius of the optimization change. |
|
|
50
50
|
|
|
51
51
|
Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only when it is insufficient.
|
|
52
52
|
<!-- END GENERATED SKILL COMMANDS -->
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
name: scip-language-playbook
|
|
3
3
|
description: Choose language-specific scip-query commands. Use when entering an unfamiliar TypeScript, Python, Java, Scala, Kotlin, Rust, Go, C, C++, Ruby, C#, Visual Basic, Dart, PHP, Clojure, ClojureScript, or Vue codebase and you need high-signal exploration or de-bloat commands first.
|
|
4
4
|
commands:
|
|
5
|
-
- template:
|
|
6
|
-
when:
|
|
7
|
-
- template:
|
|
8
|
-
when:
|
|
9
|
-
- template:
|
|
10
|
-
when:
|
|
11
|
-
- template:
|
|
12
|
-
when:
|
|
13
|
-
- template:
|
|
14
|
-
when:
|
|
5
|
+
- template: 'scip-query stats'
|
|
6
|
+
when: 'Universal first pass: repo-wide size and shape.'
|
|
7
|
+
- template: 'scip-query files <feature-or-module-name>'
|
|
8
|
+
when: 'Universal first pass: locate the files for a feature or module.'
|
|
9
|
+
- template: 'scip-query outline <file>'
|
|
10
|
+
when: 'Universal first pass: symbol tree for a candidate file.'
|
|
11
|
+
- template: 'scip-query trace <symbol>'
|
|
12
|
+
when: 'Universal first pass: definition plus every reference.'
|
|
13
|
+
- template: 'scip-query code <symbol>'
|
|
14
|
+
when: 'Universal first pass: confirm behavior claims with source.'
|
|
15
15
|
---
|
|
16
16
|
|
|
17
17
|
# scip-language-playbook
|
|
@@ -23,13 +23,13 @@ Load shared mechanics from [`../_shared/SKILL.md`](../_shared/SKILL.md).
|
|
|
23
23
|
<!-- BEGIN GENERATED SKILL COMMANDS -->
|
|
24
24
|
## Commands for this skill
|
|
25
25
|
|
|
26
|
-
| Command | Purpose | When |
|
|
27
|
-
| --- | --- | --- |
|
|
28
|
-
| `scip-query stats` | Show index statistics | Universal first pass: repo-wide size and shape. |
|
|
29
|
-
| `scip-query files <feature-or-module-name>` | Find files matching a pattern | Universal first pass: locate the files for a feature or module. |
|
|
30
|
-
| `scip-query outline <file>` | Tree view of symbols in a file, with line ranges | Universal first pass: symbol tree for a candidate file. |
|
|
31
|
-
| `scip-query trace <symbol>` | Trace a symbol: definition + all references | Universal first pass: definition plus every reference. |
|
|
32
|
-
| `scip-query code <symbol>` | Read the source code for a symbol (bounded to its definition range) | Universal first pass: confirm behavior claims with source. |
|
|
26
|
+
| Command | Purpose | Returns | Coverage | When |
|
|
27
|
+
| --- | --- | --- | --- | --- |
|
|
28
|
+
| `scip-query stats` | Show index statistics | document, symbol, definition, reference, size, and build-time totals | `complete` | Universal first pass: repo-wide size and shape. |
|
|
29
|
+
| `scip-query files <feature-or-module-name>` | Find files matching a pattern | matching file paths | `complete` | Universal first pass: locate the files for a feature or module. |
|
|
30
|
+
| `scip-query outline <file>` | Tree view of symbols in a file, with line ranges | symbol names, nesting, and line ranges | `complete` | Universal first pass: symbol tree for a candidate file. |
|
|
31
|
+
| `scip-query trace <symbol>` | Trace a symbol: definition + all references | definition sites with source and signature; referencing files with line numbers | `bounded` | Universal first pass: definition plus every reference. |
|
|
32
|
+
| `scip-query code <symbol>` | Read the source code for a symbol (bounded to its definition range) | definition identity, source, and line range | `complete` | Universal first pass: confirm behavior claims with source. |
|
|
33
33
|
|
|
34
34
|
Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only when it is insufficient.
|
|
35
35
|
<!-- END GENERATED SKILL COMMANDS -->
|
|
@@ -56,23 +56,23 @@ scip-query code <symbol>
|
|
|
56
56
|
|
|
57
57
|
## Language Rows
|
|
58
58
|
|
|
59
|
-
| Language
|
|
60
|
-
|
|
|
61
|
-
| TypeScript
|
|
62
|
-
| Python
|
|
63
|
-
| Java
|
|
64
|
-
| Scala
|
|
65
|
-
| Kotlin
|
|
66
|
-
| Rust
|
|
67
|
-
| Go
|
|
68
|
-
| C++
|
|
69
|
-
| C
|
|
70
|
-
| Ruby
|
|
71
|
-
| C#
|
|
72
|
-
| Visual Basic
|
|
73
|
-
| Dart
|
|
74
|
-
| PHP
|
|
75
|
-
| Clojure / ClojureScript | `files`, `outline`, `trace`, `refs`, `call-graph`
|
|
59
|
+
| Language | Use first | De-bloat set | Fallback note |
|
|
60
|
+
| ----------------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------- |
|
|
61
|
+
| TypeScript | `system`, `surface`, `call-graph`, `dataflow`, `change-surface` | `health`, `dead`, `similar`, `similar --plan`, `wrapper-candidates`, `passthrough-candidates`, `stale-abstractions`, `unused-imports`, `redundant-reexports` | Strongest verified surface. Vue script blocks use this path too. |
|
|
62
|
+
| Python | `outline`, `kind-counts --scope`, `system`, `imports`, `imported-by`, `call-graph` | `dead`, `unused-imports`, `drift`, `similar-signatures`, `complexity`, `complexity-hotspots` | Prefer source-backed fallbacks when call/kind metadata is sparse. |
|
|
63
|
+
| Java | `system`, `surface`, `call-graph`, `deps`, `rdeps`, `slice` | `health`, `dead`, `similar-files`, `similar-chains`, `wrapper-candidates`, `stale-abstractions`, `extract-candidates` | Use module/package surfaces to avoid class-only tunnel vision. |
|
|
64
|
+
| Scala | `surface`, `trace`, `call-graph`, `imports`, `imported-by` | `dead`, `similar-files`, `similar-chains`, `extract-candidates`, `stale-abstractions`, `unused-imports` | Confirm behavior with `code`. |
|
|
65
|
+
| Kotlin | `surface`, `trace`, `call-graph`, `imports`, `imported-by` | `dead`, `similar-files`, `similar-chains`, `extract-candidates`, `stale-abstractions`, `unused-imports` | Confirm behavior with `code`. |
|
|
66
|
+
| Rust | `trace`, `call-graph`, `refs`, `methods`, `surface` | `dead`, `wrapper-candidates`, `passthrough-candidates`, `stale-abstractions`, `similar-signatures`, `redundant-reexports` | Methods and surface are usually high signal. |
|
|
67
|
+
| Go | `surface`, `trace`, `call-graph`, `refs`, `fan-in` | `dead`, `wrapper-candidates`, `passthrough-candidates`, `similar-files`, `similar-signatures`, `complexity` | Use package-level surfaces and confirm exported APIs before cleanup. |
|
|
68
|
+
| C++ | `trace`, `refs`, `methods`, `surface`, `code` | `dead`, `wrapper-candidates`, `similar-files`, `similar-chains`, `extract-candidates`, `unused-imports` | Try `call-graph` after trace/refs/code. |
|
|
69
|
+
| C | `trace`, `call-graph`, `refs`, `outline`, `fan-out` | `dead`, `wrapper-candidates`, `similar-files`, `similar-chains`, `extract-candidates`, `unused-imports` | Skip class/member commands. |
|
|
70
|
+
| Ruby | `trace`, `call-graph`, `refs`, `imports`, `imported-by` | `dead`, `wrapper-candidates`, `passthrough-candidates`, `stale-abstractions`, `similar-files`, `similar-signatures` | Confirm dynamic-looking paths with source. |
|
|
71
|
+
| C# | `surface`, `call-graph`, `trace`, `methods`, `refs` | `dead`, `wrapper-candidates`, `passthrough-candidates`, `stale-abstractions`, `similar-files`, `extract-candidates` | Use surfaces and methods together. |
|
|
72
|
+
| Visual Basic | `surface`, `call-graph`, `trace`, `methods`, `refs` | `dead`, `wrapper-candidates`, `passthrough-candidates`, `stale-abstractions`, `similar-files`, `extract-candidates` | Use surfaces and methods together. |
|
|
73
|
+
| Dart | `surface`, `call-graph`, `trace`, `imports`, `imported-by` | `dead`, `wrapper-candidates`, `stale-abstractions`, `similar-files`, `similar-signatures`, `redundant-reexports` | Confirm exported API shape with `surface`. |
|
|
74
|
+
| PHP | `trace`, `refs`, `methods`, `surface`, `code` | `dead`, `wrapper-candidates`, `stale-abstractions`, `similar-files`, `similar-signatures`, `extract-candidates` | Try `call-graph` after trace/refs/code. |
|
|
75
|
+
| Clojure / ClojureScript | `files`, `outline`, `trace`, `refs`, `call-graph` | `dead`, `similar-files`, `similar-signatures`, `complexity`, `complexity-hotspots` | SCIP indexing comes from `scip-clojure`; no TypeScript-style semantic provider is available. |
|
|
76
76
|
|
|
77
77
|
## Minimal Workflows
|
|
78
78
|
|
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
name: scip-maintainability
|
|
3
3
|
description: Review maintainability with scip-query evidence. Use for hidden policies, scattered concepts, accidental variation, weak boundaries, system compression, architecture smells, structural refactors, or maintainability improvements beyond health scores.
|
|
4
4
|
commands:
|
|
5
|
-
- template:
|
|
6
|
-
when:
|
|
7
|
-
- template:
|
|
8
|
-
when:
|
|
9
|
-
- template:
|
|
10
|
-
when:
|
|
11
|
-
- template:
|
|
12
|
-
when:
|
|
13
|
-
- template:
|
|
14
|
-
when:
|
|
15
|
-
- template:
|
|
16
|
-
when:
|
|
5
|
+
- template: 'scip-query stats'
|
|
6
|
+
when: 'Map evidence: repo-wide size before bounding the review.'
|
|
7
|
+
- template: 'scip-query system <scope>'
|
|
8
|
+
when: 'Map evidence: files, symbols, deps in/out for the scope.'
|
|
9
|
+
- template: 'scip-query surface <scope>'
|
|
10
|
+
when: 'Map evidence: what consumers actually use from the scope.'
|
|
11
|
+
- template: 'scip-query change-surface <file>'
|
|
12
|
+
when: 'Map evidence: exports, consumers, and blast-radius risk.'
|
|
13
|
+
- template: 'scip-query affected <symbol>'
|
|
14
|
+
when: 'Map evidence: transitive consumers of a candidate symbol.'
|
|
15
|
+
- template: 'scip-query drift --patterns --architecture'
|
|
16
|
+
when: 'Map evidence: declared architecture violations plus boundary and pattern signals; treat opt-in pattern hits as leads, not findings.'
|
|
17
17
|
---
|
|
18
18
|
|
|
19
19
|
# scip-maintainability
|
|
@@ -25,14 +25,14 @@ Load shared mechanics from [`../_shared/SKILL.md`](../_shared/SKILL.md).
|
|
|
25
25
|
<!-- BEGIN GENERATED SKILL COMMANDS -->
|
|
26
26
|
## Commands for this skill
|
|
27
27
|
|
|
28
|
-
| Command | Purpose | When |
|
|
29
|
-
| --- | --- | --- |
|
|
30
|
-
| `scip-query stats` | Show index statistics | Map evidence: repo-wide size before bounding the review. |
|
|
31
|
-
| `scip-query system <scope>` | Full module map: files, symbols, deps in/out | Map evidence: files, symbols, deps in/out for the scope. |
|
|
32
|
-
| `scip-query surface <scope>` | What symbols consumers actually use from this module | Map evidence: what consumers actually use from the scope. |
|
|
33
|
-
| `scip-query change-surface <file>` | Pre-change briefing: exports, consumers, and blast-radius risk | Map evidence: exports, consumers, and blast-radius risk. |
|
|
34
|
-
| `scip-query affected <symbol>` | Transitive closure of symbols that could break if this symbol changes | Map evidence: transitive consumers of a candidate symbol. |
|
|
35
|
-
| `scip-query drift --patterns --architecture` | Detect drift candidates: unused imports and declared architecture violations; pass --architecture for boundary context | Map evidence: declared architecture violations plus boundary and pattern signals; treat opt-in pattern hits as leads, not findings. |
|
|
28
|
+
| Command | Purpose | Returns | Coverage | When |
|
|
29
|
+
| --- | --- | --- | --- | --- |
|
|
30
|
+
| `scip-query stats` | Show index statistics | document, symbol, definition, reference, size, and build-time totals | `complete` | Map evidence: repo-wide size before bounding the review. |
|
|
31
|
+
| `scip-query system <scope>` | Full module map: files, symbols, deps in/out | module file paths; exported symbols with line ranges; internal dependencies; reverse dependencies | `complete` | Map evidence: files, symbols, deps in/out for the scope. |
|
|
32
|
+
| `scip-query surface <scope>` | What symbols consumers actually use from this module | consumer paths and consumed symbol identities | `complete` | Map evidence: what consumers actually use from the scope. |
|
|
33
|
+
| `scip-query change-surface <file>` | Pre-change briefing: exports, consumers, and blast-radius risk | defined symbols, external consumer counts, and risk levels | `bounded` | Map evidence: exports, consumers, and blast-radius risk. |
|
|
34
|
+
| `scip-query affected <symbol>` | Transitive closure of symbols that could break if this symbol changes | affected symbol identities, files, and traversal depths | `bounded` | Map evidence: transitive consumers of a candidate symbol. |
|
|
35
|
+
| `scip-query drift --patterns --architecture` | Detect drift candidates: unused imports and declared architecture violations; pass --architecture for boundary context | drifted symbol families, files, and evidence | `bounded` | Map evidence: declared architecture violations plus boundary and pattern signals; treat opt-in pattern hits as leads, not findings. |
|
|
36
36
|
|
|
37
37
|
Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only when it is insufficient.
|
|
38
38
|
<!-- END GENERATED SKILL COMMANDS -->
|
|
@@ -153,6 +153,6 @@ This step is complete only when each opportunity has evidence, disposition, depe
|
|
|
153
153
|
|
|
154
154
|
### 7. Implement and verify when asked
|
|
155
155
|
|
|
156
|
-
Implement the smallest named mechanism that matches the real concept. Keep essential variation near the adapter or domain code that knows it. After changes, run focused tests and routed postchecks
|
|
156
|
+
Implement the smallest named mechanism that matches the real concept. Keep essential variation near the adapter or domain code that knows it. After changes, run focused tests and the routed postchecks in `scip-verify`, then complete that verification skill.
|
|
157
157
|
|
|
158
158
|
Report the smell addressed, mechanism introduced or removed, what was deliberately not compressed, and verification results.
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
name: scip-probe-reachability
|
|
3
3
|
description: Prove whether a parser/AST branch is actually reachable by running the real parser on minimal inputs. Use for unreachable or dead node-type/shape branches, wrong node-type strings, tree-sitter grammar mismatches, or any conditional written for an AST or parser output that has never been checked against the real parser.
|
|
4
4
|
commands:
|
|
5
|
-
- template:
|
|
6
|
-
when:
|
|
7
|
-
- template:
|
|
5
|
+
- template: 'scip-query outline <file> --signatures'
|
|
6
|
+
when: 'Enumerate branches: symbol tree with signatures for the target file.'
|
|
7
|
+
- template: 'scip-query code <symbol>'
|
|
8
8
|
when: "Enumerate branches: read each branch condition's exact node-type check."
|
|
9
|
-
- template:
|
|
9
|
+
- template: 'scip-query trace <symbol>'
|
|
10
10
|
when: "Enumerate branches: confirm the function's only caller/entry point."
|
|
11
11
|
---
|
|
12
12
|
|
|
@@ -19,11 +19,11 @@ Load shared mechanics from [`../_shared/SKILL.md`](../_shared/SKILL.md).
|
|
|
19
19
|
<!-- BEGIN GENERATED SKILL COMMANDS -->
|
|
20
20
|
## Commands for this skill
|
|
21
21
|
|
|
22
|
-
| Command | Purpose | When |
|
|
23
|
-
| --- | --- | --- |
|
|
24
|
-
| `scip-query outline <file> --signatures` | Tree view of symbols in a file, with line ranges | Enumerate branches: symbol tree with signatures for the target file. |
|
|
25
|
-
| `scip-query code <symbol>` | Read the source code for a symbol (bounded to its definition range) | Enumerate branches: read each branch condition's exact node-type check. |
|
|
26
|
-
| `scip-query trace <symbol>` | Trace a symbol: definition + all references | Enumerate branches: confirm the function's only caller/entry point. |
|
|
22
|
+
| Command | Purpose | Returns | Coverage | When |
|
|
23
|
+
| --- | --- | --- | --- | --- |
|
|
24
|
+
| `scip-query outline <file> --signatures` | Tree view of symbols in a file, with line ranges | symbol names, nesting, and line ranges | `complete` | Enumerate branches: symbol tree with signatures for the target file. |
|
|
25
|
+
| `scip-query code <symbol>` | Read the source code for a symbol (bounded to its definition range) | definition identity, source, and line range | `complete` | Enumerate branches: read each branch condition's exact node-type check. |
|
|
26
|
+
| `scip-query trace <symbol>` | Trace a symbol: definition + all references | definition sites with source and signature; referencing files with line numbers | `bounded` | Enumerate branches: confirm the function's only caller/entry point. |
|
|
27
27
|
|
|
28
28
|
Use this shortlist first. Open [`../_shared/SKILL.md`](../_shared/SKILL.md) only when it is insufficient.
|
|
29
29
|
<!-- END GENERATED SKILL COMMANDS -->
|
|
@@ -86,6 +86,7 @@ Branches:
|
|
|
86
86
|
| --- | --- | --- | --- |
|
|
87
87
|
|
|
88
88
|
Findings:
|
|
89
|
+
|
|
89
90
|
- <branch> — dead branch / wrong node-type string — fix: <direction>
|
|
90
91
|
```
|
|
91
92
|
|