open-design/skills/design-brief
静水流深 35c3fe678c
feat: add design-brief skill with structured I-Lang input format (#184)
* feat: add design-brief skill with structured I-Lang input format

Adds a new skill that accepts structured design briefs (I-Lang protocol
format or natural language) and generates a concrete DESIGN.md with
resolved color, typography, layout, mood, density, and constraint tokens.

Solves the 'make it professional' ambiguity problem by requiring explicit
dimensions. Falls back to sensible defaults for unspecified dimensions
and transparently reports what was assumed.

Outputs: DESIGN.md + optional brief-preview.html showing token swatches.

* fix: add Responsive Behavior and Do's and Don'ts sections to DESIGN.md template

Addresses Codex review: downstream skills (e.g. saas-landing) read
these sections from DESIGN.md. Missing them causes incomplete context.

* fix: address P2 review feedback

- Remove overly broad 'brief' trigger to prevent misfires on
  'brief me on X' or 'in brief'. Replaced with 'create a design brief'.
- Add Natural language → I-Lang mapping table (20 common phrases)
  so the conversion from vague input to structured dimensions is
  explicit, not a black box.

* fix: address all 8 review findings from lefarcen

1. P3 Example values taxonomy: added clarification that values are
   representative, not exhaustive. Agent accepts semantically clear
   unlisted values, prompts on ambiguous ones.

2. P2 8-dimension justification: added Background section explaining
   dimensions derived from analysis of 71 bundled design systems.
   Documented why animation/responsive/a11y are excluded at brief level.

3. P2 Symbolic → concrete token resolution: added Section 2.1 with
   full mapping table (4 palettes, 3 accents, 3 typography, 3 display,
   3 density levels → concrete hex/font/px values).

4. P3 preview.html structure: added 4-section spec (color swatches,
   typography specimens, spacing ruler, live component preview).

5. P2 Default resolution logic: added Section 2.2 with mood-aware
   default rules for each dimension and static fallback set.

6. P3 design_system.requires inconsistency: changed to requires: true,
   generates: true — this skill generates a DESIGN.md from scratch,
   and downstream skills require it. Added note about existing
   DESIGN.md overwrite/merge prompt.

* fix: clarify typeface limit — mono is utility, exempt from 2-face rule

Resolves contradiction between Do's/Don'ts ('no more than 2') and
DESIGN.md example showing 3 faces (Display + Body + Mono).

* fix: address 3 P3 findings from lefarcen

- Reword 'responsive breakpoints' to 'responsive strategy' in Background,
  note DESIGN.md includes sensible breakpoint defaults
- Simplify 'overwrite or merge' to 'overwrite or skip' (merge undefined)
- Add numbering column to 8-dimension table for scannability

* fix: address owner (mrcfps) review — align with OD design-system contract

1. od.mode: prototype → design-system (this skill produces DESIGN.md)
2. design_system.requires: true → false (generates, not consumes)
3. DESIGN.md template uses canonical 9-section OD headings:
   - Visual Theme & Atmosphere (NEW)
   - Color Palette & Roles (was Color)
   - Typography Rules (was Typography)
   - Component Stylings (was Components)
   - Layout Principles (was Layout)
   - Depth & Elevation (unchanged)
   - Do's and Don'ts (unchanged)
   - Responsive Behavior (unchanged)
   - Agent Prompt Guide (unchanged)
4. sections list in frontmatter updated to match

* fix: address 3 contract consistency issues from owner review

1. Remove output_format enum — always generate both DESIGN.md and
   brief-preview.html. Prevents manifest advertising a preview file
   that may not exist when design_md-only mode is selected.

2. Fix example: typography=inter_for_body → typography=inter.
   The example now matches the token resolution table exactly.

3. Make vocabulary closed. Remove 'derive by analogy' instruction
   that contradicted Section 3's 'do not invent values outside the
   resolution table'. Unknown symbolic values now require user
   clarification instead of agent guessing.

* fix: disambiguate mapping table — default to first option when multiple values listed

* fix: add token mappings for all closed vocabulary values

Added concrete tokens for:
- accent=muted_sage (#84A98C) and accent=slate (#64748B)
- typography=dm_sans (DM Sans)
- display=clash_display (Clash Display)

Every value in the vocabulary table now has a corresponding
token-resolution row in Section 2.1. No dead-end paths.

---------

Co-authored-by: adsorgcn <adsorgcn@users.noreply.github.com>
2026-05-01 23:11:38 +08:00
..
SKILL.md feat: add design-brief skill with structured I-Lang input format (#184) 2026-05-01 23:11:38 +08:00