Thanks for your interest in improving agent-skill-creator. This skill generates cross-platform agent skills, so changes need to keep the generator correct and its tests green.
- Fork the repository and create a feature branch.
- Make your changes.
- Add or update tests under
scripts/tests/. - Run the checks below — they must pass.
- Open a pull request describing what changed and why.
The tooling is stdlib-only Python; tests run with pytest.
# Run the full test suite (must be green)
uv run pytest scripts/tests/
# Validate a skill's SKILL.md against the spec
python3 scripts/validate.py <skill-dir>
# Verify a skill's script pipeline (compiles, deps declared)
python3 scripts/check_pipeline.py <skill-dir>
# Security scan
python3 scripts/security_scan.py <skill-dir>- Commits: conventional commits (
feat:,fix:,refactor:,docs:,test:,chore:). - Style: PEP 8, type annotations on function signatures,
ruffclean. - Cross-platform parity: the install scripts ship as bash/PowerShell pairs.
When you touch one (
install-skill.sh,bootstrap.sh,install-template.sh,install.sh), update its.ps1/.batcounterpart soscripts/tests/test_install_parity.pystays green. - Single source of truth: SKILL.md parsing lives in
scripts/skill_document.pyand the install-target list inscripts/platforms.py— extend those rather than re-implementing parsing or hardcoding platform paths.
The most common contribution. A platform addition touches a fixed set of files — change them together or CI's parity tests will catch the drift:
scripts/platforms.py— add the platform tuple (name, user-level install path, project-level install path, detection directory). This is the single source of truth the registry and installers read.install.shandinstall.ps1— add the detection/install branch to both (bash and PowerShell must stay in lockstep).scripts/install-template.shandscripts/install-template.ps1— the installer template bundled into generated skills; mirror the same branch there.- Docs — add the platform to the tier table in
SKILL.mdandreferences/cross-platform-guide.md. If the platform needs a format adapter (not native SKILL.md), document the transformation in the Tier 2 section. - Platform count — the number of supported platforms is stated in
README.md,SKILL.md, andreferences/cross-platform-guide.md. Bump it in all three in the same PR (and remind a maintainer to update the GitHub repo description).
Then verify:
uv run pytest scripts/tests/test_platforms.py scripts/tests/test_install_parity.pytest_platforms.py cross-checks platforms.py against the shell installers,
so a partial addition fails loudly.
Generated skills bundle run_evals.py (from scripts/run_evals_template.py),
which executes spec-defined command checks via the shell, compares rollout
output against promoted baselines (regression gate), holds out "split": "test"
cases from optimization, and — with --judge — grades llm-judge criteria via
a judge pinned in the spec (with a known-bad canary that must fail). Skills also
bundle evolve.py (from scripts/evolve_template.py) and plugin manifests
(from scripts/claude-plugin-template/). Eval specs are trusted input — only
run evals from specs you or your team wrote.
By contributing, you agree that your contributions are licensed under the MIT License.