cellm/skills/dse-discover/SKILL.md
Scan a project to extract design system signals and bootstrap its CELLM DSE. Detects framework, colors, typography, and components. Accepts project directories, Figma HTML exports, W3C DTCG .tokens.json, Figma MCP output, and palette URLs. Use when: 'discover design system', 'bootstrap DSE', 'scan project for tokens'.
npx skillsauth add murillodutt/cellm cellm/skills/dse-discoverInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Universal design token extractor. Auto-detect input type and bootstrap DSE.
| Input | Source | Example |
|-------|--------|---------|
| .html file path | html | /path/to/figma-export.html |
| .tokens / .tokens.json file | dtcg | /path/to/tokens.json |
| figma.com URL | figma | figma.com/design/abc/... |
| coolors.co / colorhunt.co URL | palette | coolors.co/264653-2a9d8f-e9c46a |
| Directory path | directory | /path/to/my-app |
directory.dse_discover({ source, ... }) with appropriate params → show summary table.dse_get or Read ~/.cellm/dse/dse-{project}.json. If it exists AND has decisions[], warn the user:
POST /api/design-system/presets) or "Merge" (deep-merge via POST /api/design-system/update with scan results as patch)presets (overwrite) or update (merge).dse_import_palette({ input, project }). Named colors only → report as hints.dse_reindex({ project }).directory (original):
dse_discover({ source: "directory", projectRoot: "/path/to/project", project: "my-app" })
html (Figma HTML export):
dse_discover({ source: "html", filePath: "/path/to/figma-export.html", project: "my-app" })
Returns: semanticColors, shades, radius, fonts, aliases, hardcodedHex hints.
dtcg (W3C DTCG .tokens.json — Tokens Studio, Style Dictionary v4):
dse_discover({ source: "dtcg", filePath: "/path/to/tokens.json", project: "my-app" })
Returns: colors, semanticColors, dimensions, fontFamilies, aliases, dtcgTokenCount.
figma (Figma MCP output — orchestrated by this skill):
1. get_variable_defs({ fileKey, nodeId }) → variableResult
2. get_design_context({ fileKey, nodeId }) → designResult
3. dse_discover({ source: "figma", figmaResult: { variables: variableResult.variables }, project: "my-app" })
palette (Coolors, Colorhunt, raw hex):
dse_discover({ source: "palette", input: "coolors.co/264653-2a9d8f-e9c46a", project: "my-app" })
When user provides a figma.com URL:
fileKey and nodeId from URLget_variable_defs({ fileKey, nodeId }) for design tokensget_design_context({ fileKey, nodeId }) for component contextdse_discover({ source: "figma", figmaResult: merged })data-ai
Prose override — temporarily disable quantization and respond in readable prose. Use when relational density matters, for safety-critical explanations, onboarding handoffs, or when token economy is not the priority.
development
Govern explicit weekly Super PRs or maintainer-requested PR merges. Evaluates a 10-criterion readiness checklist and performs governed merge only when a user-requested PR is READY. Never creates or keeps permanent PRs. Use when: 'pr-check', 'pr-merge', 'merge this PR safely', 'is PR ready', 'guard merge', or /sk-git delegates pr-merge.
data-ai
Operational surface for the compress-llm Layer-1 token I/O compressor. Enable, disable, switch mode, and inspect status without editing config files. Use when tuning compression pressure for the current session or project.
tools
Generate structured upstream feedback for the CELLM engineering team. Produces evidence-first Markdown at docs/evidence/<date>-cellm-feedback-*.md for bugs, anti-patterns, deprecation gaps, and harness surprises, with optional atom registration via knowledge_ops. Use when: 'feedback for CELLM', 'send to CELLM team', 'register this as atom', 'document this anti-pattern', 'report this bug upstream'. Trigger proactively on MCP schema/runtime mismatches, mechanical edit loops (>=3 sequential edits), short deprecation windows (<6 weeks), or reusable harness surprises. Do NOT trigger for routine feature work or project-local bugs.