npx skills add ...
npx skills add unlearndev/skills --skill first-five
Scan a branch or diff against the First Five checklist (Error Handling, Input Boundaries, External Calls, State Mutations, Assumed Dependencies) and report only genuine concerns. Use when the user asks to "run the first five" on a branch or diff.
npx skills add unlearndev/skills --skill first-five
Raw arguments: $ARGUMENTS
Parse the arguments as the base branch to diff against. If empty, default to main.
Scan the changed files between the base branch and HEAD against the First Five checklist and report only the things worth investigating. This is a short, scannable triage list — not a full review and not a dump of every line.
The five checks:
Run git diff <base>...HEAD (three-dot — changes on this branch since it diverged) and git diff --name-status <base>...HEAD for a file-level overview. If there are no changes, say so and stop.
For every changed file, read enough to evaluate it against the five checks. Skip auto-generated files unless something looks unexpected:
composer.lock, package-lock.json, pnpm-lock.yaml, etc.)public/build/, dist/)Do not flag something on suspicion alone. Before listing a finding:
find or ls to confirm the imported file/class actually does (or doesn't) exist. Only flag if it really is missing.grep for the method on the receiver class/facade. Only flag if it really isn't defined (or has a different signature).If you can't confirm it's wrong, don't flag it.
One section per check. Only include a section if there's something to flag. Skip clean sections entirely. Do not write "(nothing to flag)" placeholders.
Use this format exactly:
If everything is clean, output exactly:
file:line. Every bullet starts with a backticked path and line number.find or ls. A false-positive missing-file claim is the worst outcome of this skill.**X items across Y files.** line. No "here's what I found", no advice on how to fix.if ($x) { … } — this checks if x" is filler. Say what's wrong, not what's there.✅ Nothing flagged.