amirbena / amirbena/code-review-skill
Add a contributor preflight script (full local validation)
- Dominant language
- Python
- Stars
- 7
- Forks
- 2
- Avg merge
- 27m
- Merged PRs (30d)
- 188
Description
## Problem
Local validation is a multi-command sequence documented in `README.md` (two `validate-skill-metadata.py` invocations, `validate-markdown-links.py`, the unittest suite, `package-skills.sh all`). A new contributor has to copy these by hand and can easily run a subset and miss a failure CI would catch.
## Goal
A single deterministic preflight script that runs the full local validation sequence and exits non-zero on first failure.
## Scope
- Add `scripts/preflight.sh` and a parity `scripts/preflight.ps1`.
- Run: both Skills' metadata validation, markdown-link validation, the unittest suite, and packaging; stop at the first failure with a clear message.
- Orchestrate only — no re-implemented checks, no duplicated logic.
- Reference the script from `README.md` and `CONTRIBUTING.md` wherever the manual sequence is listed.
## Non-goals
- Changing what any existing validation does.
- Adding new checks or gating rules.
- Any GitHub Actions or release-workflow change.
## Acceptance criteria
- `scripts/preflight.sh` runs the full sequence and fails fast with an actionable message.
- `scripts/preflight.ps1` is behaviorally equivalent.
- The script only orchestrates existing checks.
- `README.md` and `CONTRIBUTING.md` point contributors at it.
- Clean checkout of `main` passes; a seeded failure exits non-zero.
## Dependencies
None.
## Validation
- Run on a clean tree (passes) and with a deliberately broken test (fails fast).
- Confirm shell and PowerShell variants run the same steps in the same order.
Contributor guide
Research direction
Start by reviewing the validation sequence in README.md and the corresponding guidance in CONTRIBUTING.md, including the two validate-skill-metadata.py invocations, validate-markdown-links.py, the unittest suite, and package-skills.sh all. Add scripts/preflight.sh and the behaviorally equivalent scripts/preflight.ps1 as orchestration only, then verify both run the same steps in order on a clean tree and stop non-zero at a seeded failure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- markdown, powershell, python, shell
- Domain
- developer-experience, documentation, tooling
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 74/100