Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generate a single-file swipeable HTML "decision deck" for iterating over a set of options/ideas/candidates and curating them down to a shortlist. Each card shows one option; the user swipes through with arrow keys or buttons, marks each as Keep or Delete, and selections persist in localStorage and can be exported as JSON or Markdown. Use this skill whenever the user has a list of things they want to triage one-by-one — brainstormed ideas, candidate names, paper titles, feature proposals, recipe
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | 20% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 46% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 0% | 0% |
| case-20 | ✗→✓ | ▲ Improved | -38% | 0% |
| case-09 | ✓→✗ | ▼ Worse | 117% | 0% |
This skill produces a single self-contained HTML file that lets the user swipe through a set of options and curate them. No build step, no dependencies, no server — just open file.html.
Use this skill whenever the user has a set of discrete options and wants to triage them interactively rather than read them as a flat list. Common signals:
The skill is also a good fit when you (Claude) have just generated a list of N options and the user needs a way to react to them quickly. In that case, proactively suggest the deck format.
A single .html file containing:
K to keep, D to delete, S to toggle a summary panel. Keep/Delete auto-advance.references/deck-template.html. It is a working deck with a placeholder SLIDES array and generic field names.tag — short category label (1–2 words, shown as a pill)title — the option's name (≤8 words ideally)why — one sentence on why this option matters / the trade-off it representsbody — the meat: 2–4 sentences describing the optionmeta1 and meta2 — two short metadata fields shown at the bottom (e.g. "Cost", "Effort", "Deliverable", "Risk"). Rename their labels in the render function to fit the domain — but keep the field names as meta1/meta2 so the template stays generic.SLIDES array with the user's options. Aim for 10–25 cards; fewer feels thin, more becomes a chore.render() function (the two <b>...</b> labels inside .meta) to fit the domain. If the domain only needs one meta field, delete the second <span>. If it needs three, add one — but more than three crowds the card.open <file>.html on macOS so the user can start swiping immediately.Don't rename the per-slide field names (tag, title, why, body, meta1, meta2) even if they feel awkward for the domain. The template's render() function references them directly, and keeping them stable means future edits are predictable. If a field genuinely doesn't apply to the domain (e.g. there's no meaningful "why"), leave it as an empty string rather than removing it — the template tolerates empty values.
The template stores selections under a key derived from the deck title. If you make multiple decks for the same user, give each one a distinct STORAGE key (top of the <script> block) so they don't collide. A good default is deck_<short-slug>_v1.
Selections are keyed by slide index, not slide content. This means: if the user asks you to add or reorder slides later, the kept/deleted marks will follow the wrong cards. If you anticipate reordering, switch the storage key from i to s.title in the mark() and render() functions. Mention this trade-off to the user only if it's likely to come up.
After running the skill, you should:
.html file to disk.open).The deck format compresses a decision into a sequence of small, bounded judgments — one card, one binary choice, no scrolling. That matches how humans actually triage. The export step makes the output durable: the kept items become a Markdown shortlist or a JSON file the user can feed into the next step of their workflow. Keep that pipeline in mind: the deck is a means, not the end.
Other measured skills in the registry, with their headline benchmark lift.