Skill governance

Curate the Inspire Courts skill library — decide when a workflow earns a skill, refine/dedupe, retire stale skills, and audit skills against current architecture rules.

Sby Skills Guide Bot
DocumentationAdvanced
007/23/2026
Claude Code
#skill-governance#curation#meta-skill#workflow-audit#skill-library

Recommended for


name: skill-governance description: Curate the Inspire Courts skill library — decide when a workflow earns a skill, refine/dedupe, retire stale skills, and audit skills against current architecture rules. Keeps the toolkit lean and reviewed. Use periodically, after big architecture changes, or when adding/removing a skill. argument-hint: "[audit | new <name> | dedupe | retire <name>]" allowed-tools: Read Edit Write Grep Glob Bash(/opt/homebrew/bin/git *)

Skill governance (the curator)

Project skills live in .claude/skills/<name>/SKILL.md and are the canonical, git-reviewed copies (CLAUDE.md "Skills" section: project copy wins over user-level). This meta-skill keeps the library lean + correct + non-redundant so every other skill stays trustworthy. Skills encode the architecture rules + standing decisions into tooling — if they drift from the code, they do harm.

When a workflow earns a skill (the bar)

Create a skill only when ALL are true:

  1. It repeats — you've done (or will do) this 3+ times (e.g. porting a web section, fixing a facade, scaffolding a screen).
  2. It must follow rules exactly — there are non-obvious constraints that are easy to get wrong (payment gate, no-fabricated-data, nav registration).
  3. It's not already covered — no existing skill does it (check first; extend instead of forking).
  4. It's concrete — maps to real code paths + files, not generic advice.

If it's a one-off, or pure judgment with no repeatable steps, it does NOT earn a skill — keep it in DIRECTION/memory instead.

SKILL.md conventions (enforce on every skill)

  • Frontmatter: name (matches dir), description (when-to-use, written so the model can route to it), argument-hint, allowed-tools (least-privilege — scope Bash(...) to the commands actually needed; no blanket Bash). Add disable-model-invocation: true for deploy-class skills that must be explicit.
  • Body: grounded in real files (cite exact paths + anchor examples), a non-negotiables/rules section, and a done = all true checklist. Living recipe books (like motion) append entries over time.
  • Lean: prose earns its place. Cut restating CLAUDE.md verbatim — link the rule, show the code.

Refine / dedupe

  • Overlap check: grep skill bodies for the same files/workflows. If two skills cover the same ground, merge into one and delete the weaker, or carve a clear boundary in each description (e.g. native-screen-scaffold = stamp one screen; native-screen-generator = port a web section using it).
  • Cross-link related skills by name (scaffold → kit → facade-fix) so the chain is discoverable.
  • Tighten allowed-tools to the minimum; widen only with cause.

Retire stale skills

Retire (delete the dir, note it in the commit) when:

  • The workflow no longer exists (the feature/area was removed).
  • It's superseded by a better skill (dedupe outcome).
  • Its instructions contradict current architecture and can't be salvaged.

Never leave a skill that points at moved/renamed files — fix or retire it.

Audit skills vs current rules (run periodically)

For each SKILL.md:

  1. File-path drift: every cited path still exists. grep -oE '[a-zA-Z0-9_./-]+\.(swift|ts|tsx|mjs)' .claude/skills/*/SKILL.md then confirm each resolves. (Heads-up: DesignKit.swift lives at ios-native/Sources/Features/AdminDesign/, while the base layer is ios-native/Sources/DesignSystem/DesignSystem.swift — don't conflate them.)
  2. Rule drift: the skill's rules still match CLAUDE.md (admin-hub freeze, kit-only UI, design tokens, no dark:, SWR policy, API guard + manifest, push cooldown) and AGENTS.md (read node_modules/next/dist/docs/ before Next.js code).
  3. Convention drift: frontmatter complete, allowed-tools least-privilege, checklist present.
  4. Coverage gaps: is there a repeated workflow with no skill? Flag it for creation (the standing rule: build skills anywhere a workflow repeats).

Produce a short report: OK / fix-needed / retire, with the one-line reason each.

Library map (keep current)

| Skill | One-line role | |---|---| | native-screen-scaffold | stamp one native screen correctly first time | | native-kit | use/extend the native component kit (reuse-first) | | native-screen-generator | port a web admin section → native (parity workhorse) | | skill-governance | this meta-skill — curate the library | | facade-fix | wire a "renders but doesn't work" screen end-to-end | | data-surfacing | surface desktop-only/hidden data natively (real data) | | ui-wiring | clickable rows→profile, actionable alerts, nav+search (no orphans) | | test-factory | tests-as-you-build + reusable fixtures/factories | | ai-feature | scaffold an AI feature on the shared prompt/voice lib + safety rails | | payment-flow | build a money flow correctly (Square gate, audit, refund→credit) | | observability-auto-fix | Sentry error → diagnose → fix → ship through the gates | | audit/cycle/improve/fix-sweep/deploy/motion | baseline website skills |

Update this table whenever a skill is added/retired.

Checklist

  • [ ] New skill cleared the 4-point bar (repeats, rule-bound, non-redundant, concrete).
  • [ ] Frontmatter complete + allowed-tools least-privilege.
  • [ ] Body grounded in real paths with a checklist.
  • [ ] No overlap left unmerged; related skills cross-linked.
  • [ ] Stale skills retired (not left pointing at dead paths).
  • [ ] Library map table updated; committed with a clear message.
Related skills