spike

Build throwaway prototypes to validate technical feasibility before committing to a real build.

2|Updated Oct 20, 2017
One-click install
npx skills add https://github.com/rbudiharso/dotfiles --skill spike-rbudiharso
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: spike
Source: https://github.com/rbudiharso/dotfiles/tree/main/hermes/.hermes/skills/software-development/spike
Command: npx skills add https://github.com/rbudiharso/dotfiles --skill spike-rbudiharso

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? It answers feasibility questions that research alone cannot resolve by building small disposable prototypes, so you avoid committing to an approach that turns out not to work. ## Core Features & Use Cases - Decompose and Prioritize: Break an idea into 2-5 independent feasibility questions framed as Given/When/Then, ordered by risk so the idea-killing spike runs first. - Build and Compare: Create one standalone directory per spike with runnable CLI, HTML page, or test output, including parallel comparison spikes (e.g., pdfjs vs camelot) with head-to-head verdicts. - Verdict Reporting: Close each spike with a VALIDATED, PARTIAL, or INVALIDATED verdict documenting what worked, surprises, and recommendations for the real build. - Use Case: Before building a streaming chat feature, spike websocket token streaming to confirm the client receives chunks under 100ms, then throw the code away. ## Quick Start Ask the agent to spike whether your chosen library can stream LLM tokens over a websocket before you commit to the full implementation.

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?▼

Decompose the idea into 2-5 independent feasibility questions framed as Given/When/Then, order them by risk, then build a small standalone prototype for each. Close each spike with a VALIDATED, PARTIAL, or INVALIDATED verdict and throw the code away.

What is a spike in software development?▼

A spike is a throwaway experiment that answers a specific feasibility question with observable output, such as a runnable CLI or minimal HTML page. It is disposable by design and exists only to de-risk a decision before the real build.

How do I compare two libraries with a spike?▼

Build comparison spikes with a shared number and letter suffix, such as 002a-pdf-parse-pdfjs and 002b-pdf-parse-camelot, testing the same question with each approach. Finish with a head-to-head table covering quality, setup complexity, and performance, then declare a winner.

When should I not use a spike?▼

Skip spiking when the answer is knowable from documentation or reading code, when the work is on the production path and needs a real plan, or when the idea is already validated. Spikes exist only for questions research cannot answer.

What makes a good spike question?▼

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