project-min-evaluation — Claude Code skill: checks before you commit
Runs your project's own lint, type and test scripts before the agent calls the work done. Handy when broken commits keep slipping through.
npx skills add C3SC0-V4113/Scaffold --skill project-min-evaluation -a claude-codeWhat project-min-evaluation does
The skill fires on phrases like done, complete, before commit, quality check, verify. The agent reads package.json and the lockfiles, picks a package manager, and runs only scripts that actually exist under scripts. Order is fixed: lint, typecheck, format:check, test, doctor, check. The test:e2e script runs only when end-to-end behavior changed.
No runner is hardcoded. If packageManager is set, that manager wins; otherwise the skill looks at pnpm-lock.yaml, bun.lock or bun.lockb, and falls back to npm for package-lock.json or no signal at all. The first failure stops everything: fix it, then rerun from that script. Skipping a red check to reach a later one is off the table.
The report marks each script as passed, failed, or not defined. A failure comes with the exact command, the exact error, and the scope left unverified. Ask for typecheck in a repo that never defined it, and the skill says the expected script is missing instead of inventing a command. That is the point: an agent that stays quiet about a check it never ran is worth a follow-up question.
What it helps with
- run lint and type checks before a commit
- stop at the first failing script instead of pushing on
- pick the package manager from the project lockfiles
- report which expected scripts are missing from
package.json - avoid calling a task complete while tests fail
Example prompts for the agent
- run the project's minimum checks before I commit
- done — verify quality using the scripts in package.json
- run lint, typecheck and test, start from the failing one
How to install project-min-evaluation
1Skills CLI (Vercel)
npx skills add C3SC0-V4113/Scaffold --skill project-min-evaluation -a claude-code2Manually: put the files in place
~/.claude/skills/project-min-evaluation/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/project-min-evaluation/
1Skills CLI (Vercel)
npx skills add C3SC0-V4113/Scaffold --skill project-min-evaluation -a codex2Manually: put the files in place
.agents/skills/project-min-evaluation/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add C3SC0-V4113/Scaffold --skill project-min-evaluation -a cursor2Manually: put the files in place
.cursor/skills/project-min-evaluation/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install C3SC0-V4113/Scaffold project-min-evaluation2Manually: put the files in place
.github/skills/project-min-evaluation/SKILL.md1Skills CLI (Vercel)
npx skills add C3SC0-V4113/Scaffold --skill project-min-evaluation -a gemini-cli2Platform CLI
gemini skills install https://github.com/C3SC0-V4113/Scaffold --path skills/project-min-evaluationManually: put the files in place
.devin/skills/project-min-evaluation/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add C3SC0-V4113/Scaffold --skill project-min-evaluation -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about project-min-evaluation
How do I install project-min-evaluation in Claude?
Run npx skills add C3SC0-V4113/Scaffold --skill project-min-evaluation -a claude-code. The skill lands at ~/.claude/skills/project-min-evaluation/SKILL.md.
What does project-min-evaluation do?
Before reporting work as complete, it runs the quality scripts defined in package.json in a fixed order and stops at the first failure.
Which scripts does it run?
lint, typecheck, format:check, test, doctor and check when defined. test:e2e only when end-to-end behavior changed.
Source text
SKILL.md · Apache-2.0
--- name: project-min-evaluation description: "Trigger: done, complete, finish, before commit, quality check, verify. Run the project's own minimum quality scripts before claiming work is complete." license: Apache-2.0 metadata: author: purrfold version: "1.0" --- # Project Minimum Evaluation ## Activation Contract Load this skill before reporting implementation work as complete, before committing, or when asked to verify quality. ## Hard Rules 1. Detect the package manager from the project; never hardcode a runner. 2. Run only scripts defined in `package.json` `scripts`; report expected scripts that are missing instead of inventing commands. 3. Run from the repository root, in the order below, and do not skip a failing step to reach a later one. 4. Never claim completion while a check fails or was not run. ## Decision Gates | Project signal | Runner | | --- | --- | | `packageManager` field in `package.json` | use the manager it names | | `pnpm-lock.yaml` | `pnpm run <script>` | | `bun.lock` or `bun.lockb` | `bun run <script>` | | `package-lock.json`, or no other signal | `npm run <script>` | | Script | Run when | | --- | --- | | `lint` | always, if defined | | `typecheck` | always, if defined | | `format:check` | always, if defined | | `test` | always, if defined | | `doctor` | always, if defined | | `check` | always, if defined (aggregate gate) | | `test:e2e` | only when end-to-end behavior changed | ## Execution Steps 1. Read `package.json` and the lockfiles to choose the runner. 2. Collect the scripts from the table that exist in `scripts`. 3. Run each existing script in table order with the chosen runner. 4. Stop at the first failure, fix it, and rerun from that script. ## Output Contract Report each script as passed, failed, or not defined. For a failure or a check that cannot run, give the exact command, the exact error, and the unverified scope. ## References - [references/script-discovery.md](references/script-discovery.md) — detection edge cases.
© purrfold · Apache-2.0 · C3SC0-V4113/Scaffold