nexu-io/open-design

design-brief

Parse a structured design brief written in I-Lang protocol format into a concrete design spec. Eliminates ambiguity from vague requests like "make it professional" by requiring explicit dimensions: palette, typography, layout, mood, density, and constraints. Trigger keywords: "design brief", "create a design brief", "ilang brief", "structured brief".

82CollectingWrites files
See how to use itView GitHub source
npx skills add https://github.com/nexu-io/open-design --skill "skills/design-brief"
Automated source guideDesignDeep source

Source checked Jul 28, 2026·Refresh due Oct 26, 2026

Reorganized from the pinned upstream SKILL.md

Source-grounded design guide: design-brief

Parse a structured design brief into a concrete DESIGN.md and optional visual preview. Agent, follow this workflow exactly.

npx skills add https://github.com/nexu-io/open-design --skill "skills/design-brief"
Check the pinned source

The pinned source contains enough sections and task detail for a source-grounded deep guide; automated content is still not an independent test.

1,595 source words · 21 usable sections

Design context

  • The user provides a design brief in one of two formats:
  • "I need a landing page for a developer tool. Clean, minimal, dark mode. Inter font. No flashy animations."
  • If the user provides Option B, convert it to the structured format using the mapping table below, then proceed. Identify every dimension explicitly stated and flag dimensions that were left unspecified.

Design outputs

  • At the end of output, list any dimensions the user did not specify and the defaults that were applied, including the rule that selected each default:
  • This transparency prevents silent assumptions from propagating into the final design.

Design process

Read design-brief through these 5 source sections

Sections are extracted automatically from the pinned SKILL.md and link back to the source.

01

Background

The 8 dimensions in this skill were derived from Open Design's original 71-system catalog; 71 is the research sample, not the current bundled-system count. Every DESIGN.md in design-systems/ still resolves at minimum: color palette, accent, typography, display font, layout model…

SKILL.md · Background
The 8 dimensions in this skill were derived from Open Design's original 71-system catalog; 71 is the research sample, not the current bundled-system count. Every DESIGN.md in design-systems/ still resolves at minimum: c…Dimensions intentionally excluded from the brief level: animation timing, responsive strategy, and accessibility contrast. These are enforced at the template level by individual skills (e.g., saas-landing handles its ow…
02

1. Accept input

The user provides a design brief in one of two formats:

SKILL.md · 1. Accept input
The user provides a design brief in one of two formats:"I need a landing page for a developer tool. Clean, minimal, dark mode. Inter font. No flashy animations."If the user provides Option B, convert it to the structured format using the mapping table below, then proceed. Identify every dimension explicitly stated and flag dimensions that were left unspecified.
03

Option A: I-Lang structured brief

Review the “Option A: I-Lang structured brief” section in the pinned source before continuing.

SKILL.md · Option A: I-Lang structured brief
Review and apply the “Option A: I-Lang structured brief” source section.
04

Option B: Natural language

"I need a landing page for a developer tool. Clean, minimal, dark mode. Inter font. No flashy animations."

SKILL.md · Option B: Natural language
"I need a landing page for a developer tool. Clean, minimal, dark mode. Inter font. No flashy animations."If the user provides Option B, convert it to the structured format using the mapping table below, then proceed. Identify every dimension explicitly stated and flag dimensions that were left unspecified.
05

Natural language → I-Lang mapping

For each sentence in the natural language input, identify dimension keywords and map to the closest structured value:

SKILL.md · Natural language → I-Lang mapping
For each sentence in the natural language input, identify dimension keywords and map to the closest structured value:When a phrase maps to multiple dimensions (e.g. "clean dark landing page" → mood=professionalminimal + palette=monochromedark + layout=singlecolumn), resolve each dimension independently. When multiple values are listed…

SkillSignal prompt templates

Provide the task, context, and acceptance criteria

These prompts were written by SkillSignal from the source structure; they are not upstream text.

Source-grounded prompt

Use for a design task while explicitly checking the source sections.

