skills/mp-check-fix/SKILL.md
Deterministically detect and run check scripts, then fix failures (CHECK_ALL first; fallback to typecheck/lint/format/build).
npx skillsauth add MartinoPolo/mpx-claude-code mp-check-fixInstall 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.
Deterministic check execution and fix loop based on detect-check-scripts.sh.
This skill accepts no arguments. Ignore argument-based filtering and follow detector output only.
bash $HOME/.claude/scripts/detect-check-scripts.sh
Handle all outputs explicitly:
NO_PROJECT=true: report "No package.json found" and stop.PM_UNKNOWN=true: ask user which package manager to use (npm, pnpm, yarn, bun), then re-run:bash $HOME/.claude/scripts/detect-check-scripts.sh . <chosen_pm>
PM=<pm>: continue with detected scripts.MONOREPO=true: expect package-prefixed keys too (for example packages_ui_CHECK_ALL=...).Possible script keys per scope (root or prefixed package):
<prefix>CHECK_ALL, <prefix>CHECK_ALL_DIR<prefix>TYPECHECK, <prefix>TYPECHECK_DIR<prefix>LINT, <prefix>LINT_DIR<prefix>FORMAT, <prefix>FORMAT_DIR<prefix>BUILD, <prefix>BUILD_DIRIf no runnable script keys are present after PM=..., report "No scripts detected" and stop.
Per scope:
CHECK_ALL exists: run CHECK_ALL, then BUILD (if present).CHECK_ALL does not exist: run detected TYPECHECK, LINT, FORMAT, then BUILD.Never filter checks by user arguments. The detector output fully determines what runs.
Run planned commands in deterministic order.
CHECK_ALL mode: CHECK_ALL -> BUILDTYPECHECK -> LINT -> FORMAT -> BUILDFor monorepo keys, run from *_DIR:
cd <DIR> && <COMMAND>
Run sequentially. Stop at first failing command, fix it, then continue.
If a check fails:
Repeat up to 3 iterations per failed command. If still failing, mark as Failed and continue.
Continue through remaining planned commands. Each command has its own 3-iteration fix budget.
Summarize status for each attempted command/scope:
Passed: passed immediatelyFixed: failed initially, passed after fixesFailed: still failing after 3 iterationsSkipped: not detected for that scope or superseded by CHECK_ALLReport in execution order. Include scope (root or package prefix) and command used.
Recommended table:
Scope | Command | Status | Notes
| Problem | Action |
| ---------------------------------- | ------------------------------------------------------------------ |
| NO_PROJECT=true | Run from a folder containing package.json |
| PM_UNKNOWN=true | Ask user for package manager and re-run detector with arg 2 |
| PM=... but no script keys | Report "No scripts detected" and stop |
| Prefix keys present (apps_api_*) | Treat each prefix as its own scope; run with corresponding *_DIR |
@ts-ignore, eslint-disable)development
Audit all active skills for consistency, convention drift, and common issues. Auto-fixes where possible, reports remaining issues. Use when: "audit skills", "skill audit", "check skills", "lint skills"
testing
Ship finished work: sync base, commit, push, PR, wait for CI green, merge. Use when: "ship it", "ship and merge", "ship this"
development
Scan recent Claude Code sessions for grilling/design discussions, extract decisions, and update CONTEXT.md + DECISIONS.md. Use when: "harvest decisions", "extract decisions from sessions", "update docs from sessions", "sync decisions"
tools
Consolidate CONTEXT.md: remove duplicates, outdated items, tighten language. Use when: "consolidate context", "clean up context", "simplify context", "consolidate requirements"