Phase 7 — Contributor skills + token generation (kuat-agent-rules / Run A)#8
Merged
Merged
Conversation
…s / Run A) Repo-local contributor skills for the DS team (committed to .claude/skills/, never packaged into a plugin / marketplace — being in the repo is the access control). Run A of the cross-repo Phase 7; Run B (kuat-mono) is handed off. Skills (.claude/skills/): - generate-tokens: colours.md is now GENERATED from colors.tokens.json (SoT) with a drift check, retiring the hand-maintained file (closes the #0066CC drift class) - author-reference, review-reference-change (gate + general review/audit), author-skill - prep-slides-master, curate-slide-layouts, add-brand-asset (studio slide asset pack) Tooling (skills/scripts/, CI-runnable via npm, not packaged): - generate-tokens.mjs (--check), check-reference.mjs (passive/link/structure/token), inspect-layouts.py; npm: tokens:generate, tokens:check, reference:check, verify:plugins - verify-plugins.mjs hardened: asserts no contributor skill leaks into any payload Also: .github/workflows/drift-check.yml (authored-but-unverified), AGENTS.md + tokens/README.md updates, Phase-7 evals (9/9 executed checks pass), kuat-mono handoff, LOG + report-phase-7.md. Plugin payloads rebuilt (no contributor-skill leak). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What & why
Phase 7 of the Kuat migration serves contributors (the DS team who extend the system), not consumers. These skills touch the source of truth, so they ship repo-local only: committed to
.claude/skills/(project scope, auto-discovered in-repo), never added to the marketplace/managed-settings distribution and never bundled into a plugin payload — being in the repo is the access control. Phase 7 gatesstable(with Phase H).This is Run A (kuat-agent-rules). The plan is cross-repo; per the single-repo guardrail, Run B (kuat-mono) —
add-kuat-component, the downstreamvariables.csshalf, and the registry-from-manifest + drift — is handed off inphase-7-kuat-mono-handoff.md, not run here.What changed
Contributor skills (
.claude/skills/):generate-tokens(centerpiece) —reference/design-language/colours.mdis now generated fromcolors.tokens.json(the SoT) with a drift check, retiring the hand-maintained file. This permanently closes the#0066CCdrift class. The tokens README admitted the generator was "deferred from 4S, kept in sync by hand" — now built.author-reference,review-reference-change(gates a change or does a general review/audit, with a defined output format + Critical/Major/Minor severity),author-skill.prep-slides-master,curate-slide-layouts,add-brand-asset— studio slide-deck asset-pack upkeep (renamed fromprep-master/curate-layoutsto signal slides-only).Tooling (
skills/scripts/, CI-runnable via npm, not packaged):generate-tokens.mjs(--check),check-reference.mjs(passive test / link integrity / structure / token drift),inspect-layouts.py.tokens:generate,tokens:check,reference:check,verify:plugins.verify-plugins.mjshardened with a distribution guard: asserts no.claude/skills/skill (derived at runtime) leaks into any plugin payload.Also:
.github/workflows/drift-check.yml(authored-but-unverified — no Actions runner here),AGENTS.md+tokens/README.mdupdates, Phase-7 evals, LOG +report-phase-7.md, rebuilt plugin payloads.Verification (9/9 executed checks pass — see RESULTS-phase-7.md)
tokens:generatereproducescolours.md(value tables byte-identical);tokens:checkexit 0; a hand-edited value → exit 1 at the exact line.check-reference.mjscatches planted passive markers, broken links, and token drift; default (changed-vs-base) scope passes clean.build:plugins+verify:plugins→ ALL CHECKS PASSED, "no contributor skill leaked into any payload (7 repo-local skills kept out)".prep-master.pyreproduces the slimmed master (51.5→18.9 MB, 65 layouts, fonts correct);inspect-layouts.pyenumerates all 65.Reviewer notes
colours.mdis now a build artifact (carries a DO-NOT-EDIT banner) — change colours incolors.tokens.jsonand runtokens:generate. Prose lives in the generator template.reference:check --allsurfaces ~61 pre-existing "Testing Checklist" procedure blocks in legacy reference files. The gate is change-scoped so it doesn't block on them; flagged for a future reference-cleanup phase.drift-check.ymlis authored-but-unverified (no CI runner in the dev env) — validate on this PR.prep-master.py(the script) keeps its name; only the wrapping skill was renamed toprep-slides-master.🤖 Generated with Claude Code