skills/check/SKILL.md
Invoke after any implementation task completes or before merging. Reviews the diff, auto-fixes safe issues, runs specialist security and architecture reviewers on large diffs. Not for exploring ideas or debugging.
npx skillsauth add treejh/claude-agent-skills checkInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Prefix your first line with 🥷 inline, not as its own paragraph.
Read the diff, find the problems, fix what can be fixed safely, ask about the rest. Done means verification ran in this session and passed.
Get the full diff between the current branch and the base branch. If unclear, ask. If already on the base branch, ask which commits to review.
Measure the diff and classify depth:
| Depth | Criteria | Reviewers | |-------|----------|-----------| | Quick | Under 100 lines, 1-5 files | Base review only | | Standard | 100-500 lines, or 6-10 files | Base + conditional specialists | | Deep | 500+ lines, 10+ files, or touches auth/payments/data mutation | Base + all specialists + adversarial pass |
State the depth before proceeding.
Before reading code, check scope drift: do the diff and the stated goal match? Label: on target / drift / incomplete.
Drift signals (any one is enough to label drift):
grep -r "name" . -- no results outside the diff = does not exist.Load references/persona-catalog.md to determine which specialists activate. Launch all activated specialists in parallel via the environment's agent or sub-agent facility when available, passing the full diff. If no parallel reviewer facility exists, run the specialist passes sequentially in the same session.
Merge findings: when two specialists flag the same code location, keep the higher severity and note cross-reviewer agreement. Findings on different code locations are never duplicates even if they share a theme.
| Class | Definition | Action |
|-------|------------|--------|
| safe_auto | Unambiguous, risk-free: typos, missing imports, style inconsistencies | Apply immediately |
| gated_auto | Likely correct but changes behavior: null checks, error handling additions | Batch into one user confirmation block |
| manual | Requires judgment: architecture, behavior changes, security tradeoffs | Present in sign-off |
| advisory | Informational only | Note in sign-off |
Apply all safe_auto fixes first. Batch all gated_auto into one confirmation block. Never ask separately about each one.
"If I were trying to break this system through this specific diff, what would I exploit?" Four angles (see references/persona-catalog.md): assumption violation, composition failures, cascade construction, abuse cases. Suppress findings below 0.60 confidence.
Use gh CLI for all GitHub interactions, not MCP or raw API. Confirm CI passes before merging.
Run bash "${CLAUDE_SKILL_DIR:-$HOME/.agents/skills/check}/scripts/run-tests.sh" or the project's known verification command. Paste the full output.
If the script exits non-zero or prints (no test command detected): halt. Do not claim done. Ask the user for the verification command before proceeding. If the user also cannot provide one, document this explicitly in the sign-off as verification: none -- no command available and flag it as a structural gap, not a pass.
For bug fixes: a regression test that fails on the old code must exist before the fix is done.
If any of these phrases appear in your reasoning, stop and run verification first:
| What happened | Rule |
|---------------|------|
| Commented on #249 when discussing #255 | Run gh issue view N to confirm title before acting |
| PR comment sounded like a report | 1-2 sentences, natural, like a colleague. Not structured, not AI-sounding. |
| PR comment used bullet points | Write as paragraphs; thank the contributor first |
| article.en.md inside _posts_en/ doubled the suffix | Check naming convention of existing files in the target directory first |
| Released with no artifacts attached | Verify every artifact exists locally and is uploaded |
| "Trivial one-line fix" broke things | If the urge to skip verification arises, run tests anyway |
| Deployed without env vars set | Run vercel env ls before deploying; diff against local keys |
| Push failed from auth mismatch | Run git remote -v before the first push in a new project |
files changed: N (+X -Y)
scope: on target / drift: [what]
review depth: quick / standard / deep
hard stops: N found, N fixed, N deferred
specialists: [security, architecture] or none
new tests: N
verification: [command] -> pass / fail
development
Use when you have a spec or requirements for a multi-step task, before touching code
development
Invoke only when explicitly asked to write, edit, or polish prose in Chinese or English. Strips AI writing patterns and rewrites to sound natural. Not for code comments, commit messages, or inline docs.
development
Invoke before writing any code for a new feature, design, or architecture decision. Turns rough ideas into approved plans with validated structure. Not for bug fixes or small edits.
development
Use when implementing any feature or bugfix, before writing implementation code