bug-reproduce
Turn a known bug into a tight, red-capable reproducer, then prove the reproducer locks that…
Throwaway experiments to validate an idea before build.
$ npx -y skills add Prismer-AI/PrismerCloud --skill prismer-spike --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/prismer-spikeContext preview
The summary Claude sees to decide when to auto-load this skill.
Throwaway experiments to validate an idea before build.
name: prismer-spike
scope: coding
description: "Throwaway experiments to validate an idea before build."
version: 1.0.0
author: Hermes Agent (adapted from gsd-build/get-shit-done)
license: MIT
platforms: [linux, macos, windows]
metadata:
nativeReplaces: [spike]
hermes:
tags: [spike, prototype, experiment, feasibility, throwaway, exploration, research, planning, mvp, proof-of-concept]
related_skills: [sketch, subagent-driven-development]This is the uniquely named `prismer-spike` skill, adapted from Hermes. Use the actual tools exposed by the executing host; examples using terminal, process, delegate_task, vision_analyze or browser_* are not tool registrations. Missing dependencies do not hide this skill. Report command startup, version, account/permissions and task-specific live verification separately. Use task-owned artifact paths and existing user authorization; do not change shared accounts, Runtime/provider configuration, global security settings or unrelated work. See NOTICE.md and LICENSE for resource provenance. Runtime availability and upstream-entry suppression are owned by the integration layer.
Use this skill when the user wants to **feel out an idea** before committing to a real build — validating feasibility, comparing approaches, or surfacing unknowns that no amount of research will answer. Spikes are disposable by design. Throw them away once they've paid their debt.
Load this when the user says things like "let me try this", "I want to see if X works", "spike this out", "before I commit to Y", "quick prototype of Z", "is this even possible?", or "compare A vs B".
If `gsd-spike` shows up as a sibling skill (installed via `npx get-shit-done-cc --hermes`), prefer **`gsd-spike`** when the user wants the full GSD workflow: persistent `.planning/spikes/` state, MANIFEST tracking across sessions, Given/When/Then verdict format, and commit patterns that integrate with the rest of GSD. This skill is the lightweight standalone version for users who don't have (or don't want) the full system.
Regardless of scale, every spike follows this loop:
decompose → research → build → verdict
↑__________________________________________↓
iterate on findingsBreak the user's idea into **2-5 independent feasibility questions**. Each question is one spike. Present them as a table with Given/When/Then framing:
| # | Spike | Validates (Given/When/Then) | Risk | |---|-------|----------------------------|------| | 001 | websocket-streaming | Given a WS connection, when LLM streams tokens, then client receives chunks < 100ms | High | | 002a | pdf-parse-pdfjs | Given a multi-page PDF, when parsed with pdfjs, then structured text is extractable | Medium | | 002b | pdf-parse-camelot | Given a multi-page PDF, when parsed with camelot, then structured text is extractable | Medium |
**Spike types:**
**Good spike questions:** specific feasibility with observable output. **Bad spike questions:** too broad, no observable output, or just "read the docs about X".
**Order by risk.** The spike most likely to kill the idea runs first. No point prototyping the easy parts if the hard part doesn't work.
**Skip decomposition** only if the user already knows exactly what they want to spike and says so. Then take their idea as a single spike.
Present the spike table. Ask: "Build all in this order, or adjust?" Let the user drop, reorder, or re-frame before you write any code.
Spikes are not research-free — you research enough to pick the right approach, then you build. Per spike:
1. **Brief it.** 2-3 sentences: what this spike is, why it matters, key risk. 2. **Surface competing approaches** if there's real choice:
| Approach | Tool/Library | Pros | Cons | Status | |----------|-------------|------|------|--------| | ... | ... | ... | ... | maintained / abandoned / beta |
3. **Pick one.** State why. If 2+ are credible, build quick variants within the spike. 4. **Skip research** for pure logic with no external dependencies.
Use Hermes tools for the research step:
For libraries without docs pages, clone and read their `README.md` / `examples/` via `read_file`. Context7 MCP (if the user has it configured) is also a good source — `mcp_*_resolve-library-id` then `mcp_*_query-docs`.
One directory per spike. Keep it standalone.
spikes/
├── 001-websocket-streaming/
│ ├── README.md
│ └── main.py
├── 002a-pdf-parse-pdfjs/
│ ├── README.md
│ └── parse.js
└── 002b-pdf-parse-camelot/
├── README.md
└── parse.py**Bias toward something the user can interact with.** Spikes fail when the only output is a log line that says "it works." The user wants to *feel* the spike working. Default choices, in order of preference:
1. A runnable CLI that takes input and prints observable output 2. A minimal HTML page that demonstrates the behavior 3. A small web server with one endpoint 4. A unit test that exercises the question with recognizable assertions
**Depth over speed.** Never declare "it works" after one happy-path run. Test edge cases. Follow surprising findi
Repo: Prismer-AI/PrismerCloud
Turn a known bug into a tight, red-capable reproducer, then prove the reproducer locks that…
Review a diff against its acceptance criteria in four segments (convention adherence, bug…
Five-dimension design audit (frontend UI/UX · server data-model & flow · endpoint spec ·…
Before merge, mechanize Documentation-First — derive the code delta from git diff, then…
Diagnose the local dev machine before any APC loop step — run apc env doctor, classify each…
Close out a local coding task on the bound daemon — stage, commit, branch, merge, push via…