Skills
Agent skills shipped by this repo, under skills/<name>/SKILL.md. They are
the authoring-time half of the discipline: the checks enforce the
conventions; the skills teach coding agents to write within them in the
first place.
Every entry below is generated from skills/*/SKILL.md frontmatter — a new
skill appears here the moment its SKILL.md is committed and
jk-standards emit skills runs. Nothing on this page is hand-maintained.
Catalog
Section titled “Catalog”architecture-definition
Author and maintain an ARCHITECTURE.md that conforms to the jk-standards architecture standard — the four required sections (components, boundaries, data flow, invariants+enforcement) and the bidirectional rule that no invariant may be listed without a named mechanism and no mechanism should run without a stated invariant. Use when creating or editing an architecture document, adding an architectural invariant, or wiring a boundary into an enforceable check.
branch-discipline
Keep milestone work on one branch at a time and land it cleanly — one branch per milestone, never stack the next milestone on an unmerged one, and re-run the full pre-commit suite after every rebase. Use when starting, rebasing, or merging a milestone branch, or when tempted to branch the next milestone off an open PR.
ci-hygiene
Structure CI for correctness and cost — layered cost-ordered gates, SHA-pinned actions on a weekly dependabot cadence, a single aggregation gate for branch protection, and artifact-retention conventions. Use when setting up, auditing, or reviewing a project's CI workflow structure and dependency-update hygiene (the generic layer, not the sanitizer/native layer — see sanitizer-ci-setup).
determinism-testing
Make DSP output reproducible so golden tests can catch regressions — identical (patch, seed, transport) must render byte-identical output, oscillator/LFO phase must derive from absolute transport time rather than per-block accumulation, and a checked-in golden/snapshot suite gates every DSP change in CI. Use when writing or auditing determinism/golden tests for audio DSP, synths, or any render pipeline whose output must be reproducible run-to-run.
doc-anti-drift
Write and maintain documentation under the jk-standards anti-drift discipline — doc lifecycle classes, drift maps, dated status claims, symbol-based references, test-cited behavioral claims. Use whenever creating or editing docs in a repo that has a jk-standards.yaml.
escape-hatch-discipline
Design and use lint/check suppressions correctly — every escape hatch in-band, greppable, and carrying a written reason. Use when suppressing any finding (linter, sanitizer, review scanner, doc check) or when adding a new check that needs an exemption mechanism.
realtime-audio-safety
Keep the audio callback thread real-time-safe — no heap allocation, locks, blocking syscalls, exceptions, or unbounded container growth — and gate it with a greppable check honoring an RT-SAFE-OK waiver. Use when writing or reviewing audio-callback / DSP render code, or wiring an RT-safety check into CI for a C/C++ audio project.
research-provenance
Discipline for documentation that summarises external research, scholarship, or practitioner knowledge — make provenance explicit, credit precisely, verify that every citation names a work that exists and says what you claim, and never let summarised prior work read as original research. Use whenever documentation states claims derived from published sources.
sanitizer-ci-setup
Wire ASan/UBSan/TSan and fuzzing into CI for C/C++ projects — nightly sanitizer matrices, issue-dedupe notification paths, sanitizer-aware stress tests, integration-surface instrumentation. Use when setting up or auditing the native-code sanitizer layer of a project's CI.
sdlc-retro
Use when asked to measure, reconstruct, or periodically report how a portfolio's AI-assisted development workflow evolved — which tools/models were in use when, what guardrails appeared, how productivity and quality trended — or when updating an existing retrospective snapshot ledger.
versioned-state-serialization
Serialize persistent state so old data still loads after the format changes — write a version tag first, branch on it when reading, and never reinterpret unversioned bytes. Use when designing or changing any serialized-state format that outlives its writer — plugin preset/patch state, save files, on-disk caches, or wire formats a future build must still read.
Consuming
Section titled “Consuming”Vendor skills into a project with a skills-lock.json entry pointing at
this repo, and install with the lock-file installer:
{ "version": 1, "skills": { "doc-anti-drift": { "source": "JimAKennedy/jk-standards", "sourceType": "github", "skillPath": "skills/doc-anti-drift/SKILL.md", "computedHash": "<sha256 of SKILL.md>" } }}jk-standards install-skills # → .agents/skills/jk-standards install-skills --dest .claude/skills # Claude Code layoutThe installer verifies each skill’s SHA-256 against the lock file, so a consuming repo pins skill content the same way it pins hook and workflow versions. Vendored skill directories are gitignored in consumers; project-authored skills stay tracked alongside them.