FE lab: add variant-driven design lab skill#115
Merged
Conversation
Dev-only lab for exploring real-React section/page variants before writing production code. Cook variants one target at a time, lock the winner, assemble an additive /lab-view, then wire properly. Includes harness blueprint (cook/view/chrome with theme + toggleable mobile-sidebar) and a scope-question playbook.
The skills-index behaviour test enforces category in {core, domain, meta};
'workflow' was invalid. lab is a process skill like blueprint/ship-gate, all
of which are 'core'. Regenerated skills/INDEX.md to include lab.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a new workflow skill,
lab- a discipline for designing frontend sections and pages by exploring real-React variants in an isolated, dev-only lab, locking winners one at a time, and assembling the page additively before any production code is written.The problem it kills: design-by-mockup drifts. A static HTML comp or Figma frame looks right, then gets rebuilt in the real framework and quietly becomes something else - different spacing, different responsive behavior, different tokens. You approve a picture and ship a stranger. The lab moves exploration into the real stack but keeps it out of production, so what's approved is literally what ships.
Why it works better
/lab-view- the real page, growingHow it works
flowchart TD T["Ask target<br/>(section or 1 page)"] --> S["Ask 1-3<br/>scope Qs"] S --> C["COOK<br/>build 3 variants<br/>desktop + mobile"] C --> Q{happy?} Q -- "no · same target" --> C Q -- yes --> L["LOCK winner"] L --> D["destroy losers<br/>cook empties"] L --> V["VIEW<br/>additive page<br/>grows by 1"] V --> N{page done?} N -- "no" --> T N -- yes --> W["FINAL WIRING<br/>real tokens + fonts<br/>→ production"]One target at a time (a section, or at most one page). Cook its variants, lock the winner, the cook empties, the locked winner joins
/lab-view. Repeat until the page is whole, then leave the lab and wire it for real.The harness
Real-stack proof (prototype on a live project)
The build - locked targets (
✓) and the in-flight target's variants, all real React, assembling additively:/lab-view- the additive page, desktop and mobile judged together:Contents
skills/lab/SKILL.mdskills/lab/references/harness-blueprint.mdcook/view/chrome/locked, dev-gated routes,LabShellwith theme + toggleable mobile sidebarskills/lab/references/scope-questions.mdskills/lab/assets/*.pngIron Laws
Scope / status
Standalone skill drop. Not yet wired into
skills/INDEX.md, the compiledhyperstack.bootstrap.md, or MCP/agent hooks - intentional, separate follow-up. Installed locally for testing via a symlink at~/.claude/skills/lab.Verification
Frontmatter parses the way
scripts/generate-skills-index.tsexpects.