last-20-percent — Claude Code skill: what it does, how to install
Finds and finishes the experiential layer that coding agents skip, including empty states, opinionated defaults, and voice.
npx skills add JuliusBrussee/skills --skill last-20-percent -a claude-codeWhat last-20-percent does
Agents reliably build technical foundations like APIs and schemas, but they rarely consider how the final output reads or feels. This skill forces the agent to define a concrete magic moment before writing code: a named person, an actual task, and the exact information they see.
The process uses five phases to turn vague quality goals into checkable criteria. The agent creates a finish list from the gap between technical tasks and the user scene, then crafts a golden artifact by hand before building any generator. Relying on placeholder text breaks this approach because fake content masks broken layout structure.
What it helps with
- define checkable criteria for empty states and first-run flows
- craft a golden artifact before generating automated output
- extract experiential requirements missing from standard task breakdowns
- verify final output through an end-to-end user walk
Example prompts for the agent
- Find the missing 20% in this feature before marking it as done.
- Why does this build feel like a raw demo? Review the user walk.
- Create a golden artifact and a finish list before writing the generator.
How to install last-20-percent
1Skills CLI (Vercel)
npx skills add JuliusBrussee/skills --skill last-20-percent -a claude-code2Manually: put the files in place
~/.claude/skills/last-20-percent/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/last-20-percent/
1Skills CLI (Vercel)
npx skills add JuliusBrussee/skills --skill last-20-percent -a codex2Manually: put the files in place
.agents/skills/last-20-percent/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add JuliusBrussee/skills --skill last-20-percent -a cursor2Manually: put the files in place
.cursor/skills/last-20-percent/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install JuliusBrussee/skills last-20-percent2Manually: put the files in place
.github/skills/last-20-percent/SKILL.md1Skills CLI (Vercel)
npx skills add JuliusBrussee/skills --skill last-20-percent -a gemini-cli2Platform CLI
gemini skills install https://github.com/JuliusBrussee/skills --path skills/last-20-percentManually: put the files in place
.devin/skills/last-20-percent/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add JuliusBrussee/skills --skill last-20-percent -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about last-20-percent
How do I install last-20-percent in Claude Code?
Run npx skills add JuliusBrussee/skills --skill last-20-percent -a claude-code in your terminal.
What does last-20-percent do?
It guides coding agents to plan and build the experiential details of a project, such as microcopy, empty states, and default settings.
What is a golden artifact in this skill?
It is a hand-crafted, ideal version of the expected output made with real data. It acts as the specification, quality baseline, and test fixture for any generator.
Source text
SKILL.md · MIT
---
name: last-20-percent
description: >
Finds and finishes the last 20% of a built solution — the experiential layer
agents skip: what the output actually reads like, which pages or screens
should exist, first-run and empty states, opinionated defaults, the golden
path. Use when planning any build so the magic gets specced as concretely as
the plumbing, before calling any build "done", when a solution works but
feels like a demo, or when the user says "last 20%", "finish this", "make it
actually good", "is this actually done", or "why does this feel flat".
---
# The Last 20%
Agents reliably deliver the first 80% of a solution — the ingestion, the endpoints, the schema, the pipeline — and quietly skip the 20% that makes it something a person would love. Asked for an enterprise knowledge wiki, an agent builds the crawler, the embeddings, the LLM synthesis layer, and never once asks what a wiki page should *read like*, which pages should exist, or how someone finds an answer on day one. The result compiles, passes tests, demos fine, and is dead on arrival.
This skill exists to find that 20%, spec it as concretely as the plumbing, and finish it.
## Why the 20% gets skipped
The failure is structural, so the countermeasures must be too:
1. **Tasks come from the noun.** Decomposing "wiki" yields ingestion, storage, search, generation. The experience of *using* the wiki never appears in that decomposition — so it never becomes a task, so it never gets done.
2. **"Done" is defined by what's checkable.** A test can assert a 200 response. It cannot assert "this page answers the question in its first paragraph." Work without done-criteria silently drops off the plan.
3. **Taste feels like overreach.** Deciding what a page should read like is a product judgment. Models hedge: they build "flexible" machinery and defer every real decision to a user who asked precisely because they wanted those decisions made.
4. **The 20% is scheduled last, and last gets cut.** Even when the experiential work is named, it lands at the end of the plan — exactly where context, budget, and attention run out.
Each phase below counters one of these.
## The cardinal rule
**Never call a solution done until you have consumed its output the way the end user will — and it delivered the magic moment.** Reading your own code is not consuming the output. Passing tests is not consuming the output. Open the wiki and read three pages cold. Run the report and read the report. Load the dashboard and try to answer a real question with it.
## Phase 1: Write the magic moment
Before decomposing anything, write one concrete scene: a named person, a real task, what they see, and why they'd tell a colleague about it afterward.
Bad (a feature): "Users can search the wiki."
Good (a scene): "Sarah from legal types 'data retention' and lands on a page whose first paragraph answers her actual question, with a link to the policy doc it came from. She stops asking in Slack."
The scene is the destination for everything that follows. If you cannot write it, that gap *is* the missing 20% — stop and close it first. Propose two or three candidate scenes with a recommendation; never hand the user a blank page to fill in.
## Phase 2: Decompose the scene, not just the noun
Build two lists:
- **The noun list (the 80%).** What you get by decomposing the deliverable's name. Ingestion, auth, schema, API, deploy. Agents produce this list automatically; it needs no help.
- **The scene list.** Walk the magic moment step by step and write down everything that must be true for it to happen. What did Sarah type into, and how did she know to go there? What did the page look like when it loaded? Why was the answer in the first paragraph and where did the link come from? What would she have seen on day one, before ingestion finished?
**The last 20% is the scene list minus the noun list.** That residue is not random — it falls into recurring categories: content and voice, information architecture, first-run and empty states, opinionated defaults, the golden path, the failure experience, naming and microcopy. The full catalog, with probe questions and worked examples across domains, is in [references/last-20-catalog.md](references/last-20-catalog.md) — run the scene list against it to catch what the walk-through missed.
## Phase 3: Spec the 20% at plumbing fidelity
Every scene-list item gets done-criteria as concrete as "endpoint returns 200". Vague quality goals are how this work dies; convert each one into something checkable:
- "Pages should be readable" → "Every page opens with a 2–4 sentence direct answer before any detail; section headings are the questions readers actually ask; every claim links to its source document."
- "Good empty state" → "A search with zero results shows the three closest pages and a one-click 'request this page' action — never a bare 'no results'."
### Golden artifacts
When the system produces artifacts — wiki pages, reports, emails, dashboards, generated code — **hand-craft the best possible instance before building the generator.** Write the ideal wiki page yourself, with real content about a real topic from the actual corpus. That golden artifact becomes three things at once: the spec (this is what output looks like), the test fixture (compare generated output against it), and the quality bar (a generator that can't approach it isn't done).
A generator built without a golden artifact converges on generic filler, because "generate a wiki page" with no exemplar means "produce the statistical average of all wiki pages." And never use lorem ipsum or placeholder content in a golden artifact — fake content hides whether the structure actually works.
## Phase 4: Front-load, never append
In build mode, refuse to schedule the 20% last. Order the plan so the experiential layer survives:
1. Golden artifacts first — before the machinery that produces them.
2. Experience decisions (page types, defaults, voice, navigation) threaded through the build, decided at the moment the relevant plumbing is built, not batched for "polish week."
3. Keep the scene list visible as a **finish list** in the plan or tracker, each item with its done-criteria. Treat an unchecked finish-list item exactly like a failing test: the build is red until it's green.
## Phase 5: The walk
When the build claims to be done, become the end user — cold, no insider knowledge. Perform the magic moment literally: go where Sarah would go, type what she'd type, read what she'd read, all the way through.
Judge what you find against the golden artifacts and the finish list. Then write down every gap between the walk and the scene: pages that read like filler, a dead-feeling first run, a default that made you decide something the product should have decided. Fix, and walk again. The loop ends in one of two states:
- The walk delivers the magic moment → say so, show the evidence (the actual pages read, the actual flow taken), and stop.
- The remaining gaps need a human product decision → list them explicitly as decisions with a recommended option each, and stop there.
## Modes
- **Plan mode** — a build request just arrived. Run Phases 1–4 to shape the plan before or alongside the noun-list work, then Phase 5 before declaring done.
- **Audit mode** — a solution already exists ("is this actually done?", "why does this feel like a demo?"). Start with the walk (Phase 5) to gather evidence, backfill the magic moment and scene list (Phases 1–2), then spec and finish the gaps (Phases 3–4) and walk again.
## Boundaries
- **The last 20% is depth on the core scene, never breadth.** Adding features is the opposite failure wearing a finishing-touches costume. If an idea doesn't serve the magic moment, it goes to a someday list.
- **Bring a take.** Propose defaults, page structures, and voice with reasons. Reserve questions for decisions that are genuinely irreversible or genuinely business-strategic — and even then, attach a recommendation.
- **Don't gold-plate the plumbing.** This skill spends its budget on the experiential residue, not on rewriting working infrastructure to be prettier inside.
- **A solution is allowed to pass.** If the walk delivers the moment, say "this is done" and stop. Manufacturing gaps to look thorough is its own kind of slop.
© JuliusBrussee · MIT · JuliusBrussee/skills