skills/design-md-enforcer/SKILL.md
Enforce and manage DESIGN.md specifications, extract design systems from URLs, and combine design reasoning with token roles to prevent drift.
npx skillsauth add fatih-developer/fth-skills design-md-enforcerInstall 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.
The design-md-enforcer skill ensures that both human developers and AI agents follow a unified design system specification called DESIGN.md.
It serves two primary functions:
Tokens are Roles, Not Just Variables: A token is not just a hex code; it represents a specific purpose or role in the design system.
primary is not just #0A1F1C; it is the "main ink, text color" role.body_main is not just 18px; it is the "default body copy" role.Components Reference Roles: UI components must never hardcode static hex values. They must reference the token roles. If the role's value changes, all components referencing it are automatically updated.
Reasoning is Required (Thematic Storytelling): Every design decision must be accompanied by its reasoning and a thematic style reference. For example, don't just list colors; describe the overall aesthetic (e.g., "> Midnight Command Center. Imagine a high-tech dashboard glowing softly in a dark room...").
Use this skill when the user asks to:
DESIGN.md specification from a reference site or for a new project.DESIGN.md unified spec.This skill contains pre-built templates and examples to help you generate accurate outputs. Always use them as your primary reference:
skills/design-md-enforcer/templates/ for the exact structure of DESIGN.md, preview.html, and token files.skills/design-md-enforcer/examples/ if you are unsure how a high-quality output should look.When asked to extract a design from a URL, follow these steps:
If you do not have native browser capabilities (like a visual subagent), you MUST use alternative methods:
:root), and class names.Do not output files directly to the root workspace. Always generate the extracted design system inside a dedicated standard folder:
/design-md/<site-name>/
You MUST produce the following minimum files in this folder:
/design-md/<site-name>/DESIGN.md: The core specification using detailed markdown tables and reasoning./design-md/<site-name>/preview.html: A standalone HTML file demonstrating the extracted components (Hero section, Button variants, Cards, Form controls, Color swatches, etc.) so the user can visually verify the system.When generating or updating a DESIGN.md file, you MUST use detailed Markdown tables and incorporate thematic reasoning.
Theme / Style Reference Example:
# AuthKit — Style Reference
> Midnight Command Center. Imagine a high-tech dashboard glowing softly in a dark room, with frosted glass elements reflecting minimal light.
**Theme:** dark
Tokens Table Example:
Do not use simple lists for tokens in the body. Use a strict Markdown table format with Name | Value | Role.
## Colors
| Name | Value | Role |
|---|---|---|
| Midnight Abyss | `#05060f` | Page backgrounds, elevated card backgrounds, deep shadows. |
| Ghost White | `#ffffff` | Primary text for headings and high-contrast elements, icon fills. |
| Storm Gray | `#2f343` | Subtle shadows, secondary background for interactive states. |
| Comet | `#d8ecf8` | Primary body text, prominent links, and headings; high readability. |
| Celestial Light | `#b6d9fc` | Focus states for interactive elements, subtle highlights. |
Components Block: Use YAML (or standard markdown code blocks) to define components inheriting these tokens.
components:
button_primary:
background: "{tokens.colors.Comet}"
text: "{tokens.colors.Midnight Abyss}"
When you or another agent create or modify design tokens and components, you MUST validate the decisions:
DESIGN.md tables.If a validation fails, you must catch the error, correct the color or token reference, and explain the correction.
When defining components, promote the use of inheritance (extends). Instead of redefining every property for a hover state, extend the base component and only override the properties that change.
DESIGN.md along with its reasoning and role before using it in a component.DESIGN.md before making any UI changes to understand the established roles and reasoning.DESIGN.md specification.tools
Create, optimize, critique, and programmatically structure prompts for AI systems. Use this skill whenever the user is designing or improving a static prompt, system prompt, coding prompt, agent prompt, workflow prompt, MCP-oriented prompt package, or an algorithmic prompt optimization pipeline. Also use it when the user asks to turn vague AI behavior into a precise instruction set, tool policy, agent spec, evaluation metric, or prompt architecture.
testing
Assumption-first architecture review skill to stress-test project plans and expose hidden risks.
testing
Forces the agent to act with a Claude-like product mindset, prioritizing user journey, UX states, and visual quality before coding.
development
Compiles and extracts session knowledge into a living, interconnected LLM-Wiki. Instead of writing isolated logs, it identifies key entities, updates cross-referenced topic files in docs/knowledgelib/, and maintains an index and chronological log. Use this to ensure persistent, compounding project knowledge.