Skip to content

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.

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.

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 layout

The 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.