Use design-brief for this design task: [task]. Inputs and constraints: [details]. Work through these pinned SKILL.md sections: “Background”, “1. Accept input”, “Option A: I-Lang structured brief”, “Option B: Natural language”, “Natural language → I-Lang mapping”. Cite the concrete requirements that shape each step, do not invent capabilities absent from the source, and verify the result against: [acceptance criteria].

Design checklist

Verify each item before delivery

The source section “Background” has been checked.

The source section “1. Accept input” has been checked.

The source section “Option A: I-Lang structured brief” has been checked.

The source section “Option B: Natural language” has been checked.

Source output checked: At the end of output, list any dimensions the user did not specify and the defaults that were applied, including the rule that selected each default:

Source output checked: This transparency prevents silent assumptions from propagating into the final design.

Static permission evidence

Inspect the exact source lines that triggered a signal

These are source excerpts matched by deterministic rules, not findings of malicious behavior, safety, or actual execution.

Choose a different workflow

When another Skill is the better fit

ab-testing

When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program

A separate implementation from coreyhaines31/marketingskills; compare its source, maintenance signals, and permission requirements.

Open source detail

churn-prevention

When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies. Also use when the user mentions 'churn,' 'cancel flow,' 'offboarding,' 'save offer,' 'dunning,' 'failed payment recovery,' 'win-back,' 'retention,' 'exit survey,' 'pause subscription,' 'involuntary churn,' 'people keep canceling,' 'churn rate is too high,' 'how do I keep users,' or 'customers are leaving.' Use this whenever someone is losing subscribers o

A separate implementation from coreyhaines31/marketingskills; compare its source, maintenance signals, and permission requirements.

Open source detail

design-review

Use when the user says "review the design", "check the UI", or wants a comprehensive UI/UX review. Uses a 7-phase methodology covering interaction, responsiveness, accessibility, and more.

A separate implementation from event4u-app/agent-config; compare its source, maintenance signals, and permission requirements.

Open source detail

FAQ

What does the design-brief source document cover?

Parse a structured design brief into a concrete DESIGN.md and optional visual preview. Agent, follow this workflow exactly.

How do I install design-brief?

The source record exposes this install command: npx skills add https://github.com/nexu-io/open-design --skill "skills/design-brief". Inspect the command and pinned source before running it.

Which permission-related actions were detected?

Static rules flagged write-files in the source; the page lists the matching lines and excerpts.

Repository stars
82,073
Repository forks
9,485
Quality
82/100
Source repository last pushed

Quality breakdown

Based on traceable docs and repository signals; stars are not treated as quality.

82/100
Documentation30/30
Specificity16/25
Maintenance20/20
Trust signals16/25

Compare before choosing

Related Agent Skills and source variants

These links are selected from shared tasks, functions, stacks, platforms, and same-name variants. Compare the source owner, documentation, permissions, and maintenance signals.

ab-testing by coreyhaines31

When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program

churn-prevention by coreyhaines31

When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies. Also use when the user mentions 'churn,' 'cancel flow,' 'offboarding,' 'save offer,' 'dunning,' 'failed payment recovery,' 'win-back,' 'retention,' 'exit survey,' 'pause subscription,' 'involuntary churn,' 'people keep canceling,' 'churn rate is too high,' 'how do I keep users,' or 'customers are leaving.' Use this whenever someone is losing subscribers o

design-review by event4u-app

Use when the user says "review the design", "check the UI", or wants a comprehensive UI/UX review. Uses a 7-phase methodology covering interaction, responsiveness, accessibility, and more.

neuropixels-analysis by k-dense-ai

Analyze Neuropixels extracellular recordings end-to-end with SpikeInterface. Covers loading SpikeGLX/Open Ephys/NWB data, preprocessing, drift/motion correction, Kilosort4 (and CPU) spike sorting, quality metrics, and unit curation (threshold-based, model-based UnitRefine, and AI-assisted visual review). Use when working with Neuropixels 1.0/2.0 recordings, spike sorting, or extracellular electrophysiology analysis.

prospecting by coreyhaines31

