Skills for agents
Snapds can export your component contract as skill docs so coding agents use your design system correctly — without re-reading source or burning context tokens.
Dictionary + on-demand detail
A tiny, always-loaded index lists your components and links to per-component detail that is loaded only when needed. Context windows stay small while the agent still has the full contract a click away.
Supported agents
Select any combination via snapds.skills.formats. Each writes to the location
and file format that agent expects, and each keeps a main dictionary/router
file that snapds sorts into the first card position (badged router) in the
Settings UI.
Agent (format) | Location | Structure |
|---|---|---|
claude — Claude Code | .claude/skills/ | Router SKILL.md + one skill folder per component |
augment — Augment | .augment/skills/ | Router SKILL.md + one skill folder per component |
cursor — Cursor | .cursor/rules/ | Always-on snapds-index.mdc + one .mdc per component (loaded on demand) |
windsurf — Windsurf | .windsurf/rules/ | Always-on snapds-index.md + one .md per component (loaded on demand) |
copilot — GitHub Copilot | .github/instructions/ | Single consolidated snapds.instructions.md catalog |
cline — Cline | .clinerules/ | Single consolidated snapds.md catalog |
generic — AGENTS.md | repo root | AGENTS.md dictionary + flat snapds-skills/*.md (also serves Codex, Gemini CLI, Jules) |
Context-efficient by design
The structure adapts to how each agent loads context:
- Claude, Augment load a component’s skill only when it’s used (folder-based progressive disclosure).
- Cursor, Windsurf keep a tiny always-on router and load each component rule
on demand via its
description/model_decisiontrigger. - Copilot, Cline have no lazy loading, so snapds writes a single catalog file that inlines every component instead of many separate always-loaded files.
Every layout carries each component’s full contract — description, import, usage, and a complete Props table — including the consolidated catalogs.
Compact consolidated catalogs
Because Copilot and Cline load their single catalog on every request, a large
design system can make that file heavy. When one of them is selected, the AI tab
shows a Compact catalog toggle (snapds.skills.compactConsolidated): enable it
to drop the prop tables from those catalogs — keeping import + usage only — so the
always-loaded file stays small. It has no effect on the other agents, whose
per-component detail is loaded on demand and always keeps the full props table.
Destinations
Set snapds.skills.destination. The chosen root is shared by every selected
agent — each still writes to its own subpath (.claude/skills, .cursor/rules,
…) underneath it.
workspace— the repo root. Committable and team-shared; the right choice for most repos.subfolder— a path relative to the repo root viasubPath(e.g.apps/web), for monorepos where an agent runs from a specific app/package.custom— any absolute folder viacustomPath— e.g.~to write personal agent skills (~/.claude/skills) shared across all your projects, or an ignored scratch folder to keep generated docs out of git.
Copilot, Windsurf, and Cline only read their config from the repository
root. With subfolder or custom, generate those from workspace instead —
the Settings panel shows a reminder when a root-only agent is paired with a
non-root destination. Claude, Augment, Cursor, and AGENTS.md support nested
discovery, so they work from a subfolder.
Generating
- Snapds: Generate Skills — interactive; lets you pick one or more agents and a destination, then writes the full set for every selected component.
- Snapds: Regenerate All Skills — non-interactive; reuses your saved
snapds.skillsconfig and rewrites the index and all detail files.
Per-component guidance
Add free-text guidance under snapds.skills.instructions, keyed by component id
(pkg#Name). It’s appended verbatim as an Additional guidance section:
{
"snapds.skills": {
"instructions": {
"@acme/ui#Button": "Prefer `variant=\"primary\"` for the main page action."
}
}
}Incremental auto-generation
Enable Auto-generate (autoGenerate: true, the default) and Snapds
regenerates the index and only the new detail files as your selection
changes — existing files are left untouched, never the whole tree.