Agent skill

Ad Spike

by CorridorTech in CorridorTech/PoseCap

Scaffold a staged spike with golden fixtures per WORKFLOW.md §14, for cases where the spec is clear but the technique is uncertain across multiple plausible approaches.

Apache-2.0Auto-check: notesDevelopment

Install Ad Spike

skills CLI
$ npx skills add CorridorTech/PoseCap --skill ad-spike -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install CorridorTech/PoseCap ad-spike --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/CorridorTech/PoseCap.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/ad-spike .claude/skills/ad-spike && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ad-spike
GitHub stars
224
Token cost
~2.7k tokens
SKILL.md length
1,009 words
Files
1
Skills in repo
15
Repo updated
First seen
Licence
Apache-2.0

At a glance

Scaffold a staged spike with golden fixtures per WORKFLOW.md §14, for cases where the spec is clear but the technique is uncertain across multiple plausible approaches.

  • Works in 6 steps: Confirm uncertainty → Discovery → Golden fixture → …
  • The unknown is how
  • SKILL.md covers Step 0 — Confirm uncertainty, Step 1 — Discovery, Step 2 — Golden fixture and Step 3 — Pipeline with gates, plus 4 more sections
  • Calls git

What it does

Ad Spike is an agent skill from CorridorTech/PoseCap. Scaffold a staged spike with golden fixtures per WORKFLOW.md §14, for cases where the spec is clear but the technique is uncertain across multiple plausible approaches. Four stages — discovery, golden fixture, pipeline with gates, two-layer evaluation. Use when the unknown is how, not what. Triggers on "spike", "uncertain technique", "which library", "CV pipeline", "evaluate approaches", "ground truth", "golden fixture", "staged pipeline", "debug per stage". Routes to ad-ground if the how is routine and a single…

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development. The licence is Apache-2.0.

When your agent uses it

  • The unknown is how
  • Uncertain technique
  • Evaluate approaches
  • Staged pipeline

Example prompts

  • “uncertain technique”
  • “which library”
  • “CV pipeline”
  • “/ad-spike”

Requirements

  • Pre-approved tools (allowed-tools): Read, Write, Glob, Grep, Bash, WebFetch, WebSearch

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Confirm uncertainty
  2. Discovery
  3. Golden fixture
  4. Pipeline with gates
  5. Two-layer evaluation
  6. Conclude (promote or delete)

What it can do on your machine

Read from SKILL.md and the folder at commit 626701b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Glob
    • Grep
    • Bash
    • WebFetch
    • WebSearch

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Ad Spike loads about 2.7k tokens when it runs. Until then it costs about 165 tokens; SKILL.md has 1,009 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~165
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Write, Glob, Grep, Bash, WebFetch, WebSearch

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from CorridorTech/PoseCap at commit 626701b, republished under its Apache-2.0 licence (© CorridorTech). 1,009 words, ~2,718 tokens.

