Skip to main content

claude-design-system-prompt

Install and customize the reverse-engineered Claude Design system prompt to turn any LLM into an opinionated, accessibility-aware design collaborator

跳到安装

来源信息

仓库
reason-machines/design-skills
最近来源活动
2026年7月5日 15:27
检测到的 SKILL.md 语言
英语
星标
4
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
claude-design-system-prompt
description
Install and customize the reverse-engineered Claude Design system prompt to turn any LLM into an opinionated, accessibility-aware design collaborator
triggers
["set up the Claude Design system prompt","install the design system prompt","configure the design assistant prompt","use the Claude Design collaborator","add design skills to this agent","integrate the accessibility-aware design prompt","customize the design system prompt","run a design audit with Claude prompt"]
# claude-design-system-prompt > Skill by [ara.so](https://ara.so) — Design Skills collection. ## What it does `claude-design-system-prompt` is a reverse-engineered system prompt and skill library that transforms any LLM into an opinionated design collaborator that: - **Rejects AI slop**: No generic SaaS gradients, emoji decoration, or rounded-corner cards - **Enforces accessibility**: WCAG compliance, semantic HTML, keyboard navigation, motion preferences - **Prioritizes content**: Every element must earn its place—no filler - **Uses real web standards**: CSS Grid, `oklch()`, `text-wrap: pretty`, interactive prototypes - **Thinks in systems**: Components and tokens over one-off pages The prompt includes 20 design principle chapters and 14 invokable procedural skills for production, extraction, and review work. ## Installation ### Clone the repository ```bash git clone https://github.com/Trystan-SA/claude-design-system-prompt.git cd claude-design-system-prompt ``` ### Directory structure ``` claude/ # For Claude Code / Claude.ai ├── system-prompt.md # 20-chapter design philosophy └── skills/ # 14 procedural skills codex/ # For OpenAI Codex (single-loop variant) ├── AGENTS.md # Auto-discovered entry point ├── system-prompt.md └── skills/ ``` ## Using the system prompt ### Direct integration (any LLM) Copy the entire contents of `claude/system-prompt.md` (or `codex/system-prompt.md` for Codex) and paste it as the system prompt: ```markdown <!-- Example: Claude.ai Custom Instructions --> Paste full contents of claude/system-prompt.md here ``` The agent will automatically follow the design philosophy and reference skills by name when tasks match. ### Programmatic integration (API) ```python # Python example with Anthropic API import anthropic from pathlib import Path # Load the system prompt system_prompt = Path("claude-design-system-prompt/claude/system-prompt.md").read_text() client = anthropic.Anthropic(api_key=os.environ.get("ANTHROPIC_API_KEY")) message = client.messages.create( model="claude-opus-4.8-20250514", max_tokens=4096, system=system_prompt, messages=[{ "role": "user", "content": "Design a landing page for a climate data API" }] ) print(message.content) ``` ```javascript // Node.js example with Anthropic SDK import Anthropic from '@anthropic-ai/sdk'; import { readFileSync } from 'fs'; const systemPrompt = readFileSync( 'claude-design-system-prompt/claude/system-prompt.md', 'utf-8' ); const client = new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY, }); const message = await client.messages.create({ model: 'claude-opus-4.8-20250514', max_tokens: 4096, system: systemPrompt, messages: [{ role: 'user', content: 'Create a wireframe for a developer documentation site' }] }); console.log(message.content); ``` ## Invoking skills Skills are self-contained procedures. When a user's request matches a skill, the agent loads and follows it. ### Production skills (build something) ```bash # Discovery and direction "Run discovery questions for this project" "Set the frontend aesthetic direction" # Exploration and prototyping "Create wireframes with 3 variations" "Make an interactive prototype" "Generate variations across different aesthetic axes" # Special formats "Make a deck presentation" "Make this design tweakable with a floating panel" ``` ### System skills (extract structure) ```bash # Extract from existing sources "Extract the design system from the Stripe homepage" "Extract components from this codebase" ``` ### Review skills (audit and fix) ```bash # Comprehensive audits "Run an accessibility audit" "Check for AI slop" "Review hierarchy and rhythm" "Review all interaction states" "Run a polish pass" ``` ## Skill workflow examples ### Greenfield project flow ```markdown 1. Run discovery-questions → Gather context, goals, constraints, audience 2. Set frontend-aesthetic-direction → Commit to palette, typography, tone 3. Create wireframe → 3+ low-fidelity variations 4. Make-a-prototype → Interactive clickable prototype 5. Run polish-pass → Final accessibility, slop, hierarchy, interaction review ``` ### Brand-aware flow ```markdown 1. Design-system-extract → Pull tokens from existing brand site 2. Generate-variations → 3+ high-fidelity variations using brand tokens 3. Make-tweakable → Add floating tweak panel for live adjustments 4. Polish-pass → Final review gate ``` ### Audit-only flow ```markdown 1. Accessibility-audit → WCAG, semantic HTML, keyboard, motion 2. AI-slop-check → Detect gradient/emoji/font/house-style tropes 3. Hierarchy-rhythm-review → Size, weight, color, spacing scale 4. Interaction-states-pass → Hover, active, disabled, focus, loading, validation ``` ## Loading individual skills If you want to invoke a specific skill programmatically: ```python from pathlib import Path # Load main prompt + specific skill system_prompt = Path("claude/system-prompt.md").read_text() wireframe_skill = Path("claude/skills/wireframe.md").read_text() combined_prompt = f"{system_prompt}\n\n## ACTIVE SKILL\n\n{wireframe_skill}" message = client.messages.create( model="claude-opus-4.8-20250514", system=combined_prompt, messages=[{"role": "user", "content": "Wireframe a SaaS dashboard"}] ) ``` ## Customization ### Adapt for your environment The default prompt assumes HTML output (like Claude.ai's design tool). To adapt: **For Figma plugins:** - Edit chapters 2 (Workflow) and 17 (Output principles) - Replace HTML references with Figma API calls - Keep chapters 5–16 (design principles) unchanged **For code-only assistants:** - Update chapter 14 (Respecting the medium) to reference your framework - Add framework-specific component examples **For chat-only design coaches:** - Remove artifact/output instructions from chapter 17 - Focus on conversational guidance and critique ### Adjust model calibration The `claude/` variant is optimized for Anthropic Fable 5 / Opus 4.7+ models. For older models or other providers: **Restore stronger imperatives:** ```markdown <!-- Current (calm) --> Ask questions when context is insufficient. <!-- Older models (directive) --> CRITICAL: You MUST ask at least 3 questions before proceeding. ``` **Add explicit quotas:** ```markdown <!-- Current (conditional) --> Generate variations when exploring aesthetic directions. <!-- Older models (quota) --> Always generate at least 3 variations for every design request. ``` ### Add custom skills Create a new skill in `claude/skills/`: ```markdown # my-custom-skill.md ## When to invoke Invoke when the user requests [specific trigger condition]. ## Procedure ### Phase 1: Discovery 1. Ask [specific questions] 2. Confirm [specific constraints] ### Phase 2: Execution 1. [Step-by-step process] 2. [Expected output format] ### Phase 3: Review 1. [Quality gates] 2. [Handoff to other skills if needed] ``` Then reference it in `system-prompt.md` chapter 20. ## Configuration ### Environment variables No API keys required for the prompt itself. When using with LLM APIs: ```bash # Anthropic export ANTHROPIC_API_KEY=your_key_here # OpenAI export OPENAI_API_KEY=your_key_here ``` ### Platform-specific settings **Claude Code:** - Place `system-prompt.md` in your project's `.claude/` directory - Skills auto-load when referenced by name **Cursor:** - Add to `.cursorrules` file - Reference skills in comments **OpenAI Codex:** - Use `codex/AGENTS.md` as entry point (auto-discovered) - Skills run sequentially instead of parallel ## Troubleshooting ### Agent skips question rounds **Symptom:** Agent jumps straight to design without asking questions **Fix:** The current Claude models need explicit triggers. Ensure you're using `claude/` variant. If using older models, add stronger imperatives: ```markdown When context is insufficient, always ask questions before proceeding. ``` ### Agent produces generic SaaS aesthetics **Symptom:** Cream backgrounds, terracotta accents, serif display type **Fix:** Explicitly invoke `frontend-aesthetic-direction` skill first: ```bash "Set the frontend aesthetic direction with 4 distinct options" ``` The skill's four-directions protocol prevents house-style collapse. ### Skills not triggering automatically **Symptom:** Agent doesn't recognize when to invoke a skill **Fix:** Current models under-reach for optional capabilities. Be explicit: ```bash # Instead of: "Design a landing page" # Say: "Run discovery questions, then create wireframes with 3 variations" ``` ### Reviews miss obvious issues **Symptom:** Accessibility or slop checks don't catch known problems **Fix:** Current models follow "only report important" too literally. The prompt uses coverage-first reviews, but you may need to chain skills: ```bash "Run accessibility-audit, then ai-slop-check, then hierarchy-rhythm-review" ``` ### Output doesn't use modern CSS features **Symptom:** Design uses old CSS instead of Grid, `oklch()`, etc. **Fix:** Reference chapter 14 (Respecting the medium) explicitly: ```bash "Create a prototype using CSS Grid and oklch() colors per the medium principles" ``` ## Real-world examples ### Complete greenfield flow ```python import anthropic from pathlib import Path system_prompt = Path("claude/system-prompt.md").read_text() client = anthropic.Anthropic(api_key=os.environ.get("ANTHROPIC_API_KEY")) # Phase 1: Discovery discovery = client.messages.create( model="claude-opus-4.8-20250514", system=system_prompt, messages=[{ "role": "user", "content": "I need a landing page for a climate data API. Run discovery questions." }] ) # User answers questions, then: # Phase 2: Aesthetic direction direction = client.messages.create( model="claude-opus-4.8-20250514", system=system_prompt, messages=[ {"role": "user", "content": "Run discovery questions..."}, {"role": "assistant", "content": discovery.content[0].text}, {"role": "user", "content": "[Answers to questions]"}, {"role": "user", "content": "Set the frontend aesthetic direction with 4 options"} ] ) # Phase 3: Wireframes wireframe = client.messages.create( model="claude-opus-4.8-20250514", system=system_prompt, messages=[ # ... previous context ... {"role": "user", "content": "Create wireframes using direction option 2"} ] ) # Phase 4: Interactive prototype prototype = client.messages.create( model="claude-opus-4.8-20250514", system=system_prompt, messages=[ # ... previous context ... {"role": "user", "content": "Make an interactive prototype from wireframe B"} ] ) # Phase 5: Polish final = client.messages.create( model="claude-opus-4.8-20250514", system=system_prompt, messages=[ # ... previous context ... {"role": "user", "content": "Run a full polish pass"} ] ) ``` ### Extract design system from existing site ```javascript import Anthropic from '@anthropic-ai/sdk'; import { readFileSync } from 'fs'; const systemPrompt = readFileSync('claude/system-prompt.md', 'utf-8'); const extractSkill = readFileSync('claude/skills/design-system-extract.md', 'utf-8'); const client = new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY, }); const message = await client.messages.create({ model: 'claude-opus-4.8-20250514', system: `${systemPrompt}\n\n## ACTIVE SKILL\n\n${extractSkill}`, messages: [{ role: 'user', content: 'Extract the design system from https://stripe.com - analyze colors, typography, spacing, components' }] }); // Returns structured tokens: colors, typography, spacing scale, components console.log(message.content); ``` ### Chain multiple review skills ```python reviews = [ "accessibility-audit", "ai-slop-check", "hierarchy-rhythm-review", "interaction-states-pass" ] results = [] for skill_name in reviews: skill_path = f"claude/skills/{skill_name}.md" skill_content = Path(skill_path).read_text() response = client.messages.create( model="claude-opus-4.8-20250514", system=f"{system_prompt}\n\n{skill_content}", messages=[{ "role": "user", "content": f"Run {skill_name} on the current prototype" }] ) results.append({ "skill": skill_name, "findings": response.content[0].text
在 GitHub 查看
这个 SKILL.md 很大,SkillsMP 这里只预览前一段内容。 在 GitHub 查看