Police large volumes of AI-generated frontend work for design-system adherence, plan features against the system before they're built, and audit the design system itself so it can be policed. The idea: generation is cheap, the bottleneck is judgment.
FAQ
ds-skills is a Claude Code plugin with 3 hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. It includes ds-doctor, ds-drift, ds-plan. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
> /plugin marketplace add igloude/ds-skills> /plugin install ds-skills@igloude
Police large volumes of AI-generated frontend work for design-system adherence, plan features against the system before they're built, and audit the design system itself so it can be policed.
The idea: generation is cheap, the bottleneck is judgment. Have your most capable model use the skills, they will write remediation specs and plan fixes. Then route the fixes back to the more cost-effective models. The skills should never change a line of code.
/ds-doctor โ audits the DS itself, writes ds/MANIFEST.md
โโ everything below reads it
/ds-plan โ analyzes feature plan, identifies gaps in DS
โโ Covered / Composable โ exact props, to the generators
โโ Extension / Net-new โ DS work items inform the DS backlog
generators โ N branches of AI work
/ds-drift โ analyzes current state of codebase for DS adherence (capable model)
โโ reviews: verdicts + specs โ back to the generators
โโ plans: self-contained specs โ cheap model, or --issues
ds-doctor audits the design system: component contracts, tokens, guidelines, deprecation hygiene, and generates the manifest (ds/MANIFEST.md + ds/tokens.json).
ds-plan takes a ticket, spec, or design and, using the DS manifest, it classifies every UI element in the feature into one of five buckets:
ds-drift reviews already completed code against the design system: hand-rolled duplicates of DS components, token violations (including hallucinated tokens), misused or deprecated component APIs, a11y parity gaps, and extraction candidates. Verdicts come from a stated severity policy.
npx skills add igloude/ds-skills
Or as a Claude Code plugin:
/plugin marketplace add igloude/ds-skills
/plugin install ds-skills@igloude
Coverage maps, reviews, plans, and the manifest are plain markdown โ any agent or human can pick them up. The only runtime dependency is Node 18+ for the token classifier script; everything else is markdown.
/ds-doctor full DS audit โ readiness summary โ doc-fix plans
/ds-doctor manifest regenerate ds/MANIFEST.md + ds/tokens.json (run per release)
/ds-doctor component <name> one component's contract, in depth
/ds-doctor tokens token-layer category only
/ds-doctor quick|deep effort dial
/ds-doctor ... --issues publish selected doc-fix plans as GitHub issues
/ds-plan <ticket|spec|design> classify every element โ coverage map + build sequence
/ds-plan element <description> one element, fast โ "do we have something for this?"
/ds-plan surface <name> restrict a large feature to one screen or flow
/ds-plan quick|deep effort dial (deep walks the full state matrix)
/ds-plan backlog aggregate DS work items across every map, ranked by what they block
/ds-plan recheck <map> re-validate a map after a DS release
/ds-plan ... --issues file the extensions and gaps as ds-request issues
/ds-plan ... --manifest <path> override manifest discovery
/ds-drift gate the current branch โ verdict + review
/ds-drift batch <refs...> review N agent branches + cross-branch divergence
/ds-drift sweep full-repo audit โ findings table โ plans
/ds-drift tokens|adoption|... focus any mode on one category
/ds-drift quick|deep sweep effort dial
/ds-drift coverage metrics only โ the drift dashboard
/ds-drift upgrade <version> impact audit for a DS version bump
/ds-drift plan <description> skip the audit, spec one remediation
/ds-drift review-plan <file> critique and tighten an existing plan
/ds-drift reconcile verify, refresh, retire; audit waivers; promote lint rules
/ds-drift ... --issues also publish as GitHub issues
/ds-drift ... --manifest <path> override manifest discovery
A typical adoption, start to finish:
/ds-doctor. Fix the blockers it finds (usually: unstated palette policy, unresolvable tokens, disambiguation, etc.), then /ds-doctor manifest. Publish ds/ with the package so consuming repos get it via node_modules.CLAUDE.md./ds-plan <ticket-or-design> in the app repo. Ship any DS work it puts in Wave 0 (already written as work items), start the Wave 1 app work in parallel, and hand the map to the agent doing the building./ds-drift on a feature branch. Read the verdict; feed the remediation spec back to the agent that generated the work./ds-drift batch the branches โ the divergence pass catches the same component being invented three times, which no single-branch review can see./ds-drift sweep periodically for the baseline, coverage for the trendline, reconcile to keep the record honest. When a violation recurs across three reviews, the skill proposes a lint rule that retires it.examples/ holds a generated manifest (MANIFEST.example.md), a coverage map (004-map-team-invitations.md), and a gate review (003-review-feat-billing-settings.md) โ the artifacts you'll actually interact with, one per skill, all against the same fictional @acme/ui.
## Verdict: NEEDS CHANGES
- **Counts** (introduced): blocking 2 ยท should-fix 3 ยท advisory 1 ยท waived 0
- **Pre-existing** (in touched files, not counted in verdict): 2 โ see backlog
### [TOK-01] Replace hallucinated token `--acme-color-primary-dark` `token.hallucinated`
**Evidence** โ `apps/billing/src/SettingsPanel.tsx:47` โฆ
**Why blocking**: the token does not exist in `ds/tokens.json` โ the border
silently renders `currentColor` today.
**Remediation**:
- Change: `var(--acme-color-primary-dark)` โ `var(--color-border-interactive)`
- Verify: `grep -rn "acme-color-primary-dark" apps/billing/src/` โ no matches
- STOP if: the intended color was genuinely the darker brand shade โ no such
semantic token exists; that is a `ds-request` issue, not an inline literal.
plans/ and (ds-doctor only) the ds/ manifest pair.gh issue create strictly behind --issues.MIT ยฉ igloude
.claude-plugin/
marketplace.json
plugin.json
.gitignore
examples/
003-review-feat-billing-settings.md
004-map-team-invitations.md
MANIFEST.example.md
LICENSE.md
package.json
plans/
001-skill-audit-fixes.md
README.md
skills/
ds-doctor/
references/
manifest-spec.md
plan-template.md
readiness-playbook.md
SKILL.md
ds-drift/
references/
audit-playbook.md
closing-the-loop.md
plan-template.md
review-template.md
scripts/
nearest_token.mjs
SKILL.md
ds-plan/
references/
classification-playbook.md
coverage-map-template.md
work-item-template.md
SKILL.mdยฉ 2026 Flowy ยท Free and open source
Built for Claude Code ยท Not affiliated with Anthropic