From skills
Repo-context-aware code audit run locally just before opening a PR. Uses the local codegraph CLI to pull the slice of the call graph touched by the diff (or the full graph with `full`), then dispatches to the strict reviewer subagent with that context loaded — so issues are caught automatically instead of waiting for the user to notice. Auto-invoked by the orchestrator before `/agent-dashboard:pr` per the dispatch row in `.claude/rules/core.md`.
How this skill is triggered — by the user, by Claude, or both
Slash command
/skills:codegraph-auditThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Language-strict reviewers (`go-reviewer-strict`, `python-reviewer-strict`) look only at the changed file. They miss bugs whose root cause lives in a caller, callee, type definition, or import they never read. This skill plugs that hole: before passing the diff to a strict reviewer, it loads the minimum slice of the call graph that the diff touches, so the reviewer reasons over the full blast ra...
Language-strict reviewers (go-reviewer-strict, python-reviewer-strict) look only at the changed file. They miss bugs whose root cause lives in a caller, callee, type definition, or import they never read. This skill plugs that hole: before passing the diff to a strict reviewer, it loads the minimum slice of the call graph that the diff touches, so the reviewer reasons over the full blast radius.
/agent-dashboard:pr per the dispatch row in .claude/rules/core.md. No human action required when raising a PR through the normal flow./skills:codegraph-audit (minimal mode) or /skills:codegraph-audit full (whole-repo mode).Run codegraph --version. If it fails, halt and print:
codegraph is not installed. Install with:
curl -fsSL https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.sh | shThen retry. See https://github.com/colbymchenry/codegraph for details.
Do not auto-install — install is the user's call.
Single optional positional arg.
| Arg | Mode |
|---|---|
| (none) | minimal |
full | walk the entire graph |
| anything else | halt with usage line |
The local .codegraph/ index persists between runs (faster than rebuilding). Add it to repo-root .gitignore once if not already there — the skill never commits it.
if [ ! -f .codegraph/codegraph.db ]; then
codegraph init
codegraph index
else
codegraph sync # incremental update against the working tree
fi
Resolve the diff base. Use git merge-base HEAD origin/main (or origin/master if main doesn't exist) as the base SHA. Diff with git diff --name-only <base> HEAD. Filter to source files (drop .md, .txt, .yml, lockfiles, generated files). If empty after filtering, emit APPROVE with empty findings and exit.
Resolve symbols per file. For each changed file, in parallel:
codegraph query "<file>" --json
Pull the 1-hop context bundle. For each touched symbol, in parallel:
codegraph impact "<symbol>" --json
codegraph callers "<symbol>" --json
codegraph callees "<symbol>" --json
Concatenate into a JSON object keyed by symbol — the context bundle.
Dispatch the strict reviewer subagent. Pick by file extension among the changed set:
.go files → spawn go-reviewer-strict (agents/go-reviewer-strict.md).py files → spawn python-reviewer-strict (agents/python-reviewer-strict.md)Model: sonnet (matches the agent files' frontmatter). Pre-load the context bundle into the subagent prompt:
You are reviewing a pre-PR change. The user has already loaded the
codegraph context bundle below — use it to reason about callers,
callees, and impact. If a symbol isn't in the bundle, it's not in
the blast radius.
<diff>
{git diff <base> HEAD}
</diff>
<codegraph-context>
{context bundle JSON}
</codegraph-context>
Apply your normal review contract (Layer 1 + Layer 2 + output format).
Aggregate. Collect findings using the strict reviewer's [SEVERITY] / Layer / File / Evidence / Fix contract.
/skills:codegraph-audit full)Same as minimal with two changes:
codegraph query --all --json.Mode:
full— walked the entire graph. This is expensive; prefer the default for routine PRs.
Emit a single markdown document. End with:
## Review Summary
| Severity | Count |
|----------|-------|
| BLOCK | 0 |
| FLAG | 0 |
| INFO | 0 |
Verdict: APPROVE | WARNING | BLOCK
/agent-dashboard:pr.The strict reviewer agents (agents/go-reviewer-strict.md, agents/python-reviewer-strict.md) are the single source of truth for review rules. This skill orchestrates context-gathering and dispatch; it does not restate Layer 1 principles, Layer 2 rules, or the output contract. If the rules need to change, change them in the agent files.
.codegraph/ index. It belongs in .gitignore. The skill never git adds it.npx claudepluginhub bjornjee/skills --plugin skillsCreates bite-sized, testable implementation plans from specs or requirements, with file structure and task decomposition. Activates before coding multi-step tasks.