agentleFS
HeyEddi-comHeyEddi-com/heyeddi-skills/skills/heyeddi-design/SKILL.md

heyeddi-design

Skill0 starsChanged 3 months agoMITView on GitHub

Product design partner for @taste-penpot. Use on design, UI, look, polish, or handoff requests AFTER taste-penpot has chosen the look. Records personas, route job, and tokens into .heyeddi/design.md, then hands off to @heyeddi-handoff or @design-handoff-flutter. Does not invent a second palette, type system, or multi-step aesthetic. Screenshot gate still applies before done.

The file

We split this skill into the rules it gives an agent

12 rules. About 0 are common, 2 are distinctive, and 10 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 10

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Read reference/implement-routing.md every session that ends in shipped UI.

    line 26
  2. Distinctive:

    Do not run visual capture inline during handoff turns.

    line 48
  3. Very specific:

    Read reference/cross-pillar-handoff.md.

    line 52
  4. Very specific:

    Run python scripts/load_context.py --project-root <root> once per session (skip if output is already in the conversation).

    line 63
  5. Very specific:

    If product_exists is false and the task needs strategic context, run init before shape/craft.

    line 64
  6. Distinctive:

    Read the sub-command reference file for the invoked mode (required: do not skip).

    line 65
  7. Very specific:

    After shape (brief confirmed), critique, or polish, append to Decision log in .heyeddi/design.md.

    line 76
  8. Very specific:

    After stack implementer finishes: @visual-auditor fast widths 375,768,1440 while iterating.

    line 77
  9. Very specific:

    craft without confirmed brief: run shape first (brief must include subject + hard rejects).

    line 100
  10. Very specific:

    polish without critique this session: run critique first (including ambition gate).

    line 102
  11. Very specific:

    Use kebab-case for <feature>.

    line 117
  12. Very specific:

    Add --route /path and --mode <sub-command> when known.

    line 132

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

HeyEddi Design

Stack-agnostic UI design for HeyEddi apps: discovery, briefs, critique, and design-system documentation. Implementation (Vue, Flutter, CSS in components) belongs to stack skills — see reference/implement-routing.md.

Team: @taste-penpot owns the look in one pass (Anthropic frontend-design + tokens). This skill owns product fit and implementation handoff. Read reference/design-team.md before any design turn. Do not author a second palette or restart discover → research → explore to find a look.

Auto-pickup: Design talk still loads this skill, and it immediately loads @taste-penpot if that pass has not already produced tokens. Then record those tokens. reference/brief-language.md is product language for the brief, not a second art direction.

Design vs implement (mandatory split)

LayerSkillDelivers
Design (this skill)@heyeddi-designBriefs, wireframes, critique, design.md, IA, aesthetic direction
Implement (stack)@heyeddi-handoff, @design-handoff-flutterProduction UI code in Vue / Flutter
Enforce (stack)@primevue-openprops-architectVue tokens + PrimeVue guardrails
Verify (agnostic)@visual-auditor, @ux-flow-auditorScreenshots, contrast, flows, fixes

Read reference/implement-routing.md every session that ends in shipped UI.

Default behavior (no confirmation)

  • Design talk of any kind: load brief-language.md first; pin taste + subject + hard rejects before chrome
  • Better design / redesign: "better design", "make it better", "redesign", "new look", "overhaul", "wow", "top notch" → do not polish-only. Run critique ambition gate (reference/critique.md); if template-like or ambition fails → shape → craft → implement. Spacing/token tweaks alone are wrong for these phrases.
  • Critique + fix (local): "looks bad", "fix this page", "polish", "tweak spacing" → critique then stack implementer + @visual-auditor — unless the ambition gate says escalate to shape (then shape first; do not ask).
  • Craft: confirmed brief → hand off to stack implementer in the same workflow
  • Ambition bar: impressive craft is default on flagship routes — do not wait for user to ask

Subagents (default)

Delegate by sub-command: see reference/subagents.md. Main chat confirms briefs and merges results.

Always delegateSubagent
@visual-auditor / Playwrightshell
validate_vue, npm test, buildshell
critique, craft, polish (route work)generalPurpose
research, wireframe exploregeneralPurpose
Codebase scan for documentexplore

Do not run visual capture inline during handoff turns.

Cross-pillar sync (mandatory)

Read reference/cross-pillar-handoff.md. Bookend craft, critique, polish, shape (confirmed brief):

@heyeddi  load_workflow_context --route /path
… design work + Decision log in design.md …
@heyeddi  append_pillar_opinion --pillar design …
→ @heyeddi-product scope check; @ux-flow-auditor flow note if IA affects tasks