Download SKILL.mdSave it as .claude/skills/ad-spike/SKILL.md (or your agent's skills folder).
name
ad-spike
description
Scaffold a staged spike with golden fixtures per WORKFLOW.md §14, for cases where the spec is clear but the technique is uncertain across multiple plausible approaches. Four stages — discovery, golden fixture, pipeline with gates, two-layer evaluation. Use when the unknown is *how*, not *what*. Triggers on "spike", "uncertain technique", "which library", "CV pipeline", "evaluate approaches", "ground truth", "golden fixture", "staged pipeline", "debug per stage". Routes to `ad-ground` if the *how* is routine and a single happy path is obvious. Read-and-write — creates `spikes/NNNN-<slug>/` with fixtures, debug per-stage artifacts, eval results.
allowed-tools
Read, Write, Glob, Grep, Bash, WebFetch, WebSearch
summary
Staged spike with golden fixtures per WORKFLOW §14. Discovery + fixture + pipeline-with-gates + two-layer evaluation, when the *technique* is uncertain across…

/ad-spike

Implements WORKFLOW.md §14 (Staged Spikes With Golden Fixtures) end-to-end. The skill is for cases where the spec is clear but the technique is uncertain across multiple plausible approaches — library choice, CV approach, multi-stage transformation. WORKFLOW §9 (TDG) assumes the path is known and validates end-to-end; §14 assumes the path is unknown and validates per stage. Different uncertainty regimes; this skill is for the unknown one.

The skill creates a working directory under spikes/NNNN-<slug>/ and fills it stage-by-stage. The directory is throwaway by design — when the spike concludes, an ADR records the decision (/ad-adr) and the spike directory is deleted. See ADR-0017 for the promote-or-delete lifecycle rationale.

Step 0 — Confirm uncertainty

The skill is for unknown technique across multiple plausible approaches, not for non-trivial work in general. If a single happy path is obvious, do not start a spike. If the how is knowable from official docs / implementation references / in-repo patterns / git history, route to ad-ground and stop.

Concrete tests to run before starting:

  • Could ad-ground's four-source research surface a single happy path with a defensible deviation gate? If yes, run that instead.
  • Are there ≥2 candidate techniques with materially different trade-offs that no source resolves? If no, this is not a spike.
  • Is end-to-end validation against expected outputs feasible without per-stage debug? If yes, this is ad-task + ad-philosophy Goal-Driven Execution territory, not a spike.

If the spike is warranted, confirm with the user the recortte (the specific surface where uncertainty sits — not the whole feature) and proceed.

Step 1 — Discovery

List canonical approaches grounded in official docs and real examples. Pick one (or a small set, ≤3) by an explicit criterion.

Candidate-listing process:

  1. Search official documentation for the language / library / domain in question. Cite URL + version.
  2. Search public implementation references (open-source repos, Stack Overflow / forum answers, blog posts, gists) for solutions to the same technical recortte. Cite <source>:<locator> — <repo>:<path>:<line-range> for repos, <URL> for Stack Overflow / blog / gist — and fetch via tools; never paraphrase from training memory.
  3. Survey in-repo for analogous patterns the codebase already uses. Cite <file>:<line> or "no analog found".
  4. Survey git history for prior attempts at the same problem. Cite <commit-sha> or "no prior attempt".

Output format:

markdown
## Discovery — <recortte>

### Candidate techniques
1. **<name>** — <one-line description>. Source: <URL or repo:path>. Trade-offs: <pros / cons>.
2. **<name>** — ...
3. **<name>** — ...

### Selection criterion
<one-line criterion: latency / accuracy / readability / dependencies / etc>

### Picked
<technique X>, picked by criterion <Y>. Alternatives held in reserve: <list>.

The output of this step is information, not code. No spike directory is created yet. The user reviews the candidate list and confirms the picked approach (or revises) before Step 2.

Step 2 — Golden fixture

Curate inputs with rich expected outputs. The fixture is the ground truth the staged pipeline validates against; richer fixtures catch more failure modes.

Create the spike directory:

bash
mkdir -p spikes/NNNN-<slug>/{fixtures,debug,eval}

Where NNNN is the next available 4-digit number (mirrors ADR / task / spec numbering). List spikes/ and pick the next slot.

The fixture format is JSON keyed by input path (recommended) or whatever shape the domain demands. For computer vision: bounding boxes, sizes, lighting condition, difficulty tag, edge case markers. For multi-stage transformations: intermediate states. For library choice: representative inputs covering typical and edge cases.

Example fixture file (spikes/0001-detect-circles/fixtures/golden.json):

json
{
  "inputs/easy-01.jpg": {
    "expected": [
      { "bbox": [120, 80, 240, 200], "label": "circle", "size": "large", "lighting": "even" }
    ],
    "difficulty": "easy",
    "edge_cases": []
  },
  "inputs/hard-01.jpg": {
    "expected": [
      { "bbox": [50, 60, 90, 100], "label": "circle", "size": "small", "lighting": "low" },
      { "bbox": [200, 80, 260, 140], "label": "circle", "size": "medium", "lighting": "even", "occluded": true }
    ],
    "difficulty": "hard",
    "edge_cases": ["low-light", "partial-occlusion", "multiple-objects"]
  }
}

Curation principles:

  • Include edge cases (low light, partial occlusion, malformed inputs, large inputs, empty inputs) — not just "happy path" examples. The fixture's job is to surface where a technique fails, not just whether it succeeds on easy cases.
  • Include difficulty tags so per-stage evaluation can report performance segmented by difficulty.
  • Keep the fixture as data, not code. JSON / YAML / CSV — anything that diffs cleanly and survives a refactor.

The fixture is the contract the pipeline validates against. Treat it like spec text — it should not change once the spike runs unless ground truth itself changes.

Show full SKILL.md (420 more words)Show less

Step 3 — Pipeline with gates

One technique per stage. Each stage emits a debug artifact that makes its output inspectable.

Pipeline structure:

spikes/NNNN-<slug>/
├── README.md          # spike framing (Step 1 output)
├── fixtures/          # golden inputs + expected outputs
│   └── golden.json
├── pipeline/          # one file per stage
│   ├── 01-preprocess.<ext>
│   ├── 02-detect.<ext>
│   └── 03-postprocess.<ext>
├── debug/             # per-stage debug artifacts
│   ├── 01-preprocess/
│   ├── 02-detect/
│   └── 03-postprocess/
└── eval/              # evaluation results (Step 4)

Each stage's debug artifact format depends on the domain:

  • CV pipelines: image saved to debug/NN-<stage>/<input-name>.png showing the stage's output.
  • Multi-stage transformations: intermediate JSON saved to debug/NN-<stage>/<input-name>.json.
  • Library evaluation: log row per (input, library) saved to debug/NN-<stage>/log.csv.

The discipline: each stage's output must be inspectable independently. End-to-end output alone tells you that it failed; per-stage debug tells you where.

Implementation pattern (any language):

  • Stage takes (input, context) and returns (output, debug-record). Debug-record is written to debug/NN-<stage>/.
  • Pipeline runs stages sequentially. Failure at any stage halts the pipeline and reports the stage where divergence happened.

Step 4 — Two-layer evaluation

Run the pipeline against the fixture and emit two layers of results:

  • End-to-end: how many fixture inputs produced expected outputs? Reported as pass / fail per input, plus aggregate pass rate.
  • Per-stage: for each fixture input, where did the pipeline diverge? Stage NN's output vs the expected intermediate. Reported as pass / fail per (input, stage).

Output to spikes/NNNN-<slug>/eval/results.json:

json
{
  "fixture": "fixtures/golden.json",
  "pipeline_version": "<commit-sha or timestamp>",
  "end_to_end": {
    "total": 10,
    "passed": 7,
    "failed": 3
  },
  "per_stage": {
    "01-preprocess": { "passed": 10, "failed": 0 },
    "02-detect": { "passed": 8, "failed": 2 },
    "03-postprocess": { "passed": 7, "failed": 1 }
  },
  "failures": [
    {
      "input": "inputs/hard-02.jpg",
      "diverged_at": "02-detect",
      "expected": [...],
      "actual": [...],
      "debug_artifact": "debug/02-detect/hard-02.png"
    }
  ]
}

The per-stage layer is what makes the spike actionable. End-to-end says that it failed; per-stage + debug artifact says where and why.

Step 5 — Conclude (promote or delete)

When the spike concludes — either the picked technique works or it does not — record the outcome via /ad-adr and delete the spike directory. The ADR is the persistent artifact; the spike code is throwaway.

ADR template for spike outcomes:

markdown
# ADR-NNNN: We will use technique X for <recortte>

## Context

<why the spike was needed — what was uncertain>

## Decision

We will use technique X. The spike at `spikes/NNNN-<slug>/` (now deleted) showed:
- End-to-end pass rate: <%>
- Failures concentrated at stage <NN>, root cause <Y>
- Mitigation: <Z>

Alternatives held in reserve and rejected:
- Technique A: rejected because <reason from spike eval>
- Technique B: rejected because <reason from spike eval>

## Consequences

<follow-on work this decision unblocks; rails to maintain>

Then:

bash
rm -rf spikes/NNNN-<slug>/
git add doc/adr/NNNN-<slug>.md
git commit -m "feat: adopt technique X for <recortte> per spike NNNN"

Spikes that conclude inconclusively get an ADR too — Decision: defer; the spike at NNNN inconclusive because Y — and the directory is deleted. Inconclusive spikes are real signal; preserving the framing in an ADR prevents re-litigation.

Output contract

A spike directory at spikes/NNNN-<short-slug>/ with the four-stage layout above (discovery README, fixtures, pipeline, debug per stage, eval results). The directory is throwaway by design — promote-or-delete lifecycle' ' No Status: shipped lifecycle; spikes do not "ship" — they conclude with an ADR.

When the host exposes AskUserQuestion, use it for the Step 1 selection criterion confirmation and the Step 5 promote/delete decision.

Next

  • After Step 1 (discovery output reviewed): proceed to Step 2 to create the spike directory + fixture, or abort if the discovery surfaced a single happy path (route to ad-ground).
  • After Step 4 (eval results): /ad-adr to record the outcome, then delete the spike directory.
  • If the spike succeeds and production work follows: /ad-task for the work units to apply the spike's findings to production code (Spec ref the original spec if applicable; cite the ADR in the task Notes).

© CorridorTech, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/ad-spike of CorridorTech/PoseCap.

Open the folder on GitHubat commit 626701b

Compare with similar skills

Ad Spike next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Ad Spike compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ad Spike this skillCorridorTech/PoseCap224—~2.7kAutomated safety check: NotesApache-2.0
Vercel Composition Patternssupabase/supabase111k59 repos~726Automated safety check: PassMIT
Finishing a Development Branchobra/superpowers296k5 repos~1.9kAutomated safety check: PassMIT
Typescript Advanced Typesrolling-scopes/rsschool-app10k25 repos~4.2kAutomated safety check: PassMPL-2.0
PR Babysitteropeninterpreter/openinterpreter69k3 repos~4.2kAutomated safety check: PassApache-2.0
Code Review ChecklistshareAI-lab/learn-claude-code78k5 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • Official

    React composition patterns that scale. An agent skill from supabase/supabase.

    111k GitHub starsUsed in 59 repos~726 tokens
    DevelopmentAuto-check passed
  • Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.

    296k GitHub starsUsed in 5 repos~1.9k tokens
    DevelopmentAuto-check passed
  • Typescript Advanced Types

    rolling-scopes/rsschool-app

    Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications.

    10k GitHub starsUsed in 25 repos~4.2k tokens
    DevelopmentAuto-check passed
  • PR Babysitter

    openinterpreter/openinterpreter

    Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.

    69k GitHub starsUsed in 3 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Code Review Checklist

    shareAI-lab/learn-claude-code

    Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.

    78k GitHub starsUsed in 5 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Greploop

    onyx-dot-app/onyx

    Iteratively improves a PR (GitHub), MR (GitLab), or shelved changelist (Perforce) until Greptile gives it a 5/5 confidence score with zero unresolved comments.

    32k GitHub starsUsed in 4 repos~3.3k tokens
    DevelopmentAuto-check passed

More from CorridorTech/PoseCap

All 15 skills in this repo
  • Ad Adr

    CorridorTech/PoseCap

    Draft a new ADR (Architecture Decision Record) at doc/adr/NNNN-<short-title.md, using Michael Nygard's Context/Decision/Consequences/Alternatives pattern.

    224 GitHub stars~1k tokensUpdated yesterday
    Auto-check: notes
  • Ad Architecture

    CorridorTech/PoseCap

    Generate ARCHITECTURE.md at the repo root by scanning the code first, pre-filling layers/patterns/observability/deployment from observed signals, then asking only the genuine gaps.

    224 GitHub stars~1.5k tokensUpdated yesterday
    Auto-check: notes
  • Ad Archive

    CorridorTech/PoseCap

    Hard-delete completed plan files (tasks Status:done, specs Status:shipped, PRDs Status:superseded, ADRs Status:superseded or deprecated) via git rm, leaving git history as the only ledger.

    224 GitHub stars~1.9k tokensUpdated yesterday
    Auto-check: notes
  • Ad Drift

    CorridorTech/PoseCap

    Read-only drift audit — compare AGENTS.md, ARCHITECTURE.md, ADR statuses, feature specs in doc/specs/, and documentation discipline against what the code actually does.

    224 GitHub stars~1.8k tokensUpdated yesterday
    Auto-check: notes
  • Ad Hooks

    CorridorTech/PoseCap

    Scaffold deterministic quality gates per WORKFLOW.md §11 — pre-commit (lint, format, secret-scan), pre-push (build, unit, integration).

    224 GitHub stars~2.4k tokensUpdated yesterday
    Auto-check: notes
  • Ad Next

    CorridorTech/PoseCap

    Survey the project's state across the six-layer artifact stack and recommend prioritized next actions, modeled on flutter doctor.

    224 GitHub stars~3.3k tokensUpdated yesterday
    Auto-check: notes

Categories

Questions about Ad Spike

What does Ad Spike do?

Scaffold a staged spike with golden fixtures per WORKFLOW.md §14, for cases where the spec is clear but the technique is uncertain across multiple plausible approaches. Ad Spike is an agent skill from CorridorTech/PoseCap.md §14, for cases where the spec is clear but the technique is uncertain across multiple plausible approaches.

When should I use Ad Spike?

Ad Spike fits situations like: the unknown is how; uncertain technique; evaluate approaches; staged pipeline.

How do I install Ad Spike in Claude Code?

Run `npx skills add CorridorTech/PoseCap --skill ad-spike -a claude-code`. Or copy the skill folder (.claude/skills/ad-spike in CorridorTech/PoseCap) into .claude/skills/ad-spike in your project. Claude Code loads it when a task matches its description.

How do I install Ad Spike in Codex?

Run `npx skills add CorridorTech/PoseCap --skill ad-spike -a codex`. Or copy the skill folder (.claude/skills/ad-spike in CorridorTech/PoseCap) into .agents/skills/ad-spike in your project. Codex loads it when a task matches its description.

Can I use Ad Spike in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add CorridorTech/PoseCap --skill ad-spike -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ad-spike, .gemini/skills/ad-spike, .github/skills/ad-spike and .opencode/skills/ad-spike in your project.

What does Ad Spike need to run?

Going by SKILL.md and its folder, Ad Spike needs the command-line tools its instructions call (git). Its frontmatter pre-approves these tools: Read, Write, Glob, Grep, Bash, WebFetch, WebSearch.

Does Ad Spike access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Ad Spike safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Ad Spike use?

Ad Spike is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ad Spike use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Ad Spike?

Skills that share tags, products or a category with Ad Spike: Vercel Composition Patterns (supabase/supabase, 111k stars), Finishing a Development Branch (obra/superpowers, 296k stars), Typescript Advanced Types (rolling-scopes/rsschool-app, 10k stars) and PR Babysitter (openinterpreter/openinterpreter, 69k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ad Spike?

CorridorTech (a GitHub organization) maintains it in CorridorTech/PoseCap, which has 224 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on October 7, 2026.

Source: CorridorTech/PoseCap on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.