check

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.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "check" with this command: npx skills add tw93/waza/tw93-waza-check

Check: Review Before You Ship

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 Diff

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.

Scope

Measure the diff and classify depth:

DepthCriteriaReviewers
QuickUnder 100 lines, 1-5 filesBase review only
Standard100-500 lines, or 6-10 filesBase + conditional specialists
Deep500+ lines, 10+ files, or touches auth/payments/data mutationBase + all specialists + adversarial pass

State the depth before proceeding.

Did We Build What Was Asked?

Before reading code, check scope drift: do the diff and the stated goal match? Label: on target / drift / incomplete.

Hard Stops (fix before merging)

  • Destructive auto-execution: any task marked "safe" or "auto-run" that modifies user-visible state (history files, config, preferences, installed software) must require explicit confirmation.
  • Release artifacts missing: verify every artifact listed in the release template exists as a local file and has been uploaded before declaring done.
  • Translated file naming collision: file names must not repeat the language suffix of the directory they're in. Check naming of existing files in the target directory first.
  • GitHub issue/PR number mismatch: run gh issue view N or gh pr view N to confirm the title matches before commenting, closing, or acting. Never rely on memory.
  • GitHub comment style: comments must be 1-2 sentences, natural, like a colleague. Not a structured report. Not AI-sounding.
  • Unknown identifiers in diff: any function, variable, or type introduced in the diff that does not exist in the codebase is a hard stop. Grep before writing or approving any reference: grep -r "name" . -- no results outside the diff = does not exist.
  • Injection and validation: SQL, command, path injection at system entry points. Credentials hardcoded or logged.
  • Dependency changes: unexpected additions or version bumps in package.json, Cargo.toml, go.mod, requirements.txt. Flag any new dependency not obviously required by the diff.

Specialist Review (Standard and Deep only)

Load references/persona-catalog.md to determine which specialists activate. Launch all activated specialists in parallel via the Agent tool, passing the full diff. Merge findings: deduplicate by keeping the more severe, note cross-reviewer agreement.

Autofix Routing

ClassDefinitionAction
safe_autoUnambiguous, risk-free: typos, missing imports, style inconsistenciesApply immediately
gated_autoLikely correct but changes behavior: null checks, error handling additionsBatch into one AskUserQuestion
manualRequires judgment: architecture, behavior changes, security tradeoffsPresent in sign-off
advisoryInformational onlyNote in sign-off

Apply all safe_auto fixes first. Batch all gated_auto into one confirmation block. Never ask separately about each one.

Adversarial Pass (Deep only)

"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.

GitHub Operations

Use gh CLI for all GitHub interactions, not MCP or raw API. Confirm CI passes before merging.

Verification

Run bash "$CLAUDE_SKILL_DIR/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:

  • "should work now" / "probably correct" / "seems to be working" / "trivial change"

Gotchas

What happenedRule
Commented on #249 when discussing #255Run gh issue view N to confirm title before acting
PR comments sounded like a report1-2 sentences, natural, like a colleague
PR comment used bullet pointsWrite as paragraphs; thank the contributor first
Released with no artifacts attachedVerify every artifact exists locally and is uploaded
article.en.md inside _posts_en/ doubled the suffixCheck naming convention of existing files in the target directory
"Trivial one-line fix" broke thingsIf the urge to skip verification arises, run tests anyway
Deployed without env vars setRun vercel env ls before deploying; diff against local keys
Push failed from auth mismatchRun git remote -v before the first push in a new project

Sign-off

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

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

health

No summary provided by upstream source.

Repository SourceNeeds Review
2K-tw93
General

write

No summary provided by upstream source.

Repository SourceNeeds Review
386-tw93
General

think

No summary provided by upstream source.

Repository SourceNeeds Review
385-tw93
General

read

No summary provided by upstream source.

Repository SourceNeeds Review
382-tw93