Pre-PR validation — working tree status, format, lint, TypeScript check, and protected file check. Workspace-aware: detects which of backend/, frontend/, services/apps/*, services/libs/* were changed and runs only the relevant scripts. Use before submitting any PR, to check if code is ready, or to validate a branch before review.
70
87%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Run each check in order. Report results clearly and help fix any issues found.
git status
git diff --stat origin/main...HEAD
git log --format="%h %s%n%b" origin/main...HEADEvaluate:
CM-XXX reference.--signoff? — Flag any commits without Signed-off-by: lines.Resolve any issues before proceeding.
git diff --name-only origin/main...HEADGroup changed files into workspaces:
| Workspace | Path prefix | Lint | Format check | Type check | Test |
|---|---|---|---|---|---|
| Backend | backend/ | cd backend && pnpm lint | cd backend && pnpm format-check | cd backend && pnpm tsc-check | cd backend && pnpm test (needs Docker) |
| Frontend | frontend/ | cd frontend && npm run lint | — | — | — |
| Each service | services/apps/<name>/ | cd services/apps/<name> && pnpm lint | cd services/apps/<name> && pnpm format-check | cd services/apps/<name> && pnpm tsc-check | cd services/apps/<name> && pnpm test if vitest present |
| Each lib | services/libs/<name>/ | cd services/libs/<name> && pnpm lint | cd services/libs/<name> && pnpm format-check | cd services/libs/<name> && pnpm tsc-check | cd services/libs/<name> && pnpm test if vitest present |
Run checks only for the workspaces that have changed files.
For each changed workspace, run its lint command. Fix any errors before proceeding. Common issues:
For each changed workspace that has a format-check script (backend, services), run it.
If there are format violations:
# Fix them
pnpm format
# Then stage the fixes
git add -pFrontend does not have a format-check script — skip for frontend/.
For each changed workspace that has tsc-check (backend, services), run it. Fix all type errors before proceeding.
Frontend does not have a tsc-check script — skip for frontend/.
git diff --name-only origin/main...HEADFlag any changes to these protected files — they should NOT be modified without code owner approval:
services/libs/data-access-layer/** — shared DAL, high blast radiusservices/libs/common/** — shared utilities, affects all servicesbackend/src/database/migrations/** — append-only Flyway migrationsscripts/cli, scripts/scaffold.yaml, scripts/scaffold.insights.yaml.husky/*, commitlint.config.js.github/workflows/**, .github/actions/**tsconfig*.json, .eslintrc*, .prettierrc*pnpm-lock.yaml, package.json, */package.jsonCLAUDE.md, .claude/settings.jsonIf protected files appear in the diff, warn the contributor and ask them to revert or get code owner approval.
git log --format="%h %s%n%b" origin/main...HEADtype: description (CM-XXX) format per commit-workflow.md.--signoff on all commits? — Every commit must have Signed-off-by:..github/workflows/pr-title-jira-key-lint.yml).git diff --stat origin/main...HEADList:
backend/src/api/Present a clear report:
PREFLIGHT RESULTS
─────────────────────────────────────────────────
✓ Working tree — Clean, N commits ahead of main
✓ Lint — backend: OK | frontend: OK | services/...: OK
✓ Format check — backend: OK
✓ TypeScript — backend: OK
✓ Protected files — None modified
✓ Commits — Conventions followed, signed off, CM-XXX present
─────────────────────────────────────────────────
READY FOR PROr if there are issues:
PREFLIGHT RESULTS
─────────────────────────────────────────────────
✓ Working tree — Clean, N commits ahead of main
✗ Lint — backend: 3 errors (see above)
✓ Format check — backend: OK
✗ TypeScript — backend: 1 error (see above)
✓ Protected files — None modified
✗ Commits — Missing Signed-off-by on 2 commits (run /dco)
─────────────────────────────────────────────────
ISSUES FOUND — Fix before submittingSuggest creating the PR:
"All preflight checks passed! Ready to create a PR. Would you like me to create it with
gh pr create?"
7038855
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.