amirbena / amirbena/code-review-skill

Add a contributor preflight script (full local validation)

Open
#183 0 comments 0 reactions 0 assignees View on GitHub
area:packaging-portability good first issue help wanted priority:P3 type:infrastructure
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.