ef-prototype
Discover a brand-new UI before implementing it: generate 4-5 radically different variants of one screen in a single shareable HTML file, switchable from a…
Skill by micaelcf
Chalk Labs
Need help deploying ef-prototype?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/micaelcf-ef-prototype
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, design, frontend
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 26, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/ef-prototype
What's inside
- Skill name
ef-prototype- Description
- Discover a brand-new UI before implementing it: generate 4-5 radically different variants of one screen in a single shareable HTML file, switchable from a floating bar, then pick one and let it govern the requirements and the contract. Use when a feature introduces a screen, page or component that is not a variation of anything the repo already has. Do NOT use for forms, tables, list-detail, settings panes, modals or any well-known pattern, and do NOT use to prototype logic or state models.
- License
- MIT
- Instructions
- 109 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Prototype — a new UI, before it is built The rest of this harness runs on one rule: **never ask what code can answer.** Visual design is the single class where code cannot answer. There is no file to read that tells you what a screen nobody has built should look like. That is the whole reason this skill exists, and the reason it is narrow. ## The gate > **Can you name an existing screen, component or well-known pattern this is a variation of?** > > **Yes** → build it. No prototype. > **No** → prototype. A form, a table, a list-detail, a settings pane, a modal, a wizard: **always yes**, even in a repo that happens not to have one yet. The pattern is known, and it gets built correctly from a description. Prototyping one burns a day to rediscover a form. Prototype when the screen is genuinely new: a surface with no precedent here, where reasonable people would draw it differently and nobody can settle it by talking. Refuse out loud when the gate says no. *"This is a table with filters — I will build it directly"* is a complete answer, and saves more time than the prototype would. ## Order matters: this runs before the contract Whatever the API already returns will shape the screen if the screen is designed second. Running the prototype first inverts that: the chosen variant fixes the information hierarchy, which fixes what the screen must show, which fixes what the API must return in one call. So this runs inside Stage 1, before `/ef:feature-docs` writes requirements and before Stage 3 freezes a contract. ## The artifact **One HTML file.** No build step, no dev server, no dependencies, no framework. It opens by double-clicking, and anyone can open it — a backend developer, a product manager, a stakeholder who will never clone the repository. That portability is the point: a prototype only the frontend can run gets reviewed by one person. Write it to `docs/features/<feature>/prototypes/<screen>.html`. Requirements: - every variant in the same file, switchable from a **floating bottom bar**, plus arrow keys - the variant name and its one-line bet visible while that variant is shown - realistic inline fake data — real-looking names, real-looking volumes, the empty state, the long string that wraps, the error state - self-contained CSS, no CDN, no network - a header comment: `PROTOTYPE — throwaway. Feature <name>. Not production code.` ## The variants **Four or five minimum.** They must differ on a **named axis**, not on styling: - what is primary — what the eye hits first, and what is demoted - what is hidden behind progressive disclosure versus shown at once - the navigation model — tabs, drill-down, single scroll, split pane - density — overview of many versus detail of one - the entry point — what the user arrives to do Five layouts with different padding is one variant with a rendering bug. Each variant states, in one line each: **the bet** it makes · what it **optimises for** · what it **sacrifices**. **One variant must be the conventional, boring one.** It is the baseline the others have to beat, and it frequently wins. Without it you are choosing among experiments with nothing to measure against — the same reason "do nothing" is a mandatory option in an RFC. ## What it proves and what it does not It proves layout, flow, information hierarchy, and whether the screen makes sense to someone who did not design it. It does **not** prove that the data exists, that the API can serve it in one request, or that the design system can express it. A variant everyone loves that needs three round-trips sold a lie. So every data need the chosen variant implies is written down as a **graded assumption**, and Stage 3's anchor check verifies it like any other claim about code. ## Capture The prototype is a decision input and a primary source. When the user picks: 1. **Record the decision** in the grill-decisions record shape: which variant, why, and **what was stolen from the losers** — that is usually where half the value is. 2. **Write the screen's information needs as requirements**, which Stage 2 carries into the PRD. In a multi-repo feature, the data the screen needs becomes a change request against the producing repo. 3. **Write the data assumptions**, graded, each with what would invalidate it. 4. **Keep the file.** Link it from the feature's `INDEX.md`. It explains why the screen looks like that long after the decision is forgotten, and it is the only artifact that shows the roads not taken. Do not fold prototype code into production. It is throwaway; the implementation is Stage 4's, built from the requirements the prototype produced. ## Rules 1. **Throwaway from day one, and named as such.** Nobody should have to ask whether this is production code. 2. **Trivial to open.** Double-click. If it needs a command, it is the wrong artifact. 3. **No persistence, no network, no backend.** In-memory only. 4. **Skip the polish.** No tests, no error handling, no abstractions, no build tooling. 5. **Never prototype logic or state models here.** Those are answerable in code — grill them, then prove them with Stage 4 checks.
From micaelcf/ef-harness, MIT.
More from micaelcf/ef-harness
- 0.614score
ef-feature-docs
micaelcf
Stage 2 - author a feature's documentation folder from closed grill decisions: grill-decisions to RFC to PRD to INDEX, with mandatory fields gated by asking…
SkillAFreshness: A★ 4Claude Code +9 - 0.610score
ef-grilling
micaelcf
Relentless one-question-at-a-time interview that converts an under-specified plan into closed decisions, each recorded with its evidence grade, preserved…
SkillAFreshness: A★ 4Claude Code +9 - 0.610score
ef-implement
micaelcf
Stage 4 - turn closed decisions and a written contract into checks with named proofs, then orchestrate the build in parallel slices and hand a whole feature…
SkillAFreshness: A★ 4Claude Code +9 - 0.610score
ef-adversarial-audit
micaelcf
Stage 5 - adversarially audit delivered work against its requirements assuming a green test suite proves nothing, then verify that claimed fixes are real…
SkillAFreshness: A★ 4Claude Code +9 - 0.610score
ef-readiness
micaelcf
Make a repository's agent rulebook (AGENTS.md / CLAUDE.md) verifiable: vendor a deterministic checker, audit every rule and citation against the code…
SkillAFreshness: A★ 4Claude Code +9 - 0.606score
ef-shared
micaelcf
Shared vocabulary for every ef-* stage: the A–D evidence grades and the five critical lenses (assumption-surfacing, pre-mortem, red-team, evidence-audit…
SkillAFreshness: A★ 4Claude Code +9 - 0.605score
ef-perspective-discovery
micaelcf
Discover a feature from the current repository's perspective, after it was defined upstream at product altitude: verify the docs' code anchors, fan out…
SkillAFreshness: A★ 4Claude Code +9
Signals
- Stars
- 4
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 24, 2026 (1 month ago)
- Last release
- Oct 21, 2026 (15 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/micaelcf/ef-harness
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from micaelcf
- 0.614score
ef-feature-docs
micaelcf
Stage 2 - author a feature's documentation folder from closed grill decisions: grill-decisions to RFC to PRD to INDEX, with mandatory fields gated by asking…
SkillAFreshness: A★ 4Claude Code +9 - 0.610score
ef-grilling
micaelcf
Relentless one-question-at-a-time interview that converts an under-specified plan into closed decisions, each recorded with its evidence grade, preserved…
SkillAFreshness: A★ 4Claude Code +9 - 0.610score
ef-implement
micaelcf
Stage 4 - turn closed decisions and a written contract into checks with named proofs, then orchestrate the build in parallel slices and hand a whole feature…
SkillAFreshness: A★ 4Claude Code +9 - 0.610score
ef-adversarial-audit
micaelcf
Stage 5 - adversarially audit delivered work against its requirements assuming a green test suite proves nothing, then verify that claimed fixes are real…
SkillAFreshness: A★ 4Claude Code +9 - 0.610score
ef-readiness
micaelcf
Make a repository's agent rulebook (AGENTS.md / CLAUDE.md) verifiable: vendor a deterministic checker, audit every rule and citation against the code…
SkillAFreshness: A★ 4Claude Code +9 - 0.606score
ef-shared
micaelcf
Shared vocabulary for every ef-* stage: the A–D evidence grades and the five critical lenses (assumption-surfacing, pre-mortem, red-team, evidence-audit…
SkillAFreshness: A★ 4Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get ef-prototype running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
ef-prototype skill. Agent Mart. https://agentmart.dev/skills/micaelcf-ef-prototype (last updated 2026-10-24)