Heyeddi design
End-to-end UI design for HeyEddi stack (PrimeVue, DESIGN.md, semantic tokens — OpenProps on scaffold default). Use when the user wants to design, explore, critique, or improve existing frontend — e.g. "enterprise view", "critique the login page", "this UI looks bad", "settings page". Runs discovery, critique, polish, craft, document. Sub-commands init, discover, shape, craft, critique, polish, document. Not for pre-made screenshot handoff — use heyeddi-handoff instead.From its SKILL.md
npx -y skills add HeyEddi-com/skills --skill heyeddi-designAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
6.6 KB, ~1.6k tokens by cl100k_base, as published. Nobody here has run it
Designs and builds production UI within PrimeVue, project DESIGN.md, and semantic CSS tokens. OpenProps is the HeyEddi scaffold default but not mandatory — detect token source per reference/token-strategy.md.
You do not need design vocabulary from the user. Plain intent ("enterprise view for our app") is enough — ask questions until direction is clear.
Subagents (default)
Delegate by sub-command — see reference/subagents.md. Main chat confirms briefs and merges results.
| Always delegate | Subagent |
|---|---|
@visual-auditor / Playwright | shell |
validate_vue, npm test, build | shell |
critique, craft, polish (route work) | generalPurpose |
research, wireframe explore | generalPurpose |
Codebase scan for document | explore |
Do not run visual capture inline during craft/handoff turns.
Setup (every session)
- Run
python scripts/load_context.py --project-root <root>once per session (skip if output is already in the conversation). - If
product_existsis false and the task needs strategic context, runinitbefore shape/craft. - Read the sub-command reference file for the invoked mode (required — do not skip).
3a. Read
reference/surface-completeness.mdonce per session when shaping, crafting, or critiquing any route — design full surfaces, not happy-path minimums. 3b. Readreference/foundations.mdonce per session — responsive, theme, i18n, a11y, reading modes are always on unlessproduct.mdwaives them. 3c. Readreference/token-strategy.mdwhen styling — detect OpenProps vs custom tokens before writing CSS. 3d. Readreference/modern-reference.mdwhen shaping or crafting marketing, dashboard, or settings routes — avoid plain admin-template output. 3e. Readreference/audience-design.mdwhen shaping, crafting, or polishing any user-facing route — tie direction toproduct.mdpersonas. - After craft, polish, critique (when leading to polish), or shape (brief confirmed), append to Decision log in
.heyeddi/design.mdperreference/design-talk.md— cite primary persona + pattern borrowed. - After implementation, run
reference/audience-fit.mdon flagship routes before calling done. - Chain
@primevue-openprops-architectvalidation and@visual-auditorat 375/768/1440.
Commands
| Command | Purpose |
|---|---|
| (no sub-command) | Vague design request → start discover |
init | Create or refresh PRODUCT.md; offer document for DESIGN.md |
discover | Discovery interview only — no code, no final brief yet |
research | Web trend / reference research for current design direction |
explore | Concept images + wireframes after discovery |
shape | Full planning flow: discover → research → explore → confirmed brief |
document | Generate or refresh DESIGN.md from code or seed questions |
craft | Build a screen in Vue (runs shape first if no confirmed brief) |
critique | UX review of existing UI — write report, no code unless asked |
polish | Refine an existing route (after critique) |
Visual proof always delegates to @visual-auditor via Task (shell subagent) — see reference/subagents.md.
Routing rules
- Existing UI — critique or improve ("critique", "review", "what's wrong", "looks bad", "ugly", "fix this page", "polish the login"): load
reference/critique.mdfirst. If user wants fixes in the same turn → critique, thenreference/polish.md. Do not start greenfielddiscoverwhen code already exists for the target route. - No sub-command, vague greenfield ("enterprise view", "design the settings area" with no existing screen): load
reference/discover.md. Do not jump to code. - Sub-command matches table above: load
reference/<command>.mdand follow it. Remaining words are the target/brief. craftwithout a confirmed design brief: pause and runshape(full flow) first; resumecraftonly after explicit brief confirmation. 4b.crafton flagship routes (/,/login,/dashboard,/settings): ifload_contextreportsaudience_ready: false, stop —@heyeddi-intakeordiscoverfirst.polishwithout critique this session: run critique first, then polish.initblocker: ifload_contextreports missingPRODUCT.mdand the task is net-new or strategic, completeinitthen resume the original command.- Screenshots / approved mockups provided: stop — tell the user to use
@heyeddi-handoffinstead. - Never invoke impeccable — this skill replaces it for the HeyEddi stack.
Artifacts
| Artifact | Location |
|---|---|
| Design brief (confirmed) | .heyeddi/designs/<feature>/brief.md |
| Wireframes | .heyeddi/designs/<feature>/wireframes/ |
| Research notes | .heyeddi/designs/<feature>/research.md |
| Concept direction | Chat images + summary in brief |
| Design system | .heyeddi/design.md — DESIGN.md format; see Superhuman example |
| Product context | .heyeddi/product.md (legacy: root PRODUCT.md) |
| Skill reports, critiques | .heyeddi/docs/ (critique reports, ship notes, audits) |
Use kebab-case for <feature> (e.g. enterprise-settings).
Stack constraints
- Foundations: responsive, system light/dark,
en+esi18n, WCAG 2.2 AA, dyslexia reading mode option — seereference/foundations.md. - Tokens: semantic CSS variables from project
tokens.css/DESIGN.md— OpenProps when the project already uses it; custom:rootvars otherwise (reference/token-strategy.md). No raw hex in Vue/CSS unless documented exception. - Components: PrimeVue from project catalog in
DESIGN.md; no duplicate wrapper components. - Register:
product(app UI) vsbrand(marketing) fromPRODUCT.md— shapes density, nav patterns, and polish level.
See context/VOCABULARY.md, context/ANTI_PATTERNS.md, context/EXAMPLES.md, and reference/foundations.md.
What ships with it: 24 files
63.2 KB alongside SKILL.md, 3 of them executable
context/
- ANTI_PATTERNS.md1.1 KB
- EXAMPLES.md1.2 KB
- VOCABULARY.md1.5 KB
reference/
- audience-design.md3.5 KB
- audience-fit.md2.0 KB
- craft.md2.2 KB
- critique.md2.8 KB
- design-talk.md2.6 KB
- discover.md3.3 KB
- document.md3.5 KB
- explore.md1.9 KB
- foundations.md5.9 KB
- init.md2.6 KB
- modern-reference.md4.6 KB
- polish.md1.3 KB
- research.md1.9 KB
- shape.md2.9 KB
- subagents.md1.5 KB
- surface-completeness.md6.6 KB
- token-strategy.md3.3 KB
scripts/
- _heyeddi_paths.pyruns1.5 KB
- load_context.pyruns3.9 KB
- _skill_cli.pyruns1.3 KB
- manifest.json530 B