Contributions should improve the playbook's usefulness without turning it into a catalog of personal preferences.
Participation is governed by CODE_OF_CONDUCT.md and GOVERNANCE.md. Security vulnerabilities follow SECURITY.md and must not be disclosed in public issues.
- Prefer a concrete failure mode or maintenance benefit over a style opinion.
- Keep rules conditional when context changes their value.
- Delegate mechanical policy to tooling when practical.
- Avoid universal numeric thresholds unless an external standard requires them.
- Keep
SKILL.mdcompact; put optional depth in references or workflows. - Add or update an evaluation case when changing behavior.
- Keep distribution and release invariants reproducible.
Use the structured GitHub issue forms:
- Bug report for reproducible incorrect behavior or regressions,
- Host compatibility report for installation, packaging, invocation, or host-specific failures,
- Engineering-quality proposal for concrete rules, workflows, references, evals, or repository-quality changes.
Open-ended questions and early design exploration belong in GitHub Discussions once Discussions is enabled.
Requires Python 3.10 or newer.
make checkBefore opening a change:
- run repository validation,
- run unit tests,
- verify deterministic packaging,
- inspect the complete diff,
- update documentation or evaluation fixtures when behavior changes,
- identify any GitHub ruleset or repository-setting change required by the patch.
Changes target main through pull requests. Required CI checks and conversation resolution are part of the merge contract; see GOVERNANCE.md.
Build the clean distribution archive with:
make packageA new rule should answer:
- What concrete risk does it address?
- When should it apply?
- When should it not apply?
- Can a deterministic tool enforce it instead?
- Is an existing reference a better place for it?
Workflows should be narrow, composable, and outcome-oriented. Avoid duplicating rules already covered by references.
The packaged skill intentionally excludes repository-maintenance files such as tests, CI configuration, README content, and release tooling.
When a runtime file is added or moved:
- update
scripts/package_skill.py, - add or update package tests,
- run
make package-check, - inspect the archive manifest.
Follow docs/release.md. Do not move published tags. A release branch must keep VERSION, CHANGELOG.md, package naming, and the eventual v<VERSION> tag consistent.
Prefer primary sources, official language documentation, recognized standards, and original technical writing. Paraphrase rather than copying long passages. Record important foundations in docs/foundations.md.