Skip to main content

spike

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.

Ir para a instalação

Informações da origem

Repositório
hashintel/labs
Última atividade na origem
23 de março de 2026 às 12:12
Idioma detectado do SKILL.md
inglês
Estrelas
35
Forks
14

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
spike
description
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.
argument-hint
[question to answer and what you'll try]
# Spike Solution (XP) 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. ## Input The question and approach: $ARGUMENTS Before starting, confirm: 1. **Question** — one specific, falsifiable thing you don't know (e.g., "Can library X parse format Y and return structure Z?") 2. **Approach** — what you'll try 3. **Time box** — default: one focused session If the question is vague, sharpen it before proceeding. ## Procedure ### 1. State the question Write the exact falsifiable question. Examples: - "Can Bun's `Bun.file()` API read a 500MB file without loading it all into memory?" - "Does the Stripe API return pagination cursors that survive for more than 5 minutes?" ### 2. Minimal experiment Single throwaway file. Hardcode everything. Print to stdout. Let crashes be information. **Do not** modify project source files. Install dependencies in isolation if needed. ### 3. Run, observe, write verdict The verdict is the deliverable. Capture: did it work, any surprises, any conditional constraints, performance (if relevant). ### 4. Classify authority deltas Before returning, classify what changed and route durable outcomes: - Semantics changed (glossary/invariant/happy-path/non-goal meaning) → `/pragma:capsule update` - Strategy changed (cross-cutting decision/rationale/reversal trigger) → `/pragma:roadmap update` - Phase control changed (scope/status/ordering/deferment/exit criteria) → `/pragma:milestone update` - Confidence changed (assumption validated/invalidated/confidence shift) → `/pragma:assumptions update` - Enforcement readiness changed (invariant now enforceable in code/tests) → `/pragma:contract` Use explicit `none` for lanes with no change. ## Constraints - **One question per spike.** New questions → new spikes. - **Spike code is discarded.** Do not commit, integrate, or refactor it. - **No production standards.** No tests, types, lint, or error handling. - **"No" is a successful answer.** The answer matters, not the code. ## Output 1. **Question**: exact question investigated 2. **Verdict**: Yes / No / Conditional (with conditions) 3. **Evidence**: what you observed 4. **Surprises**: anything unexpected 5. **Implications**: how this affects the planned `/pragma:card` or `/pragma:slice` 6. **Authority Delta**: - Semantics: `none` | `/pragma:capsule update` — [reason] - Strategy: `none` | `/pragma:roadmap update` — [reason] - Phase control: `none` | `/pragma:milestone update` — [reason] - Assumptions: `none` | `/pragma:assumptions update` — [reason] - Enforcement: `none` | `/pragma:contract` — [reason] 7. **Ledger**: run `/pragma:assumptions update` (mandatory after every spike) to record which assumption was validated/invalidated 8. **Lifecycle**: `State: 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)
Ver no GitHub