assets/skills/research/spike/SKILL.md
Spike/Research workflow for exploring unknowns before committing to implementation. Use when researching, prototyping, doing proof of concept, or when user says "spike", "research", "prototype", "poc", "explore", "investigate".
npx skillsauth add phuthuycoding/moicle research-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.
Time-boxed exploration to de-risk a decision by building (not just reading). Produces a recommendation + ADR, not production code.
/research-web/feature-new/fix-root-causeDetect stack via ~/.claude/architecture/_shared/stack-detection.md. Skim stack doc to understand current patterns — the spike output should fit the architecture or explicitly say why it doesn't.
DEFINE → RESEARCH → PROTOTYPE → EVALUATE
↑ │
└────── timebox expired ───────────┘
Goal: lock the question, success criteria, timebox. Without these the spike has no exit condition.
## Spike: {short name}
### Question
{ONE specific question — answerable yes/no or "pick A vs B vs C"}
### Why now
{What decision blocks on this answer? When is the decision needed?}
### Options on the table
- Option A: {name + 1 line}
- Option B: {name + 1 line}
- (Option C: only if relevant)
### Success criteria
- [ ] {Specific, observable — e.g., "P95 latency <50ms at 1k req/s"}
- [ ] {e.g., "Integration with X library compiles + 1 test passes"}
- [ ] {e.g., "Estimated migration effort ≤2 sprints"}
### Timebox
- Quick spike: 2-4 hours
- Standard: 1-2 days
- Deep spike: 3-5 days (rare — usually means scope is too big)
### Red flags (stop early if hit)
- Scope creep into productionising
- Option requires breaking architecture rules
- Two options become "obviously the same" after 1 hour
Goal: know enough to prototype intelligently, don't over-read.
Run /research-web for the topic if you haven't already. Capture:
Goal: build the smallest thing that answers the question.
spike: A reaches 1k req/s with sync handler so the timeline is reviewableGoal: turn the prototype into a recommendation + ADR.
| Criterion | Option A | Option B | Notes | |-----------|----------|----------|-------| | Success criterion 1 (e.g., latency) | 42ms ✅ | 87ms ❌ | A at 1k rps, B saturates earlier | | Success criterion 2 (e.g., effort) | 1 sprint | 3 sprints | B requires new dependency | | Fit with architecture | ✅ | ⚠️ Requires port redesign | | | Risk | low | medium | B unknowns: lib maturity, no LTS | | Team familiarity | high | low | |
# ADR-NNN: {Decision title}
## Status
Accepted / Superseded / Deprecated
## Context
{What problem we faced, what alternatives we considered}
## Decision
{The chosen option}
## Consequences
**Positive:** {gains}
**Negative:** {tradeoffs / debt taken on}
## Spike evidence
{Link to spike branch + key benchmark numbers}
spike/{name}-{date}) so it can be referenced/feature-newdocs/adr/ (or equivalent)## Spike Complete: {name}
### Question
{From DEFINE}
### Recommendation
**Pick Option {X}** because {top reason backed by spike evidence}
### Evidence
{Benchmark numbers, screenshots, error logs — link to spike branch}
### Next step
- If accepted: `/feature-new` to build it properly
- If rejected: document why + close the question
### Time spent
{Actual vs timebox — note overruns for retrospective}
| When | Use |
|------|-----|
| Compare options via docs only (no code) | /research-web |
| Spike done, ready to implement properly | /feature-new |
| Spike revealed a bug to investigate | /fix-root-cause |
| Document the ADR as a doc page | /docs-write |
| Phase | Agent | Purpose |
|-------|-------|---------|
| DEFINE | @clean-architect | Frame the question |
| RESEARCH | @api-designer | API / integration research |
| RESEARCH | @db-designer | Data model research |
| RESEARCH | @security-audit | Security implications |
| PROTOTYPE | Stack-specific dev agent | Build the POC |
| EVALUATE | @clean-architect | Architecture impact |
| EVALUATE | @docs-writer | Write the ADR |
development
Test-Driven Development workflow. Use when doing TDD, writing tests first, or when user says "tdd", "test first", "test driven", "red green refactor".
development
Thorough pull request review workflow with architecture compliance checks. Use when reviewing pull requests, checking code changes, or when user says "review pr", "check pr", "review code", "pr review", "review pull request".
development
Review local branch changes for architecture compliance, conventions, and code quality before pushing/PR. Stack-aware — detects the project stack and applies the matching rules. Use when user says "review changes", "review branch", "check branch", "check changes", "review my code", "review before pr".
testing
DDD architecture compliance review with automated checks and review loop. Use when user says "architect-review", "architecture review", "review architecture", "check architecture", "review ddd", "ddd review".