spike

Builds throwaway prototype experiments to validate technical feasibility before committing to a real build.

Updated May 29, 2026
One-click install
npx skills add https://github.com/Reimonsk8/hermes-9router-model-balancing --skill spike-reimonsk8
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: spike
Source: https://github.com/Reimonsk8/hermes-9router-model-balancing/tree/main/scripts/skills/software-development/spike
Command: npx skills add https://github.com/Reimonsk8/hermes-9router-model-balancing --skill spike-reimonsk8

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Before investing days in a real implementation, you often need to know whether an idea is even technically feasible — will websockets stream fast enough, can this library parse your PDFs, does approach A beat approach B. This Skill structures that uncertainty into small, disposable experiments with clear verdicts, so you stop guessing and start deciding with evidence. ## Core Features & Use Cases - Decompose ideas into feasibility questions: Breaks a vague idea into 2-5 independent spikes framed as Given/When/Then statements, ordered by risk so the idea-killing question runs first. - Guided research and build loop: For each spike, surfaces competing libraries or approaches, picks one with justification, then builds a minimal runnable prototype (CLI, HTML page, or single endpoint) in its own spikes/NNN-name/ directory. - Comparison spikes and verdicts: Runs head-to-head variants (e.g., pdfjs vs camelot) with parallel subagent delegation, then records a VALIDATED, PARTIAL, or INVALIDATED verdict with surprises and recommendations in each spike's README. - Use Case: You want to add real-time streaming to your app but aren't sure websockets will meet your latency target. The Skill creates spikes/001-websocket-streaming/, builds a runnable prototype, tests edge cases, and delivers a verdict with a recommendation for the real build. ## Quick Start Ask the agent to spike whether your chosen library can handle your workload before you commit to building the feature.

Frequently Asked Questions about spike

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I validate a technical idea before building it?▼

Run a spike: decompose the idea into 2-5 specific feasibility questions framed as Given/When/Then, build a minimal throwaway prototype for each in its own directory, and record a verdict. Test edge cases, not just the happy path, before declaring it works.

How do I compare two libraries for the same task?▼

Build comparison spikes with a shared number and letter suffixes (e.g., 002a-pdf-parse-pdfjs and 002b-pdf-parse-camelot), run them back to back or in parallel via subagents, then write a head-to-head table covering quality, setup complexity, and performance with a declared winner.

When should I not use a spike?▼

Skip spiking when the answer is knowable from documentation or reading existing code, when the work is on the production path (use a planning workflow instead), or when the idea is already validated and you can jump straight to implementation.

What makes a good spike question?▼

A good spike question targets specific feasibility with observable output, such as whether a websocket delivers chunks under 100ms. Bad questions are too broad, have no observable output, or amount to just reading documentation about a topic.

What should a spike prototype include?▼

Prefer something interactive: a runnable CLI with observable output, a minimal HTML page, or a single-endpoint server. Hardcode configuration, avoid build tools and Docker, and keep the code disposable since spikes are thrown away after the verdict.