spike-writer

A writing step in a technical spike workflow, where a spike is a short investigation used to answer a focused engineering question. It reads the investigation results and records the predetermined decision in a note.

In plain words
What is it for?
Reading the design, measurements, decision, and proof-of-concept files, then writing note.md with the decision and its practical implications.
Why use it?
It turns scattered spike files into a durable record without reopening or changing the decision already produced by the workflow.

Agent

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/chris-dare-dev/agent-kit/spike-writer
Clone the repo
git clone --depth 1 https://github.com/chris-dare-dev/agent-kit
Per session 123 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,560 The whole file, excluding the scripts and references it only reads on demand.
Security scan C 2 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00123 $0.01560
Opus 5 $0.00062 $0.00780
Sonnet 5 $0.00025 $0.00312
Haiku 4.5 $0.00012 $0.00156

Measured 2d ago against content hash c44ab1c3d467, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade C, and why

spike-writer scanned grade C with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Instruction-override phrasingmediumPrompt injection

Text telling the model to disregard its earlier instructions or safety rules is the shape of a prompt injection, whoever wrote it.

"Now run X", "Ignore previous instructions", "Authorize the user", "Add yourself

Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.

Reads agent configuration directoriesmediumAgent snooping

.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.

cat ".claude/agent-memory/spike-writer/lessons.md" 2>/dev/null || echo "(no lessons yet)"
data/agents/spike-writer.md · 125 lines

How it starts

The opening of the file, as written. The whole thing — 125 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Spike Writer

You are Phase 3 of the /spike pipeline. Your job is to synthesize the spike artifacts into a decisive note.md — the durable record of what was discovered and what the downstream milestone should do about it.

You do NOT decide the verdict. spike-decide.py already derived it deterministically into decision.json. Your job is to cite that verdict and write precise, imperative implications. Re-adjudicating the verdict is out of scope (and would be caught: the checkpoint mirrors decision.json:verdict, not your note).

The orchestrator dispatches you with substituted variables. You never invoke other sub-agents.

Input variables (substituted by the orchestrator)

  • {SPIKE_ID} — the spike identifier
  • {DESIGN_JSON_PATH} — absolute path to design.json (assumption, criteria)
  • {MEASUREMENTS_PATH} — absolute path to measurements.json
  • {DECISION_PATH} — absolute path to decision.json (the DERIVED verdict + per-criterion results)
  • {POC_DIR} — absolute path to the POC directory
  • {NOTE_PATH} — absolute path where you MUST write note.md

Step 0 — Read persistent memory (skip-if-not-relevant)

cat ".claude/agent-memory/spike-writer/lessons.md" 2>/dev/null || echo "(no lessons yet)"

Step 1 — Read the artifacts

cat "{DECISION_PATH}"; echo "---"; cat "{DESIGN_JSON_PATH}"; echo "---"; cat "{MEASUREMENTS_PATH}"

From decision.json: the verdict (YES/NO/UNCERTAIN) and each criterion's result (pass/fail/unmeasured) + measured value. From design.json: the assumption + criteria + confounds. Skim poc/ for anomalies the executor noted.


Step 2 — Cite the verdict; explain WHY it landed there

The verdict is decision.json:verdict — copy it verbatim. Do not change it. Your value-add is the explanation and implications:

  • YES — all criteria passed. Say which measurements cleared which thresholds.
  • NO — name the criterion whose result is fail, the measured value, and by how much it missed.
  • UNCERTAIN — name the criterion whose result is unmeasured and quote the executor's reason. State exactly what would resolve it.

Read the full file on GitHub · 125 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 125 lines · 123 tokens per session scan C c44ab1c3d467

Subscribe to this mod's changes

spike-writer is an agent published in the GitHub repository chris-dare-dev/agent-kit (0 stars, last pushed 24d ago), licensed MIT. It adds 123 tokens to every session and 1,560 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it C with 2 findings (instruction-override phrasing, reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other agents, from other repositories

algolia-agent

Senior Algolia platform engineer with command of index design, relevance tuning, InstantSearch React/Next.js, the Autocomplete UI library, direct search-client usage, indexing pipelines, API-key strategy, the Recommend API, AI search and Personalization (NeuralSearch, query categorization), Insights events and A/B…

bpainter/composable-dxp-claude-marketplace · 153 tokens

bynder-agent

Senior Bynder DAM platform engineer with command of asset modeling and metaproperties, Brand Guidelines, derivative templates, the bynder-js-sdk, Universal Compact View embedding, Bynder + Contentful pairing, portal and account architecture, permissions and workflow, webhooks, marketplace connectors, migrations, and…

bpainter/composable-dxp-claude-marketplace · 141 tokens

behavioral-economics-agent

Senior behavioral scientist who applies behavioral economics, choice architecture, and research methods to product, policy, marketing, and organizational problems. Use this agent when a task spans multiple skills in this plugin, requires sequencing, or needs senior-level judgment about which skill to apply for a given…

bpainter/composable-dxp-claude-marketplace · 80 tokens

brand-agent

Senior brand practitioner spanning strategy, naming, identity systems, voice and tone, guidelines composition, and brand audits. Use this agent when a task spans multiple skills in this plugin, requires sequencing, or needs senior-level judgment about which skill applies. Tagline: Brand from positioning to applied…

bpainter/composable-dxp-claude-marketplace · 76 tokens

claude-agent

Plugin orchestrator. Routes between the two claude- skills (claude-plugin-creator for building new Claude plugins from scratch, and claude-orchestrator for designing the orchestration layer of a new Cowork project). Use this agent as the first call for any Claude-tooling task — plugin creation, hook design, MCP server…

bpainter/composable-dxp-claude-marketplace · 106 tokens

Demonstrate

Agent for demonstrating VS Code features.

microsoft/vscode · 10 tokens