Skip to content
Back to skills

Spike

ASecurity

Build a small throwaway artifact that answers exactly one open design question, then delete it. Two routes inside the skill, a runnable terminal program for state, logic, or data-shape questions, and a side-by-side view comparison for presentation questions. Use when the user says "spike this", "build a quick throwaway", "let me play with the model", "try a few visual directions", or wants to de-risk a design choice before committing to it. Do NOT use for production features (use `/plan`), fo...

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 26, 2026
ai-agentsbashrefactoringdatabasebackend

Works with

  • terminal

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned September 26, 2026

npx -y skills add gufranco/claude-engineering-rules --skill spike --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Spike?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Spike
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gufranco-spike/badge)](https://www.skillsdirectory.com/skills/gufranco-spike)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: spike
description: Build a small throwaway artifact that answers exactly one open design question, then delete it. Two routes inside the skill, a runnable terminal program for state, logic, or data-shape questions, and a side-by-side view comparison for presentation questions. Use when the user says "spike this", "build a quick throwaway", "let me play with the model", "try a few visual directions", or wants to de-risk a design choice before committing to it. Do NOT use for production features (use `/plan`), for refactoring an existing module (use `/refactor`), or for a single polished design pass (use `/design`).
argument-hint: "/spike [state|view] <question>"
allowed-tools: "Read, Edit, Write, Grep, Glob, Bash"
user-invocable: true
---

A spike is throwaway code whose only purpose is to answer one question. The question chooses the shape.

## Pick a route

Read the user prompt and the surrounding code, then pick.

- **State route.** Use when the open question is about a state machine, a data shape, a workflow, or business rules that are hard to reason about on paper. Load [`STATE-BRANCH.md`](STATE-BRANCH.md). Build a tiny interactive terminal program that drives the state through hard cases and prints the full state after each step.
- **View route.** Use when the open question is about presentation, layout, or visual style. Load [`VIEW-BRANCH.md`](VIEW-BRANCH.md). Generate several radically different variations on a single route, switchable via a query string and a small floating selector.

If the route is genuinely ambiguous and the user is not reachable, pick the route that matches the surrounding code, backend code chooses state, page code chooses view, and write the assumption in the banner comment.

## Rules for every spike

1. **Throwaway from minute one, marked as such.** Place the spike next to the module or page it informs so context is obvious. Prefix the directory or filename with `spike-` per project convention. Add a banner at the top of the entry file: `// SPIKE: <question being answered>. Delete after verdict captured.`
2. **One-command run.** Use the project package manager. The user must launch it without thinking.
3. **State lives in memory.** Skip persistence unless persistence is the question. When persistence is the question, hit a scratch database or local file whose name announces it is disposable.
4. **No polish.** No tests, no abstractions, no error handling beyond what the spike needs to remain runnable. Speed of learning over elegance.
5. **Surface state on every step.** After each user action (state route) or variant switch (view route), print or render the full relevant state.
6. **Capture the verdict, then delete.** Once the question is answered, write the answer to a `NOTES.md` next to the spike or to a commit message or to an ADR, then remove the spike directory. A spike that survives past its verdict has stopped being a spike.

## Verification

- Spike launches with one command.
- Banner names the open question.
- State or chosen variant is visible after every step.
- A verdict is captured before any deletion.
- If the verdict is hard to reverse, run `/plan adr new` and link the ADR from the verdict capture.

## Related skills

- `/plan` plan the real implementation once the answer is known.
- `/plan adr new` record a hard-to-reverse decision.
- `/design` for a single curated design pass that is not throwaway.

Files in this skill

  • SKILL.md3.3 KB
  • STATE-BRANCH.md1.9 KB
  • VIEW-BRANCH.md1.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.