From keelson
Establish or refine a repo's quality gates **independently of the full adopt-keelson interview** — both the CI quality-gate policy (which checks block merge) and the verification gates (review, source-change, source-sync, parity). Runs in ≈2–4 rounds, is re-runnable to add/tune/drop a gate on a repo that already adopted keelson, and is the canonical gate spec adopt-keelson defers to. Trigger on "set up the quality gates", "add a gate", "tune the gates", "refine the verification gates".
How this skill is triggered — by the user, by Claude, or both
Slash command
/keelson:tune-gatesThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Two gate families ride keelson's loop; this skill owns both, end to end, **without the
Two gate families ride keelson's loop; this skill owns both, end to end, without the 8–20 round adopt-keelson interview — so a repo can set its gates up first, or come back later to add one, tighten the checks, or drop a gate that no longer fits.
{{quality_gates}}, plus the policy (CI owns them: don't pre-run locally before
opening; local-verify only during a red-CI debug loop). The checks-string lives in
AGENTS.md §3; the policy lives in open-the-change.{{source_of_truth}} itself;
realize it, confirm intent, catch collateral drift to other elements.{{source_of_truth}} ↔ one implementation drift.Templates live at templates/lifecycle/<gate>.md; the gate substrate is
templates/AGENTS.client.md §8 (+ the §3 checks line). Fill, don't invent.
AGENTS.md if it has one. Pull vocabulary ({{change}}, {{issue}}),
§3 checks, §7 {{milestone}}, §8 gates already adopted, {{adr_dir}}. This is
refine mode — show the user what's gated now and what's missing; change only the delta.AGENTS.md → establish mode. The gates need a substrate to defer to:
offer adopt-keelson for the full model, or — if they only want gates — capture the minimum
(§3 checks + §8 rows + the source/target vocabulary the gates read) so the written gate
skills aren't dangling.{{source_of_truth}},
{{targets}}, {{milestone}}; skip orientation and run G1–G2 as that interview's gate
pillar, returning the adopted set for its unified write.Before proposing, learn — don't prescribe:
{{source_of_truth}}. Present → the source-change + source-sync pair is in play.{{targets}} (apps, platforms,
services) → parity is in play; one target → it isn't.{{quality_gates}}.{{quality_gates}}.
Confirm the policy: CI owns the gates (don't pre-run them locally before opening); a
local-verify carve-out is expected while debugging a red CI run whose mechanism is unclear.{{source_of_truth}} exists (adopt as a
pair — preview the source change and audit source↔implementation drift; one without
the other half-covers the source loop — flag it if they pick only one).{{targets}}; confirm the cadence ({{milestone}} close, or on-demand
after a feature lands on both).
Resolve {{source_of_truth}}, {{target}}/{{targets}} for every adopted gate.AGENTS.md §3 — set Required green checks before merge: {{quality_gates}}.AGENTS.md §8 — keep one row per adopted gate (render from
templates/AGENTS.client.md §8). Refine mode: edit §8 in place — add/remove rows
only; never rewrite or reorder the other sections.templates/lifecycle/<gate>.md
(placeholders + frontmatter) to each client skill dir as <dir>/<gate>/SKILL.md.
Dropping a gate in refine mode → delete its §8 row and its skill file.open-the-change is adopted, ensure its CI owns the gates section
carries the don't-pre-run + local-verify-on-red rule; if the repo skipped that skill, fold
the rule into §3.{{ — zero leftover placeholders.§8 row and a written skill; every skipped/dropped gate
has neither. No gate references a null binding (see Gotchas).AGENTS.md §3/§8.{{source_of_truth}} is none; no parity-gate for a single {{target}}. A gate that
defers to a blank is worse than no gate.AGENTS.md, patch §3/§8 and the gate
skill files only. Clobbering a hand-tuned non-gate section is the failure that makes people
distrust re-running this.AGENTS.md (→ source conventions / Tracker notes). About to write gh/a build command into
a gate? Push it there.AGENTS.md): gaps, gotchas, pointers only.npx claudepluginhub innovestrum/keelson --plugin keelsonCreates bite-sized, testable implementation plans from specs or requirements, with file structure and task decomposition. Activates before coding multi-step tasks.