scip-query 0.10.2 → 0.10.4
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/README.md +9 -8
- package/dist/{chunk-FGCL6NDB.js → chunk-237YUOPK.js} +2 -2
- package/dist/chunk-56UN3DMK.js +2 -0
- package/dist/chunk-5UDFZC4D.js +2 -0
- package/dist/{chunk-MHK7Z53U.js → chunk-6UFMPECA.js} +2 -2
- package/dist/chunk-7JOTOWZO.js +4 -0
- package/dist/chunk-A7RNHUJH.js +20 -0
- package/dist/chunk-AYYIZ4BA.js +4 -0
- package/dist/chunk-BNKE4TT5.js +2 -0
- package/dist/{chunk-CNTEQMHA.js → chunk-EYLXU575.js} +2 -2
- package/dist/chunk-KRGBLZT2.js +7 -0
- package/dist/chunk-MA7OVFHI.js +2 -0
- package/dist/chunk-QUJBXLBY.js +2 -0
- package/dist/chunk-UQJGTVHV.js +5 -0
- package/dist/chunk-WBJZNPUT.js +2 -0
- package/dist/{chunk-UNJG7P2I.js → chunk-YUTRW57I.js} +2 -2
- package/dist/cli.js +209 -197
- package/dist/frontend-behavior-evidence-BxKpKWUu.d.ts +4 -0
- package/dist/postinstall.js +3 -3
- package/dist/queries/co-change.js +1 -1
- package/dist/queries/diff-gate.d.ts +10 -3
- package/dist/queries/diff-gate.js +1 -1
- package/dist/queries/diff-impact.js +1 -1
- package/dist/queries/doc-drift.js +1 -1
- package/dist/queries/health.js +1 -1
- package/dist/queries/incomplete-migration.js +1 -1
- package/dist/queries/index.d.ts +1 -0
- package/dist/queries/index.js +1 -1
- package/dist/queries/plan-context.js +1 -1
- package/dist/queries/react-component-duplicates.js +1 -1
- package/dist/queries/react-hook-candidates.d.ts +3 -2
- package/dist/queries/react-hook-candidates.js +1 -1
- package/dist/queries/recent-duplicates.js +1 -1
- package/dist/queries/similar.d.ts +9 -1
- package/dist/queries/similar.js +1 -1
- package/dist/queries/vue-component-duplicates.js +1 -1
- package/dist/queries/vue-composable-candidates.d.ts +3 -2
- package/dist/queries/vue-composable-candidates.js +1 -1
- package/dist/runtime.js +1 -1
- package/docs/AGENT_GUIDE.md +42 -5
- package/docs/AI_FAILURE_MODES.md +28 -21
- package/docs/COMMAND_REFERENCE.md +4 -2
- package/docs/analyzer-inventory.md +5 -1
- package/docs/analyzer-validation-ledger.md +8 -0
- package/package.json +3 -2
- package/skills/concrete-plan/SKILL.md +3 -5
- package/skills/concrete-plan/agents/openai.yaml +4 -0
- package/skills/scip-adoption/SKILL.md +120 -0
- package/skills/scip-adoption/agents/openai.yaml +4 -0
- package/skills/scip-ai-cleanup/SKILL.md +12 -4
- package/skills/scip-ai-cleanup/agents/openai.yaml +4 -0
- package/skills/scip-api-impact/SKILL.md +147 -0
- package/skills/scip-api-impact/agents/openai.yaml +4 -0
- package/skills/scip-debloat/SKILL.md +15 -13
- package/skills/scip-debloat/agents/openai.yaml +4 -0
- package/skills/scip-debug/SKILL.md +119 -0
- package/skills/scip-debug/agents/openai.yaml +4 -0
- package/skills/scip-diagram/SKILL.md +138 -0
- package/skills/scip-diagram/agents/openai.yaml +4 -0
- package/skills/scip-directory-architecture/SKILL.md +2 -2
- package/skills/scip-directory-architecture/agents/openai.yaml +4 -0
- package/skills/scip-doc-reconcile/SKILL.md +1 -3
- package/skills/scip-doc-reconcile/agents/openai.yaml +4 -0
- package/skills/scip-explore/SKILL.md +8 -2
- package/skills/scip-explore/agents/openai.yaml +4 -0
- package/skills/scip-health-audit/SKILL.md +158 -0
- package/skills/scip-health-audit/agents/openai.yaml +4 -0
- package/skills/scip-health-improve/SKILL.md +151 -0
- package/skills/scip-health-improve/agents/openai.yaml +4 -0
- package/skills/scip-language-playbook/SKILL.md +7 -4
- package/skills/scip-language-playbook/agents/openai.yaml +4 -0
- package/skills/scip-maintainability/SKILL.md +7 -3
- package/skills/scip-maintainability/agents/openai.yaml +4 -0
- package/skills/scip-query/SKILL.md +74 -33
- package/skills/scip-query/agents/openai.yaml +4 -0
- package/skills/scip-query-setup/SKILL.md +65 -18
- package/skills/scip-query-setup/agents/openai.yaml +3 -0
- package/skills/scip-react-maintainability/SKILL.md +2 -2
- package/skills/scip-react-maintainability/agents/openai.yaml +4 -0
- package/skills/scip-triage-issue/SKILL.md +112 -0
- package/skills/scip-triage-issue/agents/openai.yaml +4 -0
- package/skills/scip-verify/SKILL.md +83 -232
- package/skills/scip-verify/agents/openai.yaml +4 -0
- package/skills/scip-vue-maintainability/SKILL.md +2 -3
- package/skills/scip-vue-maintainability/agents/openai.yaml +4 -0
- package/dist/chunk-5B53WB6E.js +0 -4
- package/dist/chunk-DRAZH77R.js +0 -7
- package/dist/chunk-FPMVCDIJ.js +0 -2
- package/dist/chunk-GS33KGAY.js +0 -2
- package/dist/chunk-MHTDOFV7.js +0 -5
- package/dist/chunk-NP5HYVLX.js +0 -20
- package/dist/chunk-O4L4AB3T.js +0 -2
- package/dist/chunk-TO54DY4O.js +0 -2
- package/dist/chunk-UMNENNTX.js +0 -2
- package/dist/chunk-WDUTG2ZR.js +0 -4
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: scip-query
|
|
3
3
|
description: Router for codebase work in scip-query-indexed projects. Use whenever exploring, planning, implementing, refactoring, extracting helpers, verifying changes, hunting duplication or bloat, fixing stale docs, or cleaning up after an AI coding session — or when unsure which scip-* skill applies. Picks the right specialist skill and the commands that must run for each phase of work.
|
|
4
|
-
allowed-tools: [Bash, Skill]
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# scip-query Router
|
|
@@ -21,26 +20,59 @@ When the user asks you to build, change, or fix something non-trivial:
|
|
|
21
20
|
1. **Plan first** — invoke `concrete-plan` (every claim in the plan must come
|
|
22
21
|
from a scip-query command, anchored by `scip-query plan-context <target>`).
|
|
23
22
|
2. **Implement** the plan.
|
|
24
|
-
3. **
|
|
25
|
-
|
|
26
|
-
4. **Gate before done** — `scip-query reindex
|
|
27
|
-
findings or state explicitly why each is
|
|
23
|
+
3. **Verify** — invoke `scip-verify`, then run the post-checks that match what
|
|
24
|
+
you changed (table below).
|
|
25
|
+
4. **Gate before done** — run `scip-query reindex`, then
|
|
26
|
+
`scip-query diff-gate --json`; fix findings or state explicitly why each is
|
|
27
|
+
accepted.
|
|
28
28
|
|
|
29
29
|
## Route by phase of work
|
|
30
30
|
|
|
31
|
-
| You are about to...
|
|
32
|
-
|
|
33
|
-
| Understand how something works, trace a system end-to-end
|
|
34
|
-
|
|
|
35
|
-
|
|
|
36
|
-
|
|
|
37
|
-
|
|
|
38
|
-
|
|
|
39
|
-
|
|
|
40
|
-
|
|
|
41
|
-
|
|
|
42
|
-
|
|
|
43
|
-
|
|
|
31
|
+
| You are about to... | Invoke | Anchor commands |
|
|
32
|
+
| ------------------------------------------------------------------------------------------------------------------ | ----------------------------- | ----------------------------------------------------------------------------------------------------------- |
|
|
33
|
+
| Understand how something works, trace a system end-to-end | `scip-explore` | `scip-query system <module>`, `scip-query trace <symbol>` |
|
|
34
|
+
| Debug a bug, regression, failing behavior, or wrong data flow | `scip-debug` | `scip-query trace <symbol>`, `scip-query dataflow <symbol>`, `scip-query change-surface <file>` |
|
|
35
|
+
| Triage a bug report or issue into evidence and a fix plan | `scip-triage-issue` | `scip-query files <term>`, `scip-query trace <symbol>`, `scip-query affected <symbol>` |
|
|
36
|
+
| Create a visual explanation, flow map, dependency map, or HTML diagram | `scip-diagram` | `scip-query call-graph <symbol>`, `scip-query dataflow <symbol>`, `scip-query affected <symbol>` |
|
|
37
|
+
| Plan a feature, fix, or refactor | `concrete-plan` | `scip-query plan-context <target>` |
|
|
38
|
+
| Assess a public API, route, CLI, config, schema, or boundary change | `scip-api-impact` | `scip-query surface <module>`, `scip-query affected <symbol>`, `scip-query co-change <file>` |
|
|
39
|
+
| Pick high-signal commands for an unfamiliar language | `scip-language-playbook` | — |
|
|
40
|
+
| Adopt or bootstrap scip-query in a repository | `scip-adoption` | `scip-query setup --json`, `scip-query check-deps`, `scip-query capability-matrix --json` |
|
|
41
|
+
| Verify work you just finished (any implementation, refactor, or extraction) | `scip-verify` | `scip-query reindex`, `scip-query diff-gate --json` |
|
|
42
|
+
| Confirm post-setup health signals before cleanup | `scip-health-audit` | `scip-query health --json --full`, `scip-query diff-gate --json` |
|
|
43
|
+
| Raise the health score as high as reasonably possible with autonomous verified cleanup | `scip-health-improve` | `scip-query health --json --full`, `scip-query cleanup-plan --verify --json`, `scip-query diff-gate --json` |
|
|
44
|
+
| Audit dead code, duplication, unnecessary abstractions, or structural bloat and produce a prioritized cleanup plan | `scip-debloat` | `scip-query health` |
|
|
45
|
+
| Clean up recent AI-assisted coding rot, copied echoes, incomplete migrations, speculative params, or doc drift | `scip-ai-cleanup` | `scip-query recent-duplicates`, `scip-query incomplete-migration` |
|
|
46
|
+
| Reconcile docs/standards that drifted from the code | `scip-doc-reconcile` | `scip-query doc-drift <doc>` |
|
|
47
|
+
| Review or redesign source folder structure and ownership boundaries | `scip-directory-architecture` | `scip-query locality-candidates --json --full`, `scip-query similar-files --full` |
|
|
48
|
+
| Review architecture, hidden policies, weak boundaries beyond folder structure | `scip-maintainability` | `scip-query bottlenecks`, `scip-query coupling` |
|
|
49
|
+
| Review React frontend reuse, components, hooks, or TSX/JSX maintainability | `scip-react-maintainability` | `scip-query react-component-duplicates --full`, `scip-query react-hook-candidates --full` |
|
|
50
|
+
| Review Vue frontend reuse, SFCs, templates, or composables | `scip-vue-maintainability` | `scip-query vue-component-duplicates --full`, `scip-query vue-composable-candidates --full` |
|
|
51
|
+
|
|
52
|
+
## Tie-break close calls
|
|
53
|
+
|
|
54
|
+
Use these boundaries before loading a specialist skill:
|
|
55
|
+
|
|
56
|
+
- `scip-health-audit` confirms, ranks, and reports health signals before code
|
|
57
|
+
changes. It is the right first step when the user asks "what needs fixing?"
|
|
58
|
+
or when setup produced a health dossier.
|
|
59
|
+
- `scip-health-improve` is the autonomous campaign. Use it when the user asks
|
|
60
|
+
to raise/maximize the health score, keep working with minimal interaction, or
|
|
61
|
+
get the repo as clean as reasonably possible.
|
|
62
|
+
- `scip-debloat` is a bloat audit and cleanup plan. Use it when the user wants
|
|
63
|
+
dead code, duplication, unnecessary abstractions, wrappers, or structural
|
|
64
|
+
waste found and prioritized, but has not asked for a score-maxing campaign.
|
|
65
|
+
- `scip-ai-cleanup` is for AI-session residue: recent re-implementations of
|
|
66
|
+
established code, incomplete helper migrations, speculative parameters,
|
|
67
|
+
stale docs caused by generated changes, and echo code introduced in the
|
|
68
|
+
current or recent work.
|
|
69
|
+
- `scip-maintainability` is for deeper design pressure: hidden policies,
|
|
70
|
+
scattered concepts, weak boundaries, accidental variation, and system
|
|
71
|
+
compression. Use it when the problem is not just "delete waste" but "make the
|
|
72
|
+
codebase easier to reason about."
|
|
73
|
+
- `scip-directory-architecture` is only for folder ownership and migration
|
|
74
|
+
questions. Use it when the user asks where code should live, whether
|
|
75
|
+
boundaries are mature, or how to reorganize source directories.
|
|
44
76
|
|
|
45
77
|
Invoke skills by name (Skill tool or slash command). If skill invocation is
|
|
46
78
|
unavailable in this harness, read `~/.agents/skills/<name>/SKILL.md` and
|
|
@@ -51,16 +83,16 @@ follow it directly.
|
|
|
51
83
|
After implementing, run the checks for what the change actually did — every
|
|
52
84
|
row, every time it applies:
|
|
53
85
|
|
|
54
|
-
| You just...
|
|
55
|
-
|
|
56
|
-
| Extracted a helper / created an abstraction
|
|
57
|
-
| Wrote a brand-new helper or module
|
|
58
|
-
| Added parameters, options, or config flags
|
|
59
|
-
| Added a forwarding or wrapper layer
|
|
60
|
-
| Added an interface, base class, or type alias
|
|
61
|
-
| Changed a schema, contract, config, or generated file | `scip-query co-change <file>` — update the historical partners or confirm the coupling broke
|
|
62
|
-
| Changed code that docs describe
|
|
63
|
-
| Deleted code
|
|
86
|
+
| You just... | Run |
|
|
87
|
+
| ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
|
|
88
|
+
| Extracted a helper / created an abstraction | `scip-query incomplete-migration` — lists call sites that still hold the logic inline; migrate them or state why they differ |
|
|
89
|
+
| Wrote a brand-new helper or module | `scip-query similar <it>` and `scip-query recent-duplicates` — reuse beats re-implementation; delete the echo |
|
|
90
|
+
| Added parameters, options, or config flags | `scip-query unused-params` — speculative "for later" params must go |
|
|
91
|
+
| Added a forwarding or wrapper layer | `scip-query wrapper-candidates` and `scip-query passthrough-candidates` — indirection must earn its keep |
|
|
92
|
+
| Added an interface, base class, or type alias | `scip-query stale-abstractions` — one real consumer is not an abstraction |
|
|
93
|
+
| Changed a schema, contract, config, or generated file | `scip-query co-change <file>` — update the historical partners or confirm the coupling broke |
|
|
94
|
+
| Changed code that docs describe | `scip-query doc-drift` — update the docs that now lie |
|
|
95
|
+
| Deleted code | `scip-query cleanup-plan --verify` — take the whole cascade with compiler proof |
|
|
64
96
|
|
|
65
97
|
Confusable detectors (full guide: docs/DETECTOR_GUIDE.md): `unused-params` is
|
|
66
98
|
parameter-level; `passthrough-candidates` = one **callee** (only forwards);
|
|
@@ -69,13 +101,22 @@ type-level. `recent-duplicates` = similarity + git age (which copy is the
|
|
|
69
101
|
echo); `incomplete-migration` = the inverse (the new helper is canonical, the
|
|
70
102
|
old inline copies must go).
|
|
71
103
|
|
|
72
|
-
**Before declaring any change done** — run `scip-query diff-gate`. Exit 1
|
|
104
|
+
**Before declaring any change done** — run `scip-query diff-gate --json`. Exit 1
|
|
73
105
|
means findings, each with a remediation. Fix them or knowingly accept them
|
|
74
106
|
with a stated reason; never ignore them silently.
|
|
75
107
|
|
|
76
108
|
## One-time project setup
|
|
77
109
|
|
|
78
|
-
If this project has
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
110
|
+
If this project has not been bootstrapped yet, run `scip-query setup`. It
|
|
111
|
+
installs bundled skills, checks indexer readiness, refreshes the index, runs
|
|
112
|
+
capability and health checks, writes the health dossier, and seeds agent
|
|
113
|
+
guidance. Use `scip-query setup-agent` only when you specifically need to
|
|
114
|
+
refresh AGENTS.md/CLAUDE.md guidance without the full setup pass.
|
|
115
|
+
Use `scip-query setup-hooks --json` to repair the current repository's
|
|
116
|
+
project-local Codex/Claude Code lifecycle hooks.
|
|
117
|
+
After setup, use `scip-health-audit` to confirm and rank raw health signals, or
|
|
118
|
+
`scip-health-improve` when the user wants the agent to raise the score as high
|
|
119
|
+
as reasonably possible with minimal interaction.
|
|
120
|
+
|
|
121
|
+
Do not use `scip-query setup-ci` as part of first-run setup. The CI workflow is
|
|
122
|
+
intentionally separate until its validation story is mature.
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: scip-query-setup
|
|
3
|
-
description: Set up or refresh scip-query in a repository so agents can use compiler-resolved code intelligence effectively. Use when adopting scip-query in a repo, fixing stale setup, adding AGENTS.md guidance, checking capability coverage, configuring .scipquery.json, or calibrating locality architectural boundaries.
|
|
4
|
-
allowed-tools: [Bash, Read, Edit, Write, Glob, Skill]
|
|
3
|
+
description: Set up or refresh scip-query in a repository so agents can use compiler-resolved code intelligence effectively. Use when adopting scip-query in a repo, running the robust `scip-query setup` bootstrap, fixing stale setup, adding AGENTS.md guidance, checking capability coverage, generating the health dossier, configuring .scipquery.json, or calibrating locality architectural boundaries.
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# scip-query Setup
|
|
@@ -25,38 +24,73 @@ git rev-parse --show-toplevel
|
|
|
25
24
|
|
|
26
25
|
```bash
|
|
27
26
|
scip-query --version
|
|
28
|
-
scip-query
|
|
27
|
+
scip-query doctor
|
|
29
28
|
```
|
|
30
29
|
|
|
31
30
|
If the command is missing, install or link it using the repo's package manager, then rerun this step.
|
|
32
31
|
|
|
33
|
-
3.
|
|
32
|
+
3. Ensure bundled skills are available and project-local lifecycle hooks are configured.
|
|
34
33
|
|
|
35
34
|
```bash
|
|
36
|
-
scip-query
|
|
37
|
-
scip-query
|
|
35
|
+
scip-query install-skills
|
|
36
|
+
scip-query setup-hooks --json
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
The setup command also installs skills and configures project-local hooks, but running `install-skills` directly is useful when refreshing a user-level Codex, Claude Code, or shared agents skill root. Use `setup-hooks` when the user wants to repair the current repository's reviewable `.codex/hooks.json` and `.claude/settings.json` files without rerunning the full setup pass.
|
|
40
|
+
|
|
41
|
+
4. Run the robust local setup pass.
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
scip-query setup --json
|
|
38
45
|
```
|
|
39
46
|
|
|
40
|
-
|
|
47
|
+
This pass installs bundled skills, configures project-local hooks, checks indexer readiness, attempts configured indexer remediation, refreshes the index, verifies capabilities, smoke-tests representative command families, writes `docs/scip-query/health-dossier.md` and `docs/scip-query/health-dossier.json`, and seeds agent guidance.
|
|
41
48
|
|
|
42
|
-
|
|
49
|
+
If setup reports `blocked`, run:
|
|
43
50
|
|
|
44
51
|
```bash
|
|
45
|
-
scip-query
|
|
52
|
+
scip-query check-deps
|
|
53
|
+
scip-query capability-matrix --json
|
|
46
54
|
```
|
|
47
55
|
|
|
48
|
-
|
|
56
|
+
Fix the reported missing indexer, toolchain, language, or config problem before continuing. Do not call a missing capability "clean"; record it as unavailable or blocked.
|
|
57
|
+
|
|
58
|
+
5. Initialize minimal config only when the project needs one.
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
scip-query init
|
|
62
|
+
scip-query config-validate
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Keep `.scipquery.json` minimal. Add settings only when they are justified by observed repo facts, reviewed false positives, declared coupling, or explicit suppressions.
|
|
66
|
+
|
|
67
|
+
6. Refresh the index and inspect project status when setup repairs anything.
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
scip-query reindex
|
|
71
|
+
scip-query status --capabilities
|
|
72
|
+
scip-query capabilities --json
|
|
73
|
+
scip-query stats
|
|
74
|
+
```
|
|
49
75
|
|
|
50
|
-
|
|
76
|
+
If an upstream indexer skipped source files that should still be searchable or visible to agents, run:
|
|
51
77
|
|
|
52
78
|
```bash
|
|
53
|
-
scip-query
|
|
54
|
-
scip-query health
|
|
79
|
+
scip-query augment-sources
|
|
55
80
|
```
|
|
56
81
|
|
|
57
|
-
|
|
82
|
+
Use `scip-query watch` only for an active local session where repeated source edits need automatic reindexing. It is not part of the default setup proof.
|
|
83
|
+
|
|
84
|
+
7. Confirm health signals before cleanup.
|
|
85
|
+
|
|
86
|
+
Invoke `scip-health-audit` after setup when the user wants cleanup, a post-setup follow-through, or a perfect-code pass. The agent must tell the user the health score and list confirmed items before changing application code.
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
scip-query health --json --full
|
|
90
|
+
scip-query diff-gate --json
|
|
91
|
+
```
|
|
58
92
|
|
|
59
|
-
|
|
93
|
+
8. Calibrate project config.
|
|
60
94
|
|
|
61
95
|
Open or create `.scipquery.json`. Keep config minimal and tied to observed repo facts.
|
|
62
96
|
|
|
@@ -83,7 +117,7 @@ For an unstructured repo, setup runs in discovery mode. Discovery mode means the
|
|
|
83
117
|
|
|
84
118
|
Use `locality.architecturalBoundarySegments` only when validation finds a repo-specific mature boundary that is not already in the built-in list. Add folder names, not paths.
|
|
85
119
|
|
|
86
|
-
|
|
120
|
+
9. Validate directory-organization signals when setup touches locality.
|
|
87
121
|
|
|
88
122
|
```bash
|
|
89
123
|
scip-query locality-candidates --json --full
|
|
@@ -95,15 +129,28 @@ Validate both suppression and emission. Suppression means a bad generic home was
|
|
|
95
129
|
|
|
96
130
|
If the repo has no mature boundaries, the correct setup result is a note, not a config guess: "locality boundaries not configured; repo needs architecture ownership decisions first." A slop codebase is a codebase whose files are arranged by accident, convenience, or recent edits rather than by stable ownership rules. Its defining trait is that directory names do not reliably predict where code should live, so the setup skill must not make `locality-candidates` appear more certain than the repo itself.
|
|
97
131
|
|
|
98
|
-
|
|
132
|
+
10. Finish with the standard gate.
|
|
99
133
|
|
|
100
134
|
```bash
|
|
101
135
|
scip-query reindex
|
|
102
|
-
scip-query diff-gate
|
|
136
|
+
scip-query diff-gate --json
|
|
103
137
|
```
|
|
104
138
|
|
|
105
139
|
Fix findings or state the explicit acceptance reason.
|
|
106
140
|
|
|
141
|
+
Do not run `scip-query setup-ci` as part of this setup workflow. CI setup is intentionally deferred until that command has a mature validation path.
|
|
142
|
+
|
|
143
|
+
## Suppressions
|
|
144
|
+
|
|
145
|
+
Prefer fixing findings. Use suppressions only for intentional design, compatibility shims, framework entry points, or accepted false positives with a specific reason.
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
scip-query suppress <id> --reason "<specific reason>"
|
|
149
|
+
scip-query config-validate
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
A suppression is a durable acceptance record. It should explain why the code should remain as-is, not merely silence a noisy report.
|
|
153
|
+
|
|
107
154
|
## Handoff Notes
|
|
108
155
|
|
|
109
156
|
When setup changes are complete, record:
|
|
@@ -73,7 +73,7 @@ After implementing a component reuse, hook extraction, or large-component split,
|
|
|
73
73
|
Run the checks that match what changed:
|
|
74
74
|
|
|
75
75
|
```bash
|
|
76
|
-
scip-query diff-impact
|
|
76
|
+
scip-query diff-impact --json
|
|
77
77
|
scip-query react-component-duplicates --scope <react-source-scope> --full --json
|
|
78
78
|
scip-query react-hook-candidates --scope <react-source-scope> --full --json
|
|
79
79
|
scip-query react-large-component-pressure --scope <react-source-scope> --full --json
|
|
@@ -83,7 +83,7 @@ scip-query unused-params
|
|
|
83
83
|
scip-query wrapper-candidates --scope <react-source-scope> --full --json
|
|
84
84
|
scip-query passthrough-candidates --scope <react-source-scope> --full --json
|
|
85
85
|
scip-query stale-abstractions --scope <react-source-scope> --include-low-confidence --full --json
|
|
86
|
-
scip-query reindex && scip-query diff-gate
|
|
86
|
+
scip-query reindex && scip-query diff-gate --json
|
|
87
87
|
```
|
|
88
88
|
|
|
89
89
|
Use the results this way:
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: scip-triage-issue
|
|
3
|
+
description: Triage bug reports and issues with scip-query evidence. Use when the user shares a GitHub issue, bug report, failing test, support report, TODO, vague defect, or asks to investigate, classify, root-cause, write an issue, or produce a test-first fix plan before implementation.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# SCIP Issue Triage
|
|
7
|
+
|
|
8
|
+
Use this skill to turn a report into a grounded fix plan. An issue is a described mismatch between expected and observed behavior that needs a tracked decision or code change. Triage is the evidence pass that determines whether the issue is reproducible, where it enters the codebase, what root cause is most likely, and what test should fail before the fix.
|
|
9
|
+
|
|
10
|
+
## Rules
|
|
11
|
+
|
|
12
|
+
1. Do not file or implement from the title alone. Extract concrete observed behavior, expected behavior, scope, and reproduction first.
|
|
13
|
+
2. Use scip-query for code evidence: entry points, references, call flow, data flow, blast radius, and similar implementations.
|
|
14
|
+
3. Prefer a failing test plan before a code plan. If no test harness exists, name the smoke command or manual check that will prove the fix.
|
|
15
|
+
4. If the user asks only for triage, stop at the triage packet. If they asked to fix it too, implement after the packet is clear.
|
|
16
|
+
|
|
17
|
+
## Workflow
|
|
18
|
+
|
|
19
|
+
### 1. Normalize the report
|
|
20
|
+
|
|
21
|
+
Record:
|
|
22
|
+
|
|
23
|
+
- title or short summary;
|
|
24
|
+
- observed behavior;
|
|
25
|
+
- expected behavior;
|
|
26
|
+
- reproduction steps or missing reproduction data;
|
|
27
|
+
- affected surface: CLI command, API route, UI view, job, library export, docs, or config;
|
|
28
|
+
- severity and user impact;
|
|
29
|
+
- known logs, stack traces, screenshots, failing tests, or issue links.
|
|
30
|
+
|
|
31
|
+
If key facts are missing but the repo can answer them, investigate. Ask the user only when the missing fact is product intent, credentials, private data, or an external system state you cannot inspect.
|
|
32
|
+
|
|
33
|
+
### 2. Map likely code ownership
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
scip-query status --capabilities
|
|
37
|
+
scip-query reindex
|
|
38
|
+
scip-query files <issue-term>
|
|
39
|
+
scip-query outline <candidate-file>
|
|
40
|
+
scip-query system <module-or-scope>
|
|
41
|
+
scip-query surface <module-or-scope>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Use `scip-query kind-counts --scope <scope>` and `scip-query by-kind function --scope <scope>` when the issue names a broad subsystem and you need an inventory.
|
|
45
|
+
|
|
46
|
+
### 3. Trace the failing path
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
scip-query trace <entry-or-error-symbol>
|
|
50
|
+
scip-query code <entry-or-error-symbol>
|
|
51
|
+
scip-query call-graph <entry-symbol>
|
|
52
|
+
scip-query dataflow <state-or-input-symbol>
|
|
53
|
+
scip-query slice <state-or-input-symbol>
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
If a stack trace names a file and line, use `scip-query code '<file>:<start>-<end>'` to read the exact region before following symbols.
|
|
57
|
+
|
|
58
|
+
### 4. Look for known-good comparisons
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
scip-query similar <suspect-symbol> --json --full
|
|
62
|
+
scip-query convergence <suspect-symbol> <comparison-symbol>
|
|
63
|
+
scip-query similar-files <suspect-file> --json --full
|
|
64
|
+
scip-query co-change <suspect-file> --json --full
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Use comparisons to identify a missing guard, validation step, conversion, docs partner, generated artifact, or test fixture.
|
|
68
|
+
|
|
69
|
+
### 5. Bound impact and test shape
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
scip-query change-surface <suspect-file> --json --full
|
|
73
|
+
scip-query affected <suspect-symbol> --json
|
|
74
|
+
scip-query diff-impact --json
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Choose the narrowest failing test that proves the bug. If the issue crosses a public API or generated contract, include `scip-query co-change <file> --json --full` in the plan.
|
|
78
|
+
|
|
79
|
+
## Triage Packet
|
|
80
|
+
|
|
81
|
+
Write the packet before filing or fixing:
|
|
82
|
+
|
|
83
|
+
```markdown
|
|
84
|
+
## Issue
|
|
85
|
+
<one-sentence mismatch>
|
|
86
|
+
|
|
87
|
+
## Reproduction
|
|
88
|
+
<steps, command, failing test, or missing data>
|
|
89
|
+
|
|
90
|
+
## Evidence
|
|
91
|
+
- <scip-query command>: <fact>
|
|
92
|
+
|
|
93
|
+
## Suspected Root Cause
|
|
94
|
+
<earliest code fact that explains the symptom>
|
|
95
|
+
|
|
96
|
+
## Impact
|
|
97
|
+
- users/surfaces affected
|
|
98
|
+
- blast radius from `scip-query affected` or `change-surface`
|
|
99
|
+
|
|
100
|
+
## Fix Plan
|
|
101
|
+
1. Add or update failing test/smoke check.
|
|
102
|
+
2. Make the smallest code change.
|
|
103
|
+
3. Run targeted test.
|
|
104
|
+
4. Run `scip-query reindex`.
|
|
105
|
+
5. Run `scip-query diff-gate --json`.
|
|
106
|
+
6. Invoke `scip-verify`.
|
|
107
|
+
|
|
108
|
+
## Open Questions
|
|
109
|
+
- <product intent or external state only>
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
If creating a GitHub issue, use the packet as the issue body and include exact file/symbol references. If no root cause is proven, label the result as `needs reproduction` or `needs product decision`, not as ready to implement.
|