pocs/agent-plugins/claude-pragma/skills/spike/SKILL.md
Time-boxed throwaway investigation to answer one hard question. Use when facing technical uncertainty before a slice — the output is knowledge, not production code. Retires risk by producing a spike verdict with clear recommendations.
npx skillsauth add hashintel/labs spikeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Run a throwaway experiment to answer one specific, falsifiable technical question. Spikes produce knowledge, not code.
A spike is NOT a prototype (prototypes try to be kept). Spike code is explicitly discarded.
The question and approach: $ARGUMENTS
Before starting, confirm:
If the question is vague, sharpen it before proceeding.
Write the exact falsifiable question. Examples:
Bun.file() API read a 500MB file without loading it all into memory?"Single throwaway file. Hardcode everything. Print to stdout. Let crashes be information.
Do not modify project source files. Install dependencies in isolation if needed.
The verdict is the deliverable. Capture: did it work, any surprises, any conditional constraints, performance (if relevant).
Before returning, classify what changed and route durable outcomes:
/pragma:capsule update/pragma:roadmap update/pragma:milestone update/pragma:assumptions update/pragma:contractUse explicit none for lanes with no change.
/pragma:card or /pragma:slicenone | /pragma:capsule update — [reason]none | /pragma:roadmap update — [reason]none | /pragma:milestone update — [reason]none | /pragma:assumptions update — [reason]none | /pragma:contract — [reason]/pragma:assumptions update (mandatory after every spike) to record which assumption was validated/invalidatedState: discovery, Next: first non-'none' authority delta command (otherwise /pragma:consult or /pragma:card when uncertainty is retired and next behavior is clear), Loop: /pragma:consult (default unless user explicitly continues directly)documentation
Read and write a Petri net (SDCPN) document by Automerge URL. Use when creating, editing, or querying Petri nets — adding or removing places, transitions, arcs, color types, differential equations, and parameters.
development
Implement one tracer-bullet slice following the inside-out methodology. Use when you have a tracer-bullet card ready to build. Implements functional core first, then imperative shell, then end-to-end wiring, then alignment refactor.
tools
Build a walking skeleton — the thinnest runnable system that proves build, test, and runtime work end-to-end. Use when starting a new project, before any feature work. Front-loads tooling and infrastructure so every subsequent slice is cheaper.
development
Turn kickoff transcripts into a builder-facing territory map before carding. Use when kickoff conversations are rich but implementation slices are not yet legible.