design-system-planning
Set a product's visual design language and screen contracts after the product plan and before phase planning.
Skill by Jeremy Kaye
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/amahony-design-system-planning
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/design-system-planning
What's inside
- Skill name
design-system-planning- Description
- Set a product's visual design language and screen contracts after the product plan and before phase planning. Writes DESIGN.md (Google design.md format), design-system.md and one spec per screen with states and acceptance bullets. Use when someone wants to design the interface before building, lock a design system, choose a visual direction, write screen specs, or run "the design pass". Not for architecture, sprint breakdown or building production components.
- License
- MIT
- Compatibility
- Uses library_search and library_read for the product plan and existing design files, and library_write to save them. Files follow Phase Runner's design-planner format, so a code project can be handed to Claude Code or Auggie.
- Metadata
- author: Jeremy Kaye · source: https://github.com/AyeJK/phase-runner/tree/main/plugin/skills/design-planner · version: 1.0.0 · category: Design
- Instructions
- 106 lines in SKILL.md · view on GitHub
Files (3)
- LICENSE
- SKILL.md
- templates.md · references/
SKILL.md (first lines)
# Design-system planning
Sets the visual language and the screen contracts. The order is: product plan (what and why) → this skill (how it looks and behaves) → phase planning (sprints). Phase planning puts screen specs in the Reference column of interface tasks, and the acceptance bullets become the sprint's checks.
Terms used across this team: a **phase** is a stage of the work with a goal and a finish line. A **sprint** is a bundle of tasks one worker can finish and that can be checked on its own. It is not a period of time.
Templates for every file are in [references/templates.md](references/templates.md).
## Files
Saved to the library with library_write when the person asks for files or agrees to them:
| File | Purpose |
|------|---------|
| `DESIGN.md` | The contract: tokens in YAML front matter, rationale in prose. Tokens are normative |
| `design-system.md` | Expanded patterns for whoever builds: CSS custom properties, type scale, component patterns, copy rules, screen index |
| `screen-{kebab-name}.md` | One per screen: layout, components, states, copy, acceptance bullets |
| `screen-{kebab-name}.html` | Optional mockup, only when the person asks to see one |
For a code project, tell the person these files belong in the repository at `docs/design/` (screens in `docs/design/screens/` without the `screen-` prefix), where Phase Runner's tools read them.
If design files already exist, read all of them before changing anything, and keep locked decisions unless the person asks to revise them.
## Step 1: Read inputs
1. The product plan, from the chat or the library. Extract the product name, audience, every interface surface mentioned, hard rules about the experience and the stack.
2. The project's own vocabulary. Use the terms the plan already uses; never introduce new ones.
3. Existing design: earlier design files, brand guidelines, screenshots the person shares.
Do not re-ask what the plan answers. Ask only for gaps that block a design decision.
## Step 2: Surface inventory
Before any visual work, list the surfaces in a table:
| Surface | Route or shell | Phase | Priority | Notes |
|---------|----------------|-------|----------|-------|
Specify only near-term phases, usually 1 to 3. Defer later phases to a later design pass unless asked. Show the inventory and confirm missing surfaces and priorities before choosing a direction.
## Step 3: Choose a direction
Present two or three directions as short cards:
- **Name**: a short label
- **Mood**: one line
- **Type and colour**: fonts, light or dark, accent strategy
- **Fit**: why it suits this product and audience
- **Risk**: what it makes harder
Ask the person to pick one, blend two, or point to a reference. **Do not write tokens until they confirm.** Avoid generic defaults such as a plain sans-serif with a purple gradient unless the product calls for it.
When surfaces have different jobs, such as an admin console and a public site, choose either one system with two modes (shared tokens plus mode overrides) or a separate design pass per surface family. State the choice in DESIGN.md's Overview.
## Step 4: Write DESIGN.md
Follow the template. Requirements:
1. YAML front matter with `name`, `version: alpha`, and token groups `colors`, `typography`, `spacing`, `rounded` and `components` (at least a primary button and one input).
2. Body sections in this order: Overview, Colors, Typography, Layout, Elevation & Depth, Shapes, Components, Do's and Don'ts, then Surfaces.
3. Prose matches tokens: every colour named in prose exists in the YAML.
4. Do's and Don'ts translate the plan's experience rules into component behaviour, for example "never block with an error dialog" becomes "errors appear inline under the field".
5. Text contrast is at least 4.5:1 against its background, in every mode.
## Step 5: Write screen specs
For each P0 and P1 surface, write `screen-{kebab-name}.md` with: route or shell, purpose in one sentence, a layout wireframe as structured text, components named as in DESIGN.md, a states table (empty, loading, error, success and edge cases from the plan), copy rules, and **acceptance bullets**: observable checks someone can confirm by looking at the built screen. Reference DESIGN.md sections instead of repeating token values.
Write an HTML mockup only when the person asks for one: a single self-contained file with inline CSS that uses the real tokens and labels every interactive element.
## Step 6: Write design-system.md
Sections: last updated and a link to DESIGN.md, design intent as a short table of principles, a copy-paste `:root` block of CSS custom properties derived from the YAML, a typography table mapping elements to tokens, core component patterns (buttons, inputs, cards, dialogs used in the specs), voice rules for interface copy, and a screen index linking each surface to its spec.
When DESIGN.md and design-system.md disagree on a token value, **DESIGN.md wins**: update design-system.md to match.
## Step 7: Handoff
List the saved files and give the constraints phase planning must follow:
- An interface task's Reference cell names its screen spec file.
- A sprint's `assert:` lines come from the spec's acceptance bullets.
- Task text says "implement per screen spec" and invents no visual detail.
- A sprint with no interface gets `skip-ui: true` and no design reference.
## Iterating
| Request | Action |
|---------|--------|
| New direction | Redo Step 3, rewrite DESIGN.md tokens and design-system.md, and list the screen specs that need layout changes |
| Add a screen | New screen spec, and add it to the screen index and the Surfaces table |
| Change a token | Edit DESIGN.md's YAML and prose, then the CSS block in design-system.md |
| Design report | Surfaces specified and deferred, open contrast or consistency issues, files changed |
Read a file with library_read before changing it, and save over it by its fileId.
## Checks before finishing
- The person confirmed the direction before tokens were written.
- DESIGN.md has valid YAML and every required section, or says why one is omitted.
- Every P0 and P1 surface has a screen spec with acceptance bullets.
- design-system.md's CSS values match DESIGN.md exactly.
- The plan's experience rules appear in Do's and Don'ts.
- No sprint or task breakdown appears in any design file; that belongs to phase planning.From amahony/agent-templates, MIT.
More from amahony/agent-templates
- 0.570score
paper-opportunity-radar
Tam Nguyen
Run a cumulative daily or one-off sweep of research papers on a chosen topic, audit their claims, methods, integrity signals and independent support, then…
SkillAFreshness: AClaude Code +9 - 0.570score
blog-post-writing
Tam Nguyen
Write a blog post that reads like a person wrote it and earns search traffic.
SkillAFreshness: AClaude Code +9 - 0.570score
business-naming
Tam Nguyen
Generate, refine, compare and, when needed, screen distinctive names for startups, products, apps, developer tools, open-source projects, product families…
SkillAFreshness: AClaude Code +9 - 0.570score
mastery-plan
Tam Nguyen
Build an evidence-based path toward exceptional capability in a field or skill, and coach the learner along it.
SkillAFreshness: AClaude Code +9 - 0.570score
phase-planning
Jeremy Kaye
Create and maintain phase files, the plans that break work into phases, sprints and tasks with a status for every task.
SkillAFreshness: AClaude Code +9 - 0.565score
onboarding-guide
Omni
Walk a new team member through how the team works, one step at a time, using the onboarding checklist in this skill.
SkillAFreshness: AClaude Code +9 - 0.565score
customer-reply
Omni
Draft replies to customer emails and support messages in the company voice.
SkillAFreshness: AClaude Code +9 - 0.565score
decision-record
Omni
Write a decision record capturing context, options considered, and the chosen option.
SkillAFreshness: AClaude Code +9 - 0.565score
deep-explanation
Tam Nguyen
Explain any topic from first principles as a layered, causal explanation that fully answers the question.
SkillAFreshness: AClaude Code +9 - 0.565score
document-review
Omni
Review a draft document for clarity, structure, tone, and errors, and return prioritised feedback.
SkillAFreshness: AClaude Code +9 - 0.565score
job-description
Omni
Write a job description in house format from a hiring manager's notes.
SkillAFreshness: AClaude Code +9 - 0.565score
linkedin-post-writing
Omni
Write, improve or audit a LinkedIn post, or draft hook options, with a reader-first method built to grow followers.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 19, 2026 (9 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.0.0
- License
- MIT
- Repository
- github.com/amahony/agent-templates
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Jeremy Kaye
- 0.570score
phase-planning
Jeremy Kaye
Create and maintain phase files, the plans that break work into phases, sprints and tasks with a status for every task.
SkillAFreshness: AClaude Code +9 - 0.565score
acceptance-review
Jeremy Kaye
Check finished sprint work against the sprint's acceptance criteria and give every criterion a verdict backed by evidence, then an overall PASS, PARTIAL or…
SkillAFreshness: AClaude Code +9 - 0.565score
phase-coordination
Jeremy Kaye
Run a phase from its phase file, sprint by sprint, grouping independent sprints into parallel waves, giving each sprint to its own thread, sending finished…
SkillAFreshness: AClaude Code +9
Cite this page
design-system-planning skill. Agent Mart. https://agentmart.dev/skills/amahony-design-system-planning (last updated 2026-10-24)