When the user wants to find, qualify, and build a list of prospects to reach out to — across B2B SaaS, general B2B, or local small businesses. Also use when the user mentions "prospecting," "build a prospect list," "find prospects," "find leads," "lead gen list," "find SaaS companies that," "find B2B companies," "find local businesses," "ICP-fit accounts," "who should we go after," "outbound list," "target account list," "find clients near me," "businesses without websites," "prospect research,"

View original Skill.mdThis page is parsed directly from the repository SKILL.md without editorial rewriting. Collected: Jul 28, 2026 · about 6 min

Design Brief Skill

Parse a structured design brief into a concrete DESIGN.md and optional visual preview. Agent, follow this workflow exactly.

Background

The 8 dimensions in this skill were derived from Open Design's original 71-system catalog; 71 is the research sample, not the current bundled-system count. Every DESIGN.md in design-systems/ still resolves at minimum: color palette, accent, typography, display font, layout model, and component style. We distilled these into 8 orthogonal dimensions that cover the decisions a designer makes before any pixel is placed. Mood and density were added because they are the two most common sources of ambiguity in natural language briefs ("make it clean" means different things to different people).

Dimensions intentionally excluded from the brief level: animation timing, responsive strategy, and accessibility contrast. These are enforced at the template level by individual skills (e.g., saas-landing handles its own responsive logic), though the generated DESIGN.md includes sensible breakpoint defaults for downstream consumption.

1. Accept input

The user provides a design brief in one of two formats:

Option A: I-Lang structured brief

[PLAN:@DESIGN|type=saas_landing]
  |palette=navy_and_white|accent=coral
  |typography=inter|display=space_grotesk
  |layout=single_column|max_width=1200px
  |mood=professional_minimal
  |density=spacious|section_gap=96px
  |hero=headline+subhead+cta
  |sections=features,pricing,testimonials,footer
  |exclude=animations,parallax,gradients
  |responsive=mobile_first

Option B: Natural language

"I need a landing page for a developer tool. Clean, minimal, dark mode. Inter font. No flashy animations."

If the user provides Option B, convert it to the structured format using the mapping table below, then proceed. Identify every dimension explicitly stated and flag dimensions that were left unspecified.

Natural language → I-Lang mapping

For each sentence in the natural language input, identify dimension keywords and map to the closest structured value:

Natural language phraseDimensionI-Lang value
"dark mode", "dark theme"palettemonochrome_dark
"light", "white background"palettelight_clean
"earthy", "warm tones"paletteearth_tones
"pop of color", "vibrant"accentelectric_blue (default) or coral
"subtle accent"accentmuted_sage (default) or slate
"clean", "minimal", "simple"moodprofessional_minimal
"playful", "fun", "friendly"moodplayful
"bold", "brutalist", "raw"moodbrutalist
"editorial", "magazine-like"moodeditorial
"spacious", "lots of whitespace"densityspacious
"compact", "dense", "information-rich"densitycompact
"Inter", "system font"typographyinter (default) or system_ui
"serif", "traditional"typographygeorgia (default) or playfair
"monospace", "code-like"typographyjetbrains_mono
"no animations", "static"excludeanimations
"no gradients"excludegradients
"no stock photos"excludestock_photos
"single page"layoutsingle_column
"two columns", "sidebar"layouttwo_column
"mobile first"responsivemobile_first

When a phrase maps to multiple dimensions (e.g. "clean dark landing page" → mood=professional_minimal + palette=monochrome_dark + layout=single_column), resolve each dimension independently. When multiple values are listed for a single mapping, the first is the default; the agent may select the alternative only if surrounding context strongly favors it.

2. Validate dimensions

Every design brief must resolve these 8 dimensions. If any are missing from the input, select sensible defaults using the rules in Section 2.2.

The values listed below form a closed vocabulary. Only values in this table have concrete token mappings in Section 2.1. If the user provides a value not listed here, the agent must prompt for clarification rather than guessing.

