Authoring Portable SKILL.md Files for Design Systems
This skill teaches you to create framework-agnostic SKILL.md instruction files that encode your team's design tokens, component conventions, and aesthetic judgment so any AI coding agent produces on-brand UI without manual correction.
Start by listing your design tokens (colors, spacing scale, type ramp) as concrete values, not references to external files. Then add component-level rules that specify allowed compositions, forbidden patterns, and quality thresholds. Structure the file in plain markdown with hierarchical headings so any AI coding agent can parse it without tooling. Test portability by dropping the file into a second agent and checking whether output quality holds.
Outcome: You produce a self-contained SKILL.md file that, when dropped into any supported AI coding agent, causes the agent to generate UI that consistently matches your design system's tokens, component patterns, and aesthetic standards without additional prompting.
Prerequisites
- A working design system or at least documented design tokens (colors, spacing, typography scale)
- Familiarity with markdown syntax and file structure
- Basic understanding of how AI coding agents consume context (system prompts, project files, rules files)
- Experience reviewing AI-generated frontend code for visual quality issues
Overview
A SKILL.md file is the core artifact of the Taste Skill Frontend Design Framework. It is a plain-markdown document that encodes everything an AI coding agent needs to produce on-brand, design-system-compliant frontend code: your token values, your component rules, your aesthetic guardrails, and your anti-patterns. The file is portable by design. It carries no dependency on a specific agent, IDE, or framework. You write it once and install it in Cursor, Claude Code, Codex, Gemini CLI, v0, or any agent that reads markdown context. This portability is what makes it an ai frontend design framework rather than a vendor-specific plugin.
The specific problem this skill solves is the gap between having a design system and having an AI agent that respects it. Most teams already have tokens defined in Figma, a JSON file, or a Tailwind config. But when they prompt an agent to build a settings page, the agent reaches for arbitrary hex values, picks spacing by vibes, and generates components that look generically competent but aesthetically wrong. The SKILL.md file closes that gap by translating your design system into the instruction format AI agents actually consume: structured natural language with concrete values, explicit constraints, and ranked priorities.
When you finish authoring a SKILL.md file, you have a single artifact that is both human-readable documentation and machine-readable instruction. It should pass two tests. First, a new designer joining your team should be able to read it and understand your system's rules in under ten minutes. Second, an AI agent with no prior context should be able to read it and generate a component that a design reviewer would accept without redlines. The artifact itself is typically 300 to 800 lines of markdown, organized into sections for tokens, components, composition rules, anti-patterns, and quality thresholds. Shorter files miss important constraints. Longer files dilute priority signals and cause agents to lose focus on the rules that matter most.
This skill sits upstream of every other skill in the Taste Skill method. Before you can install SKILL.md files in agents, enforce typography standards, or write anti-slop review rules, you need a well-authored file to install, enforce, and review against. Getting the authoring right determines the quality ceiling for everything downstream.
How It Works
The mental model behind a SKILL.md file is constraint-based instruction. AI coding agents are general-purpose text predictors. Without constraints, they predict the most statistically common frontend code, which is visually generic. Your SKILL.md file works by narrowing the prediction space. Instead of letting the agent choose from every possible shade of blue, you tell it there are exactly four blues and when each one applies. Instead of letting it guess at spacing, you give it a scale and the rule for which rung to use between section headings and body text.
This works because of how modern AI agents process context. When an agent reads your SKILL.md, it treats each rule as a soft constraint on its output. Rules that are concrete ("use 24px/32px for H2 headings") constrain more effectively than rules that are abstract ("headings should feel balanced"). Rules that include anti-patterns ("never use box-shadow with spread > 4px") constrain even more effectively because they give the agent a falsifiable check it can run against its own output. The combination of positive constraints ("do this") and negative constraints ("never do that") creates a corridor of acceptable output that matches your design system.
The file structure matters because AI agents process markdown hierarchically. An agent gives more weight to content under H1 and H2 headings than to deeply nested bullets. It treats the first paragraph of each section as a summary and may skim later paragraphs under context-window pressure. This is why the Taste Skill Frontend Design Framework recommends front-loading your most critical rules in each section and using headings that double as instruction labels ("## Color Tokens" rather than "## Our Brand Colors").
Portability comes from a discipline of self-containment. A portable SKILL.md never references an external file path, a Figma URL, or a Tailwind config key without also inlining the resolved value. If your spacing scale lives in tailwind.config.js, you still write out space-1: 4px, space-2: 8px, space-3: 12px, space-4: 16px, space-6: 24px, space-8: 32px directly in the file. This redundancy is intentional. An agent running in v0 has no access to your repo's Tailwind config. An agent running in Gemini CLI might not have file-system context at all. The SKILL.md must carry its own truth.
The key assumption that can break is context-window size. If your SKILL.md exceeds the agent's context window (or competes with a large codebase for context space), rules at the bottom of the file get deprioritized or dropped. This is why the file should be ordered by priority, with the most impactful rules (tokens, forbidden patterns) at the top and nice-to-have refinements (animation easing preferences, icon sizing) toward the bottom. If you find agents ignoring your later rules, the fix is usually to either shorten the file or split it into focused modules (one for tokens, one for components, one for motion) and load only the relevant module per task.
Step-by-Step
Step 1: Inventory your design system's canonical values
md, collect every concrete value your design system defines. Open your Figma tokens, your CSS custom properties, your Tailwind config, or wherever your source of truth lives. Extract: your full color palette with hex or HSL values and semantic names, your spacing scale as a numbered list of pixel values, your typography ramp (font families, sizes, line-heights, weights for each heading level and body text), your border-radius values, your shadow definitions, and your breakpoint widths. Write these into a scratch document exactly as resolved values, not as variable names.
If your system defines
--color-primaryas#2563EB, writeprimary: #2563EB. This step produces a flat list of 40-120 token entries. If you have fewer than 20, your system may be under-specified and you should define the missing values before proceeding.Tip: If your design system has tokens that differ between light and dark modes, list both sets explicitly and label them. Agents cannot resolve mode-switching logic from a single token name.
Step 2: Document component-level composition rules
For each major component in your system (buttons, cards, form inputs, navigation, modals, tables, alerts), write a short rule block that specifies: the allowed variants, the token values each variant uses, the required internal spacing, and any forbidden compositions. For example, a button rule block might state that primary buttons use
bg: #2563EB, text: #FFFFFF, padding: 10px 20px, border-radius: 8px, font-weight: 600, font-size: 14pxand that buttons must never appear inside other buttons or inside anchor tags. A card rule block might state that cards usepadding: 24px, border-radius: 12px, border: 1px solid #E5E7EBand that cards must never nest more than one level deep. Each rule block should be 5-15 lines.Focus on the components your team uses most frequently, aiming for 8-15 component blocks in a first pass. Skip components you rarely build, since they add context-window cost without proportional benefit.
Tip: Write one forbidden-composition rule per component block. Agents are surprisingly good at avoiding explicitly named anti-patterns but will happily stumble into them if the anti-pattern is only implied.
Step 3: Define aesthetic guardrails and quality thresholds
This is where you encode taste. Aesthetic guardrails are rules that do not map directly to a single token but govern how tokens combine. , no more than 3 non-neutral colors on a single page). Write these as numbered rules with specific thresholds, not as vague guidance.
Each rule should be testable: a reviewer should be able to look at the output and determine in under 10 seconds whether the rule was followed. Aim for 8-15 guardrail rules. More than 20 dilutes their impact in the agent's context.
Tip: Frame guardrails as numeric thresholds wherever possible. 'Generous whitespace' is unenforceable. 'Minimum 32px vertical gap between sections' is testable and the agent can verify it against its own output.
Step 4: Write the anti-pattern catalog
List the specific visual mistakes your team has already seen AI agents make. If you have been using AI coding tools, review the last 10-20 generated components and note every visual issue you had to fix manually. Common entries include: using raw Tailwind gray-500 instead of your system's neutral-500, adding decorative borders or shadows not in the token set, centering everything on the page, using inconsistent icon sizes within a single component, generating overly nested card-in-card layouts, defaulting to 100% width containers without max-width constraints, and using generic sans-serif fallback fonts. For each anti-pattern, write a short name, a one-sentence description of what it looks like, and a one-sentence instruction for what the agent should do instead.
This section should contain 6-12 entries. It serves as the agent's self-review checklist before presenting output.
Tip: Pull anti-patterns from real agent output rather than inventing hypothetical ones. The patterns you have actually seen recur are the ones the agent is statistically most likely to reproduce.
Step 5: Structure the file with hierarchical headings
Organize your content into a clean markdown structure that AI agents can parse hierarchically. ,
# [YourProduct] Design System Instructions). Use H2 for major sections:## Design Tokens,## Component Rules,## Aesthetic Guardrails,## Anti-Patterns,## Quality Checklist. ,### Color Tokens,### Spacing Scale,### Typography).Place your most critical rules in the first two H2 sections because agents weight early content more heavily. Use bullet lists for enumerated rules and fenced code blocks for any literal CSS or class-name examples. Do not use HTML inside the markdown. Do not use images, links to external assets, or relative file paths.
The entire file should be self-contained plain text. Target 300-800 lines total.
Tip: Add a 2-3 sentence summary paragraph immediately after the H1 title that states the file's purpose and scope. This paragraph acts as a system-prompt-style instruction that anchors the agent's behavior for the entire file.
Step 6: Add a priority ranking to your rules
Not all rules are equally important. If an agent must choose between respecting your color tokens and respecting your preferred animation easing, you want it to choose colors every time. Add a priority section near the top of the file (right after the summary paragraph) that lists your rules in ranked order. A typical priority list looks like: 1) Color tokens must match exactly, 2) Typography scale must be followed, 3) Spacing scale must be followed, 4) Component composition rules must be respected, 5) Anti-patterns must be avoided, 6) Aesthetic guardrails should be followed, 7) Motion and animation preferences should be followed.
This ranking gives the agent a tiebreaker when context-window pressure forces it to drop lower-priority rules. It also helps human reviewers know which violations to flag as blocking versus advisory.
Tip: Use the word 'must' for your top 3-4 priorities and 'should' for everything below. Agents trained on RFC-style language interpret 'must' as a hard constraint and 'should' as a soft preference.
Step 7: Write a quality checklist as a terminal section
Close the file with a numbered checklist that the agent should mentally run before presenting its output. Each item should be a yes/no question. For example: 1) Are all colors from the defined palette? 2) Does the typography use only the specified font sizes and weights?
-
Is the spacing between elements a multiple from the spacing scale? 4) Are there more than 3 non-neutral colors visible simultaneously? 5) Does any component violate a listed anti-pattern? 6) Is the maximum container width respected?
-
Is the contrast ratio above threshold for all text? This checklist serves as a final catch-net. Agents that support chain-of-thought reasoning will sometimes explicitly walk through this checklist, catching errors they would otherwise ship. Aim for 7-12 checklist items.
Each should reference a rule defined earlier in the file so the agent can trace back.
Tip: Phrase checklist items as questions the agent asks itself about its own output, not as instructions. 'Did I use only palette colors?' triggers self-review behavior more reliably than 'Use only palette colors.'
-
Step 8: Test portability across two different agents
md must produce acceptable output in at least two different AI coding agents. , Cursor and Claude Code, or v0 and Gemini CLI). Give each agent the same prompt: 'Build a settings page with a sidebar navigation, a form with text inputs and a toggle, and a save button. md and no other context.
Compare the two outputs against your quality checklist. If both outputs pass at least 80% of the checklist items, your file is portable. If one agent fails significantly, examine which rules it ignored and check whether those rules are too implicit, too deeply nested, or too vaguely worded. Revise and retest.
Tip: Save the outputs from this test as your baseline. Future edits to the SKILL.md should be regression-tested against the same prompt to ensure you did not accidentally degrade quality.
Step 9: Version and iterate with your team
md to version control alongside your codebase. Treat it as a living document, not a write-once artifact. Establish a lightweight review process: when someone encounters a new anti-pattern in agent output, they add it to the anti-pattern section and open a pull request. md is updated in the same PR as the token source files.
Review the file quarterly for bloat. md) and load them selectively based on the task. Track a simple quality metric over time: the percentage of agent-generated components that pass design review without redlines on the first attempt. This metric should trend upward as the file matures.
Tip: Add a changelog comment block at the top of the file with the last-modified date and a one-line summary of the most recent change. This helps team members understand the file's recency and context at a glance.
Examples
Example: Early-stage startup with a Tailwind-based design system
A 4-person startup uses Tailwind CSS with a customized config (12 brand colors, a 4-step spacing scale, Inter font). They have no Figma tokens file and no formal design system documentation. Two engineers use Cursor and one uses Claude Code. AI-generated UI looks different depending on which engineer prompts it.
The team's lead engineer opens the Tailwind config and extracts all customized values: 12 colors with hex codes, spacing values (4, 8, 16, 24, 32, 48, 64px), border-radius options (4, 8, 12px), and the single font family (Inter) with four weights (400, 500, 600, 700). md under ## Design Tokens with subsections for each category. Under ## Component Rules, she documents the five components they use most: button (primary, secondary, ghost variants with exact padding and colors), input (height: 40px, border: 1px solid neutral-300, focus ring: primary-500), card (padding: 24px, radius: 12px, border: 1px neutral-200), badge (padding: 2px 8px, radius: 9999px, font-size: 12px), and nav-item (padding: 8px 12px, font-weight: 500 active, 400 default). 05)`, more than 2 font weights per component, centering page-level content without a max-width container, and icons larger than 20px in inline contexts.
The file is 280 lines. ' Both outputs use the correct color palette, the correct spacing scale, and the correct button variant. One output uses an unlisted shadow on the avatar, which she adds to the anti-pattern list. The revised file is 295 lines and passes both agents cleanly.
Example: Mid-size B2B SaaS with a mature Figma-based design system
A 30-person product team has a comprehensive design system in Figma with 200+ components, a JSON token file exported via Style Dictionary, and a Storybook library. They are adopting Cursor across the engineering team and want AI-generated code to match the existing system. The design system lead is concerned about maintaining consistency across 12 engineers.
md far exceeding the 800-line limit. md (aesthetic rules, anti-patterns, quality checklist: ~150 lines). Each file is self-contained with its own H1, summary paragraph, and priority ranking. md, inlining every resolved value even though the JSON file exists in the repo.
She uses the semantic-intent pattern: 'surface-primary: #FFFFFF (main content area background, card surfaces, modal backgrounds)' rather than just the hex value. md`, she focuses on the 15 components that appear in 80% of screens: Button, Input, Select, Card, Table, Modal, Badge, Avatar, Tooltip, Alert, Sidebar, Header, Breadcrumb, Tabs, and Empty State. Each gets 10-15 lines covering variants, token usage, and one forbidden composition. She tests the token file alone first, then token plus components, then all three together.
The combined context of all three files is 580 lines, well within budget. The 12 engineers adopt the files, and first-pass design-review approval rate increases from 45% to 78% over the first month.
Example: Freelance developer building client sites with v0
A freelance frontend developer builds 3-4 client websites per month using v0 for rapid prototyping. Each client has different brand colors and typography, but the developer reuses the same structural patterns (hero sections, feature grids, pricing tables, footer). She wants a SKILL.md template she can customize per client in under 30 minutes.
md with placeholder sections: ## Brand Tokens (5 color slots: primary, secondary, accent, neutral-light, neutral-dark, plus type ramp and spacing scale), ## Layout Rules (max-width: 1200px, section padding: 80px vertical / 24px horizontal, grid gaps: 24px or 32px), ## Component Rules (hero, feature-card, pricing-card, CTA-button, footer with fixed structural rules and token placeholders), and ## Anti-Patterns (a stable list of 8 patterns she sees v0 produce repeatedly: overly rounded corners, gradient backgrounds not requested, centered text in long paragraphs, excessive shadow depth, icons without consistent sizing, mixing font families, too many breakpoint-specific overrides, and placeholder images instead of solid color blocks). The template is 220 lines. For a new client, she opens the template, replaces the 5 color hex values, updates the font family and type ramp, and adjusts any component rules that differ from her defaults. The customization takes 20-25 minutes.
She drops the file into v0's context, generates a homepage, and reviews it against the quality checklist. md approach.
Example: Enterprise team standardizing across multiple AI agents
A 60-person engineering organization at a B2C fintech uses three different AI agents: Cursor for feature development, Claude Code for refactoring and migration, and Gemini CLI for documentation-to-code generation. Each agent produces visually different output because they are configured independently. The platform team wants a single source of truth that works across all three.
The platform team lead audits recent output from each agent by collecting screenshots of the last 20 components generated by each tool. She categorizes failures into three buckets: token violations (wrong colors, wrong spacing), composition violations (wrong component nesting, wrong layout patterns), and aesthetic violations (visual density too high, inconsistent alignment). Token violations account for 55% of issues, composition for 30%, and aesthetics for 15%. md with priority weighting that matches this distribution: tokens are priority 1-3, composition is priority 4-5, aesthetics is priority 6-7.
The token section is exhaustive: 48 colors organized by semantic role (brand, semantic, neutral), a 10-step spacing scale, a 7-level type ramp, 4 shadow levels, and 3 radius values, each with inline resolved values and usage notes. The composition section covers 20 components with strict nesting rules derived from the existing React component library. The aesthetic section includes 10 guardrails focused on the fintech context: minimum touch-target sizes (44px), required input labels (no placeholder-only inputs for accessibility), number formatting rules (always use locale-appropriate thousand separators), and data-table density constraints. The file is 720 lines.
She tests it across all three agents with four standardized prompts: a transaction history table, a payment form, an account settings page, and a dashboard with charts. All three agents produce output that passes 85%+ of checklist items on every prompt. She publishes the file to the internal platform documentation, sets up a quarterly review cycle, and creates a Slack channel for reporting new anti-patterns.
Best Practices
Inline every resolved value rather than referencing external files or variable names. A SKILL.md that says 'use --color-primary' is useless to an agent that cannot resolve CSS custom properties. Write 'primary: #2563EB (use for primary buttons, links, and active states)' instead. This redundancy is the price of portability, and skipping it is the most common reason a file works in one agent but fails in another.
Front-load your highest-priority rules in the first 100 lines of the file. AI agents allocate attention unevenly across long contexts, giving more weight to content that appears early. If your color tokens are buried under 200 lines of component rules, the agent is more likely to default to generic colors under context-window pressure. Put tokens and the priority ranking at the very top.
Write one explicit anti-pattern for every positive rule that agents commonly violate. Positive instructions ('use 8px border-radius') are necessary but not sufficient. Negative instructions ('never use border-radius values other than 4px, 8px, or 12px') create a falsifiable check the agent can run against its own output. Pairing positive and negative rules roughly doubles enforcement reliability.
Keep the file between 300 and 800 lines. Below 300, you almost certainly lack enough constraint specificity for consistent output. Above 800, you risk context-window competition where later rules get dropped or deprioritized. If your system genuinely requires more than 800 lines of rules, split into modular files and load only the relevant module per task.
Use plain markdown without HTML, images, or external links. Every AI coding agent can parse standard markdown headings, bullets, numbered lists, and fenced code blocks. Not every agent can parse HTML tables, embedded images, or resolve URLs. Stick to the format with the highest compatibility surface.
Test every major revision with a standardized prompt across two agents before merging. The portability test described in Step 8 should be a recurring gate, not a one-time exercise. Regressions happen when well-intentioned edits inadvertently make a rule ambiguous or push a critical constraint below the context-window cutoff.
Version-control the SKILL.md alongside your design token source files and update them in the same commit. If your tokens change but your SKILL.md does not, the file becomes a source of drift and agents will generate output that matches the old system. Treating them as coupled artifacts prevents this.
Assign semantic intent to each token, not just a value. Writing 'neutral-100: #F3F4F6 (page background, card surface on dark mode)' gives the agent application context. Writing only '#F3F4F6' forces the agent to guess where the color belongs, and it will guess wrong often enough to matter.
Common Mistakes
Writing rules as vague aesthetic preferences instead of concrete constraints
Correction
Rules like 'use generous whitespace' or 'keep the layout clean' are effectively invisible to AI agents because they cannot be falsified. The agent has no way to measure 'generous' or 'clean.' Replace every vague preference with a numeric threshold or enumerated set: 'minimum 32px gap between sections,' 'maximum 3 font sizes per screen,' 'only use border-radius values of 4px, 8px, or 12px.' If you cannot write a rule as a testable constraint, it is not ready for the SKILL.md. Park it in a design-philosophy document instead.
Referencing external files or tools instead of inlining values
Correction
A SKILL.md that says 'refer to tokens.json for the spacing scale' or 'follow the Figma component library' breaks portability immediately. The agent running in v0 or Gemini CLI has no access to your repo's token file or your Figma account. This mistake usually happens when authors copy rules from internal documentation without resolving the references. Catch it by searching your file for any path-like string (/, .json, .ts, .css, figma.com) and replacing each with the literal resolved values.
Making the file too long by including every edge case and rare component
Correction
Authors who are thorough by nature tend to document every component variant, every responsive breakpoint behavior, and every icon sizing rule. The result is a 1,500-line file where the agent loses track of the high-priority rules. Watch for the signal that agent output passes your typography and color rules but fails your component composition rules. That usually means composition rules are too deep in the file.
Fix it by cutting edge cases and rare components, or splitting into focused module files loaded per task.
Omitting the anti-pattern section entirely
Correction
Many authors write only positive instructions and assume the agent will infer what not to do. Agents do not infer negation reliably. Without explicit anti-patterns, you will see the same visual mistakes (arbitrary shadows, nested cards, centered-everything layouts) recur across every generation. If your agent output keeps showing the same issue after you have added a positive rule that should prevent it, the fix is almost always to add the corresponding negative rule: 'Never apply box-shadow unless it matches one of these three defined shadow values.'
Testing only in one agent and declaring the file complete
Correction
A SKILL.md that works perfectly in Cursor may fail in Claude Code because the two agents parse context differently, allocate attention differently, and handle instruction priority differently. Single-agent testing creates a false sense of completeness. The portability test requires two agents from different vendors. If you skip it, you will discover the portability gap only when a teammate using a different tool produces off-brand output and blames the file.
Treating the SKILL.md as a static document that never changes
Correction
Design systems evolve. Tokens change during rebrands, new components get added, and agents develop new failure modes as their models update. md written six months ago and never revised will drift out of sync with both the design system and the agent's behavior. The diagnostic signal is a gradual decline in first-pass design-review approval rates.
md updates to design-token changes in version control and reviewing the anti-pattern catalog quarterly for new entries.
Other Skills in This Method
Enforcing Typography and Spacing Standards in AI-Generated UI
Teaches how to write and apply SKILL.md rules that govern font sizing, line height, letter spacing, whitespace, and visual density to eliminate generic-looking layouts.
Adding Motion and Interaction Taste Rules
How to specify animation timing, easing curves, hover states, and transition guidelines in SKILL.md files so AI-generated interfaces feel polished and intentional.
Writing Anti-Slop Design Review Rules
How to author SKILL.md checklist rules that catch common AI-generated UI anti-patterns such as oversized padding, default border-radius, and bland color choices before code ships.
Configuring Layout and Visual Density Constraints for AI Agents
Teaches how to define grid, container, and density rules inside skill files so AI agents produce tighter, more intentional page compositions instead of loosely spaced defaults.
Auditing AI-Generated Frontends for Design Quality
A structured review workflow for evaluating AI-produced React and Next.js interfaces against Taste Skill criteria covering hierarchy, contrast, alignment, and component consistency.
Installing SKILL.md Files in AI Coding Agents
How to set up and configure Taste Skill instruction files in tools like Cursor, Claude Code, Codex, Gemini CLI, and v0 so your agent follows design-quality rules.
Frequently Asked Questions
How long should a SKILL.md file be?
Target 300 to 800 lines of markdown. Below 300 lines, you likely lack the constraint specificity needed for consistent output. Above 800 lines, you risk context-window competition where later rules get dropped by the agent. If your design system genuinely requires more content, split into focused modular files (one for tokens, one for components, one for motion) and load only the relevant module per task. Track which rules agents ignore. If rules in the bottom third of the file are consistently violated, that is a signal the file is too long.
Should I author SKILL.md files before or after installing them in an agent?
Author first, install second. Authoring is the upstream skill in the [Taste Skill Frontend Design Framework](/methods/taste-skill-frontend-design-framework). You need a well-structured file before you can meaningfully test installation. However, the authoring process is iterative: write a first draft, [install it in an agent](/skills/installing-skill-files-in-ai-coding-agents), test the output, identify gaps, and revise the file. Expect 2-3 revision cycles before the file stabilizes.
How do I handle design tokens that differ between light and dark modes?
md with clear labels: `### Light Mode Colors` and `### Dark Mode Colors`. Include a rule in the priority section stating which mode is the default and when to apply the alternate mode. md. The agent needs to see the literal values for both modes. , high-contrast), list each mode but consider whether the added length pushes the file past the 800-line threshold.
Can I use the same SKILL.md for different frontend frameworks like React, Vue, and Svelte?
Yes, and that is the entire point of portability. Write rules in terms of visual outcomes and token values, not framework-specific implementation. Say 'button padding: 10px 20px' rather than 'use className="px-5 py-2.5"' or 'use :class="px-5 py-2.5".' The agent translates your visual rules into whatever framework-specific syntax the project uses. If you need framework-specific guidance (like 'use Radix UI primitives for accessible components in React'), add a short `## Framework Notes` section at the bottom, after all visual rules.
How do I write SKILL.md rules for responsive behavior?
Define your breakpoints as explicit pixel values in the tokens section (e.g., `sm: 640px, md: 768px, lg: 1024px, xl: 1280px`). Then, for any rule that changes across breakpoints, state the variation directly: 'Section padding: 48px vertical on lg+, 24px vertical below lg.' Keep responsive rules to the essentials: container max-widths, grid column counts, and major spacing changes. Documenting every responsive variation for every component will bloat the file. Focus on the 5-10 responsive rules that matter most and let the agent handle minor adjustments.
Why does my agent keep ignoring rules in the second half of my SKILL.md?
This is almost always a context-window prioritization issue. AI agents give more weight to content that appears earlier in the context. md plus the codebase plus the prompt) approaches the agent's context limit, later content gets compressed or dropped. Fix it by reordering your file so the most-violated rules move to the top, shortening the file by removing low-priority rules, or splitting into modular files and loading only the module relevant to the current task. Adding a priority-ranking section near the top also helps because it gives the agent an explicit signal about which rules to preserve under pressure.
How often should I update a SKILL.md file?
Update it whenever your design tokens change (same PR, same commit). Review the anti-pattern catalog quarterly by collecting recent agent-output failures and checking whether new patterns have emerged. Add new anti-patterns as they appear. If your design system is stable and your first-pass design-review approval rate stays above 80%, a quarterly review is sufficient. If approval rates drop below 70%, review immediately because either the file has drifted from the system or the agent's model update has introduced new failure modes.