From pre-flight-check
Run this quality gate pipeline before committing code, completing a task, or when validating if a bug fix worked. It strictly checks Typechecking, Linting, Testing, and Security Audits sequentially.
How this skill is triggered — by the user, by Claude, or both
Slash command
/pre-flight-check:pre-flight-checkThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A mandatory, fail-fast quality gate. Runs Typecheck → Lint → Test → Security Audit sequentially via `scripts/run-pipeline.py`. The script auto-detects the project runtime (Node.js or Python) and exits with code `1` on the first failing stage, emitting a structured Markdown block you must parse.
A mandatory, fail-fast quality gate. Runs Typecheck → Lint → Test → Security Audit sequentially via scripts/run-pipeline.py. The script auto-detects the project runtime (Node.js or Python) and exits with code 1 on the first failing stage, emitting a structured Markdown block you must parse.
Run this skill without being asked at every one of these checkpoints:
If you are about to say "done", "fixed", "complete", "ready to commit", or similar — stop and run this skill first.
Execute from the repository root:
python .claude/skills/pre-flight-check/scripts/run-pipeline.py
The script writes a header per stage as it progresses, then emits one of:
### ✅ PRE-FLIGHT PASSED — exit 0. Safe to proceed.### ❌ PRE-FLIGHT FAILURE: [STAGE_NAME] — exit 1. Stop and fix.### ⚠️ PRE-FLIGHT SKIPPED: … — exit 1. Runtime undetected or no stages resolved. Resolve tooling before proceeding.If the script outputs ### ❌ PRE-FLIGHT FAILURE: [STAGE_NAME], you are FORBIDDEN from:
// @ts-ignore, no # noqa, no eslint-disable, no pytest.skip, no removing the failing test, no widening ignore globs).Your only permitted next action is to repair the specific error reported by the failing stage and re-run the pipeline. Continue this loop until you see ### ✅ PRE-FLIGHT PASSED.
TYPECHECK failure
Context for AI Fix for the file path and line number (e.g. src/foo.ts:42).Read tool.any, as unknown as X, # type: ignore, or equivalent escape hatches to silence the checker. If a cast is genuinely required (e.g. external untyped boundary), it must be the minimum-width cast at the narrowest possible scope, with a one-line comment explaining why.LINT failure
npm run lint -- --fix / pnpm lint --fix / yarn lint --fix / npx eslint . --fix.ruff check . --fix or the equivalent formatter (ruff format ., black .)..eslintignore / ruff exclude lists, do not add file-level disables, do not weaken the rule globally. Inline rule disables are allowed only for a single line with a comment justifying why.TEST failure
SECURITY AUDIT failure
The ### ❌ PRE-FLIGHT FAILURE block is engineered so you can act decisively. Use it as follows; do not spin in vague attempts.
Command Executed — confirms which tool produced the error. Use this to pick the correct repair recipe above. If you are guessing what tool failed, you are about to make a wrong fix.Context for AI Fix (the fenced code block) — extract, in order:
:42:17).TS2345, E501, no-unused-vars, CVE-2024-xxxxx).When the script prints:
### ✅ PRE-FLIGHT PASSED
All quality gates verified successfully.
…and exits 0, you may proceed with the original action (commit, mark done, open PR). Not before.
Provides CDSS development patterns for drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), and alert classification integrated into EMR workflows.
npx claudepluginhub mirekondro/the-pre-flight-check --plugin pre-flight-check