#DimensionKeyExample values
1Color palettepalettenavy_and_white, earth_tones, monochrome_dark, light_clean
2Accent coloraccentcoral, electric_blue, emerald, muted_sage
3Body typographytypographyinter, system_ui, dm_sans, georgia
4Display typographydisplayspace_grotesk, clash_display, same_as_body, playfair
5Layout modellayoutsingle_column, two_column, asymmetric
6Moodmoodprofessional_minimal, playful, brutalist, editorial
7Densitydensitycompact, balanced, spacious
8Constraintsexcludeanimations, gradients, stock_photos, carousel

2.1 Symbolic → concrete token resolution

Each symbolic value maps to concrete design tokens. The agent must resolve these before writing DESIGN.md:

Symbolic valueConcrete tokens
palette=navy_and_whiteBackground: #0F172A, Surface: #1E293B, Text: #F8FAFC, Secondary: #94A3B8
palette=monochrome_darkBackground: #09090B, Surface: #18181B, Text: #FAFAFA, Secondary: #A1A1AA
palette=light_cleanBackground: #FFFFFF, Surface: #F8FAFC, Text: #0F172A, Secondary: #64748B
palette=earth_tonesBackground: #FFFBEB, Surface: #FEF3C7, Text: #451A03, Secondary: #92400E
accent=coralAccent: #F97316, Hover: #EA580C
accent=electric_blueAccent: #3B82F6, Hover: #2563EB
accent=emeraldAccent: #10B981, Hover: #059669
accent=muted_sageAccent: #84A98C, Hover: #6B8F73
accent=slateAccent: #64748B, Hover: #475569
typography=interBody: Inter, 400, 1rem/1.6
typography=system_uiBody: system-ui, 400, 1rem/1.6
typography=dm_sansBody: DM Sans, 400, 1rem/1.6
typography=georgiaBody: Georgia, 400, 1.125rem/1.7
display=space_groteskDisplay: Space Grotesk, 700, clamp(2rem, 5vw, 3.5rem)
display=clash_displayDisplay: Clash Display, 700, clamp(2rem, 5vw, 3.5rem)
display=playfairDisplay: Playfair Display, 700, clamp(2rem, 5vw, 3.5rem)
display=same_as_bodyDisplay inherits body font family, weight 600
density=compactSection spacing: 48px, Content padding: 16px/24px
density=balancedSection spacing: 72px, Content padding: 24px/40px
density=spaciousSection spacing: 96px, Content padding: 24px/48px

Symbolic values not in this table are not valid. If the user provides an unrecognized value (e.g., palette=ocean_blue), the agent must prompt for clarification: "I don't recognize palette=ocean_blue. Did you mean navy_and_white, monochrome_dark, light_clean, or earth_tones?"

2.2 Default resolution rules

When a dimension is unspecified, defaults are selected based on mood compatibility:

Unspecified dimensionDefault rule
paletteIf mood=editorial → light_clean. If mood=brutalist → monochrome_dark. Otherwise → light_clean.
accentIf palette is dark → coral. If palette is light → electric_blue.
typographyAlways → inter (highest cross-platform legibility).
displayIf mood=editorial → playfair. If mood=brutalist → space_grotesk. Otherwise → same_as_body.
layoutAlways → single_column (safest responsive default).
moodAlways → professional_minimal (least opinionated).
densityAlways → balanced.
excludeAlways → none (no constraints unless specified).

If mood is also unspecified, all defaults fall back to the safe neutral set: palette=light_clean, accent=electric_blue, typography=inter, display=same_as_body, layout=single_column, mood=professional_minimal, density=balanced, exclude=none.

3. Generate DESIGN.md

This skill generates a new DESIGN.md from scratch based on the resolved brief dimensions. If a DESIGN.md already exists in the working directory, the agent should ask the user whether to overwrite or skip.

Produce a DESIGN.md using the nine-section outline below. This outline is the skill's portable standalone output, inherited from Open Design's original upstream baseline; it is not the current repository package schema. Current bundled packages also carry manifest.json, tokens.css, and optional rich resources, while legacy and user-installed DESIGN.md-only content remains readable. All color hex values, font stacks, and spacing values must come from the resolved tokens in Section 2.1 — do not invent values outside the resolution table.

