by joetawil7
Rules and checks that make Claude Code look around a change, not just at the lines it writes: ten questions before code, a reviewer that didn't write it, proof before done, bugs fixed as a class.
# Add to your Claude Code skills
git clone https://github.com/joetawil7/first-passLast scanned: 9/29/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-09-29T10:25:35.217Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}See how first-pass compares with popular alternatives.
first-pass is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by joetawil7. Rules and checks that make Claude Code look around a change, not just at the lines it writes: ten questions before code, a reviewer that didn't write it, proof before done, bugs fixed as a class. It has 99 GitHub stars.
Yes. first-pass passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/joetawil7/first-pass" and add it to your Claude Code skills directory (see the Installation section above).
first-pass is primarily written in JavaScript. It is open-source under joetawil7 on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh first-pass against similar tools.
No comments yet. Be the first to share your thoughts!
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
first-pass makes a coding agent check the code around a change, not only the lines it writes, and prove its work before it calls anything done. It's a Claude Code plugin; Cursor, Codex and other agents get the same rules and skills (the hooks are Claude Code only). You set it up once, in the folder that holds your repos.
What it does
file:line, a test, or a gap you decide to accept./first-pass:hulk lifts the
scope for one task, so it looks everywhere./first-pass:review checks your own branch before you ask for
review, or a teammate's PRs across several repos. Every finding comes with its proof or
is marked unproven, and it never posts to GitHub. /first-pass:review hulk <what> reviews
with the scope lifted, so it looks everywhere.What it helps with
/plugin marketplace add joetawil7/first-pass
/plugin install first-pass@first-pass
Then, in the folder where you start your sessions: /first-pass:setup-first-pass.
I built a product feature by feature with Claude Code. Every feature request ended with some version of "make sure the code is correct and bug free, cover all gaps, be 100% sure." Then I ran a full audit. It found 318 issues, 25 of them high severity.
When I sorted them, only 45 were mistakes in the lines being written. The rest were in the code around those lines:
| What went wrong | Issues |
|---|---|
| Another code path using the same data was not updated | 54 |
| Runs twice, runs at the same time, or stops halfway | 54 |
| An outside service fails or is slow, and the error is hidden | 45 |
| A plain mistake in the code itself | 45 |
| Time, units, rounding | 26 |
| Scale: no limit, no index, lists that stop at one page | 25 |
| Endings: cancel, delete, expire, reconnect, downgrade | 19 |
| UI, help, legal or pricing text that says what the code doesn't do | 18 |
| Pipeline: CI red, no tests against a real database | 17 |
| Hostile user or uncapped cost | 15 |
(One private codebase, sorted by hand with one cause per issue. Your mix will differ.)
Several of these had been found by earlier audits and fixed. Each fix patched one spot, and nothing carried the lesson into the next session.
"Be 100% sure" changed how sure the answers sounded. It never made the agent open the other file that writes the same field, or ask what happens when the webhook arrives twice. So first-pass names those checks, and asks for proof before anything is called done:
file:line, a test, or "Not handled, because ___" for you to accept.breaker agent reviews each change in a fresh context, starting from the other
code paths that touch the same data.| Piece | What it does | When |
|---|---|---|
premortem |
The ten questions, answered against the code | Before code |
breaker (agent) |
Fresh-context review of the diff and of every other path touching the same data; concrete findings only | Before done |
ship-check |
The definition of done, ending in a report where every "Verified" line says what was run and its result | Before done |
fix-the-class |
Reproduce, name the class, search for it in the task's scope (everywhere when your own prompt asks for that fix, not when you pick it from a task's list), run the ten questions on the fix, fix or record each hit, make it hard to repeat | On any bug |
setup-first-pass |
Writes the rules once, a map of your repos, and a section per repo with its real commands, test limits and a drafted INVARIANTS.md |
Once, then to update |
habit-words |
Reads what you typed in your recent sessions and maps words like "be 100% sure" to the checks they should mean | At setup, then when due |
sharpen |
Rewrites the prompt you type after it: numbered asks, habit words turned into checks, names and numbers kept exactly. Shows you the rewrite, then works from it | Only when you type it |
review |
Reviews your own branch before you ask for review (type nothing after it), or a teammate's PRs, several repos at once. Checks the change against its ticket, judges the failed checks and every Bugbot comment, runs the breaker, traces the other code that uses what changed, proves each finding or marks it unproven, and says what the merge needs and how to check the deploy. Reads GitHub and never posts; pushes a fix only on your yes | Only when you type it |
jev |
Sets up the optional Jev judge (TypeSafe's decision model), which ship-check asks whether a review finding is real harm, which small ones to fix now, and what proof a small fix needs |
Only when you type it |
hulk |
Lifts the task's scope for one task: searches, reviews and bug hunts go across the whole codebase, and problems found anywhere are handled as usual (for a pull request: /first-pass:review hulk <what>) |
Only when you type it |
| Parts runner | Runs CI's checks on your machine in the parts your repo's .first-pass/parts.json names (setup drafts it from CI): stages in order, a stage's parts side by side, each with its own port, run-named databases and logs |