Setup (every session)

  1. Run python scripts/load_context.py --project-root <root> once per session (skip if output is already in the conversation).
  2. If product_exists is false and the task needs strategic context, run init before shape/craft.
  3. Read the sub-command reference file for the invoked mode (required: do not skip). 3a. Read reference/brief-language.md first on any design/look/feel talk (discover, shape, craft, critique, polish, or informal "make it look…"): subject/metaphor, hard rejects, hero/type/accent/responsive/SSOT, first-viewport checklist, done gate. 3b. Read reference/implement-routing.md when shaping, crafting, critiquing, or polishing any route. 3c. Read reference/surface-completeness.md once per session when shaping, crafting, or critiquing any route. 3d. Read reference/foundations.md once per session: responsive, theme, i18n, a11y, reading modes are always on unless product.md waives them. 3e. Read reference/modern-reference.md when shaping marketing, dashboard, or settings routes. 3f. Read reference/audience-design.md when shaping, crafting, or polishing any user-facing route. 3g. Read reference/design-ambition.md on flagship routes. 3h. Read reference/aesthetic-direction.md on any user-facing route. 3i. Read context/PROSE_ANTI_SLOP.md when writing UI copy in briefs or design.md. 3j. Read reference/visual-tools.md during explore, shape, and critique on flagship routes: use GenerateImage for direction probes and Canvas for compare/brief/critique summaries when the IDE provides them.
  4. After shape (brief confirmed), critique, or polish, append to Decision log in .heyeddi/design.md.
  5. After stack implementer finishes: @visual-auditor fast widths 375,768,1440 while iterating. Before calling done on flagship/marketing: done widths 375,430,768,1024,1440,1920 (--preset done) and fix what you see. Logo-off test: if it could be another startup after removing the brand, it is not done.

Commands

CommandPurpose
(no sub-command)Vague design request → start discover
initCreate or refresh PRODUCT.md; offer document for DESIGN.md
discoverDiscovery interview only: no code, no final brief yet
researchWeb trend / reference research for current design direction
exploreConcept images (GenerateImage) + Canvas compare + wireframes
shapeFull planning flow: discover → research → explore → confirmed brief
documentGenerate or refresh DESIGN.md from code or seed questions
craftBrief ready → hand off to stack implementer (see implement-routing)
critiqueUX review of existing UI → report → auto-chain implement + visual-auditor
polishDesign-spec refinement + stack implementer for code (after critique)

Routing rules

  1. Better design / redesign intent ("better design", "make it better", "redesign", "new look", "overhaul", "major improvement", "wow", "top notch" on an existing route): load reference/critique.md ambition gate → if escalate → reference/shape.md then craft (not polish-only). See reference/design-ambition.md § Improve vs redesign.
  2. Existing UI: local fix ("critique", "looks bad", "fix this page", "polish"): load reference/critique.md → run ambition gate → polish-path implement + @visual-auditor only if gate says stay local. Do not ask.
  3. No sub-command, vague greenfield: load reference/discover.md + brief-language.md.
  4. Sub-command matches table: load reference/<command>.md (+ brief-language.md for shape/craft/critique/polish).
  5. craft without confirmed brief: run shape first (brief must include subject + hard rejects). 5b. Flagship routes without personas: @heyeddi-intake or discover first.
  6. polish without critique this session: run critique first (including ambition gate).
  7. Screenshots / approved mockups: @heyeddi-handoff (implement), not design craft code.
  8. Never invoke impeccable: this skill replaces it.

Artifacts

ArtifactLocation
Design brief (confirmed).heyeddi/designs/<feature>/brief.md
Wireframes.heyeddi/designs/<feature>/wireframes/
Research notes.heyeddi/designs/<feature>/research.md
Design system.heyeddi/design.md
Product context.heyeddi/product.md
Critiques, audits.heyeddi/docs/

Use kebab-case for <feature>.

Foundations (design spec — implementer enforces in code)

Responsive, light/dark, en+es i18n, WCAG 2.2 AA, semantic tokens: see reference/foundations.md, reference/token-strategy.md, reference/brief-language.md.

See context/VOCABULARY.md, context/ANTI_PATTERNS.md, context/PROSE_ANTI_SLOP.md, context/EXAMPLES.md, reference/brief-language.md.

When the task is complete: suggest next skills

python .agents/skills/heyeddi/scripts/suggest_next_skill.py \
  --current-skill heyeddi-design --project-root .

Add --route /path and --mode <sub-command> when known.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.