# [Project Name] Design System

## Visual Theme & Atmosphere
- Mood: [resolved from mood]
- Feel: [derived from mood — e.g., professional_minimal → "Clean, confident, restrained"]
- References: [if mood=editorial → "Magazine layouts, Monocle, Cereal"; if mood=brutalist → "Exposed structure, raw typography"]

## Color Palette & Roles
- Background: [resolved from palette]
- Surface: [resolved from palette]
- Text primary: [resolved from palette]
- Text secondary: [resolved from palette]
- Accent: [resolved from accent]
- Accent hover: [resolved from accent]

## Typography Rules
- Display: [resolved from display], 700, clamp(2rem, 5vw, 3.5rem)
- Body: [resolved from typography], 400, 1rem/1.6
- Mono: JetBrains Mono, 400, 0.875rem

## Component Stylings
- Buttons: [if mood=playful → "rounded-full", otherwise → "rounded-md"], accent bg, contrast text
- Cards: surface bg, subtle border, 12px radius
- Inputs: [if mood=brutalist → "thick border", otherwise → "transparent bg, bottom border"]

## Layout Principles
- Max width: 1200px
- Grid: [resolved from layout]
- Section spacing: [resolved from density]
- Content padding: [resolved from density]

## Depth & Elevation
- Shadows: [if mood=brutalist → "hard 4px offset", if mood=professional_minimal → "none", otherwise → "subtle sm"]
- Borders: 1px solid [derived from palette, 8% opacity of text color]

## Do's and Don'ts
- DO use the declared color tokens exclusively.
- DO maintain consistent section spacing.
- DO ensure all text meets WCAG AA contrast ratio.
- DON'T invent colors outside the palette.
- DON'T add decorative shadows unless Depth & Elevation allows them.
- DON'T use more than 2 display/body typefaces (monospace is a utility face for code and data — it does not count toward this limit).

## Responsive Behavior
- Breakpoints: 640px (sm), 768px (md), 1024px (lg), 1280px (xl)
- Mobile: single column, stack all sections vertically
- Tablet: allow 2-column feature grids
- Desktop: full layout with max-width constraint
- Images: fluid, max-width 100%, maintain aspect ratio

## Agent Prompt Guide
- Do NOT invent colors outside this palette.
- Do NOT add box-shadows unless specified above.
- Accent color appears maximum 3 times per viewport.
- All interactive elements need :focus-visible outline.
- [if exclude contains items → list each as "Do NOT use {item}."]

4. Generate brief-preview.html

Create a single HTML file that visually renders the resolved design tokens. The preview must contain these 4 sections in order:

  1. Color palette swatches — A horizontal row of rectangles, each showing one color from the Color section. Label each with its role (Background, Surface, Text, Accent) and hex code.
  2. Typography specimens — Three text blocks showing Display, Body, and Mono fonts at their declared sizes. Use a sample sentence ("The quick brown fox...") for each.
  3. Spacing ruler — A visual ruler or stacked bars showing section spacing and content padding values, labeled with their px values.
  4. Component preview — Render 2–3 live components (a primary button, a card with title/body, a text input) using the resolved tokens. These should be functional HTML/CSS, not screenshots.

Style the preview itself with the resolved design system tokens (background color, font, spacing). The preview should look like a design system documentation page.

5. Report unspecified dimensions

At the end of output, list any dimensions the user did not specify and the defaults that were applied, including the rule that selected each default:

Dimensions resolved from defaults:
- display: set to "same_as_body" (rule: mood=professional_minimal → same_as_body)
- density: set to "balanced" (rule: static fallback, no spacing preference given)
- exclude: set to "none" (rule: no constraints unless specified)

This transparency prevents silent assumptions from propagating into the final design.

Skill path
skills/design-brief/SKILL.md
Commit SHA
89d6d4ef21ba
Repository license
Apache-2.0
Data collected