| name | _shared |
| description | Shared scip-query reference for bundled skills. |
| disable-model-invocation | true |
scip-query Shared Reference
This is shared reference for scip-query skills. Load it when another skill says to use the shared evidence, lookup, postcheck, or subagent rules.
Evidence Contract
A SCIP index is the compiler-derived map of a repository's source files, symbols, references, imports, calls, and dependencies. What makes it different from text search is that it records what the language toolchain can identify, so code claims can point to definitions and consumers rather than matching strings.
A graph fact is a claim produced from that index, such as a definition line, reference site, caller, callee, dependency, reverse dependency, or affected consumer. Use graph facts for code behavior, ownership, and blast-radius claims.
Before trusting graph facts, run:
scip-query status --capabilities
If freshness is fresh, continue. If it is stale, missing, or unknown, run:
scip-query reindex
Every file path, line number, symbol relationship, and behavior claim in a plan, report, or review must cite the command that produced it. If scip-query cannot answer a question because the target is not indexed, say so and use the narrowest other evidence available.
Lookup
Use partial symbol names without parentheses:
scip-query code parseConfig
scip-query call-graph runCommand
scip-query trace loadSettings
If lookup is ambiguous or missing:
- Try a shorter symbol name.
- Run
scip-query outline <file>.
- Run
scip-query trace <name>.
- Use
scip-query code 'path/to/file.ts:START-END' when you know the file range.
Command Families
This syntax catalog is generated from the CLI command descriptors.
Indexing
scip-query reindex
scip-query augment-sources
scip-query augment-vue
Core
scip-query stats
Navigation
scip-query files <pattern>
scip-query methods <className>
scip-query refs <symbol>
scip-query trace <symbol>
scip-query deps <file>
scip-query rdeps <file>
scip-query system <module>
scip-query surface <module>
scip-query imports <file>
scip-query imported-by <symbol>
scip-query outline <file>
scip-query members <symbol>
scip-query by-kind <kind>
scip-query kind-counts
scip-query hierarchy <symbol>
scip-query code <symbol>
scip-query dataflow <symbol>
scip-query slice <symbol>
Cleanup
scip-query dead [scope]
scip-query unused-imports <file>
scip-query isolated
scip-query similar [symbol] [other]
scip-query similar-files [file]
scip-query react-component-duplicates [file]
scip-query react-hook-candidates [file]
scip-query react-large-component-pressure [file]
scip-query vue-component-duplicates [file]
scip-query vue-composable-candidates [file]
scip-query vue-large-view-pressure [file]
scip-query similar-chains
scip-query extract-candidates
scip-query locality-candidates [symbol-or-file]
scip-query cleanup-plan
scip-query cleanup-apply
scip-query recent-duplicates
scip-query doc-drift [doc]
scip-query unused-params
scip-query drift [module]
scip-query wrapper-candidates
scip-query passthrough-candidates
scip-query stale-abstractions
scip-query complexity-hotspots
scip-query convergence <symbol1> <symbol2>
scip-query redundant-reexports
scip-query duplicate-bodies
scip-query twin-drift
scip-query twin-ab <symbolA> <symbolB>
scip-query not-implemented
scip-query decorative-checkers
scip-query test-quality
scip-query similar-signatures
Graph
scip-query hotspots
scip-query fan-in [symbol]
scip-query fan-out [file]
scip-query coupling [file1] [file2]
scip-query cycles
scip-query bottlenecks
scip-query deep-chains
scip-query call-graph <symbol>
Impact
scip-query affected <symbol>
scip-query change-surface <file>
scip-query co-change [file]
scip-query diff-gate
scip-query incomplete-migration
scip-query diff-impact
Formal Models
scip-query tla <operation> [spec]
Planning
scip-query plan-context <target>
Health
scip-query self-audit
scip-query health
scip-query complexity <symbol>
Maintenance
scip-query bench
scip-query work-audit <profile>
scip-query install-skills
scip-query setup-hooks
scip-query check-deps
scip-query capabilities
scip-query capability-matrix
scip-query init
scip-query config-validate
scip-query suppress <id>
scip-query effectiveness
scip-query doctor
scip-query setup
scip-query setup-agent
scip-query setup-ci
scip-query uninstall
scip-query watch
scip-query status
Detector Reliability
Calibrated against two external production repos on 2026-07-01
(docs/validation/2026-07-01-external-calibration-*.md). Weight findings by
measured precision, not by volume:
- Strong signal —
complexity-hotspots (~90%), recent-duplicates (~75%), graph facts (refs, trace, deps), compiler-verified cleanup-plan --verify.
- Good with review —
duplicate-bodies, similar, co-change, doc-drift, twin-drift (post-retune defaults).
- Exploration only —
wrapper-candidates, stale-abstractions, drift --patterns: near-zero precision on codebases with intentional layering or ambient types. Never file their findings without reading the cited code.
- Advisory gate findings (marked
(advisory)) never block; they are context, not obligations.
- False-dead archetypes (2026-07-02 remediation, docs/plans/2026-07-02-followups.md items 1-3):
import type-only consumers (incl. tsconfig paths-aliased specifiers) and pnpm/npm/yarn workspace cross-package consumers (incl. unbuilt dist/ exports maps) are now resolved by the shared reference-counting layer that dead/isolated/new-dead/stale-abstractions/production-callables all consume; Vue <script setup> composable consumers were already correctly resolved (verified live, no code change needed). One narrow residual gap remains: a symbol with an ambiguous leaf name (a same-named definition exists elsewhere in the project) reached only through a re-exporting barrel file in a workspace package can still misattribute — new-dead labels that specific shape unconfirmed (cross-package ambiguous-name resolution gap) with evidence: "heuristic" and lowered confidence instead of asserting dead; treat those as "verify manually," not as a fact. Everything else in this class is a normal graph-fact dead claim again — confirm with refs when in doubt, same as any other finding.
- Ledger nudges: when
diff-gate --hook reports "this check is rarely acted on in this repo", either tune that check's config, suppress the standing findings with reasons, or consciously accept the noise — do not let unresolved findings accumulate as wallpaper.
- Effectiveness ledger: every completed diff-gate run, including JSON and hook mode, writes each caught/resolved/suppressed transition to its own committed
.scipquery/events/*.json file. Independent branches add independent paths instead of editing a shared log; commit the event files with your changes. Legacy .scipquery/ledger/events.jsonl records remain readable and migrate on the next gate write. Query the history with scip-query effectiveness [--since 30d] [--check <check>] [--json]: per check it reports findings caught, comparison-verified fixed, suppressed, still open, moved (rename noise), legacy/non-comparable unverified resolutions, precision (verified fixed ÷ verified fixed plus suppressed), and median days-to-fix. A pre-commit rerun reuses the same base directly; after HEAD advances, a clean run automatically replays the stored comparison commit. A dirty or unavailable replay leaves the finding pending instead of manufacturing a fix. Standalone detector commands are not outcome-tracked until they expose complete-scan evidence.
Diff Gate Checks
diff-gate runs nine checks (--skip <check> accepts any of these): echo (recent-duplicate-style echoes in the diff), incomplete-migration, co-change-partner (missing historically-paired file), twin-partner (advisory — unedited same-name twin), coverage-contract (a configured coverageContracts enumeration drifted from its ground truth — see scip-setup), doc-reference (uncited or stale doc claim), unused-params, new-dead (dead code introduced by this diff), and baseline (only with --baseline: compares against the committed .scipquery-baseline.json, distinct from health --baseline). Findings print grouped under a Root-cause groups (N): header before the flat list — a group's remediation usually clears every finding under it, and the same remediation may then repeat in the flat list below; that repetition is expected, not a separate issue. --baseline findings additionally carry an actionTier: direct (act on this finding alone), signal (corroborating evidence — read before acting), support (context only).
Postchecks
Run the rows that match the actual edit:
| Change made | Check |
|---|
| Extracted a helper or abstraction | scip-query incomplete-migration --json --full |
| Added a helper, module, component, hook, composable, or adapter | scip-query similar <symbol> --json --full and scip-query recent-duplicates --json --full |
| Added parameters, options, props, config flags, or broad option objects | scip-query unused-params --json --full |
| Added a wrapper, facade, forwarding layer, alias, or re-export | scip-query wrapper-candidates --json --full, scip-query passthrough-candidates --json --full, and scip-query redundant-reexports when exports changed |
| Added an interface, base class, adapter contract, or type alias | scip-query stale-abstractions --json --full |
| Changed schema, config, generated files, public contracts, command descriptors, or docs-backed behavior | scip-query co-change <file> --json --full and scip-query doc-drift --json --full |
| Deleted code | scip-query cleanup-plan --verify --json |
| Changed React components or hooks | the React frontend commands above |
| Changed Vue SFCs or composables | the Vue frontend commands above |
Every implemented change ends with:
scip-query status --capabilities
scip-query diff-gate --json
Fix findings or record a specific acceptance reason. Do not report success while a diff-gate finding is unexplained.
Subagents
When a subagent is used for scip-query evidence, include these rules in its prompt:
Use scip-query for all code references. Do not use grep, rg, cat, or file reads as evidence for code behavior. Every file path, line number, and behavioral claim must cite the exact scip-query command that produced it. If scip-query cannot verify a claim, say so.
Reject subagent findings that cite text search or raw file reads as code evidence when graph facts were required.