Skip to content
Agentmart
Submit a tool

spec

Turn a feature, idea or behaviour change into a written spec by finding the gaps and asking about them instead of guessing.

Skill by Banksy-said-hi

IndexedMIT
Write a review

Chalk Labs

Need help deploying spec?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/banksy-said-hi-spec

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Turn a feature, idea or behaviour change into a written spec by finding the gaps and asking about them instead of guessing. Use when the owner describes something new to build or change (before planning or editing code), when the spec gate denies an edit, or when the user types /spec.

Use cases: writing

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/spec

What's inside

Skill name
spec
Description
Turn a feature, idea or behaviour change into a written spec by finding the gaps and asking about them instead of guessing. Use when the owner describes something new to build or change (before planning or editing code), when the spec gate denies an edit, or when the user types /spec.
License
MIT
Instructions
146 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (3)

  • SKILL.md
  • gate.py · hooks/
  • remind.py · hooks/

SKILL.md (first lines)

# /spec: find the gaps, ask, write it down

The rule: **nothing the owner did not say and the code does not show goes into the build silently.** Each gap
ends up in one of three places: answered by the code, asked as a question, or listed as an assumption the owner sees
before the spec is ready. Specs live in the repo at `docs/specs/<slug>.md`. A hook (`hooks/gate.py`) denies code
edits and leaving plan mode in a git repo until the current branch has a spec with `status: ready` and no open markers.

## 0. Triage (one line to the owner)

| Kind | Signs | Path |
|---|---|---|
| **Small** | typo, copy, one-line fix, rename, dependency bump, a change the owner fully specified | Write a small spec (§6), continue at once. No questions. |
| **Bug** | something worked and broke | Small spec naming the symptom and how it will be verified; ask only if the expected behaviour is unclear. |
| **Feature** | new behaviour, new screen, new flow, a change to rules, money, data or permissions | §1–§5 in full. |
| **Idea** | "should we…", "what if…", unclear whether it is worth building | §1–§5, and the spec ends with a verdict: **go / clarify / stop**, with the reason. Stopping is a good outcome. |

When unsure between small and feature, treat it as a feature.

## 1. Read before asking

Answer from the repo everything it can answer: what exists, what is half-built, what the code assumes, open issues
and milestones (`gh issue list`), the project's CLAUDE.md and decision records. Never ask the owner what `grep` can
tell. Record findings in the spec's **Today** section with `file:line` references.

## 2. Scan for gaps

Mark each category **Clear / Partial / Missing** (internally; show the table only in the final report):

- **Outcome**: who it is for, the problem, what "done" looks like, how it is measured, what is out of scope
- **Actors and roles**: who can do what; who owns the result when something goes wrong
- **Flow**: the main path step by step; empty, loading, error and cancel states
- **Data and life cycle**: entities, identity, states and transitions, retention and deletion
- **Money** (if any): who pays, how much, fees, rounding, currency, refunds, failed and partial payments
- **Identity and access**: sign-in or not, how a person is recognised, abuse and spam
- **Outside services**: each one's failure modes, cost per use, limits, test vs live
- **Privacy and law**: personal data, consent, retention, regulated activity, terms
- **Platforms**: devices, browsers, in-app browsers, channels (web, Telegram, WhatsApp…)
- **Edge cases**: concurrency, duplicates, timeouts, retries, people who never respond
- **Fit**: current milestone or focus rule, what it depends on, what it blocks, what gets slower or riskier
- **Terms**: words used two ways; vague adjectives ("fast", "simple") with no number

Then read `docs/specs/CHECKS.md` in the repo if it exists: the project's own questions (its money rules, laws,
platforms). They count as categories too.

## 3. Ask

- Only ask what **changes the build, the tests, the cost or the risk**. Rank by impact × uncertainty.
- Use **AskUserQuestion**: up to 4 questions per round, **at most 2 rounds**. Each question is a full sentence ending
  in `?`; 2–4 options; the **recommended option first, labelled "(Recommended)"**, its description saying why;
  every option's description says what it means for the build.
- Before the round, give the owner a few lines: what the code already answers, and blockers found (things that stop
  the feature whatever is chosen, e.g. a missing legal opinion or a dependency not done).
- Anything not asked becomes an **assumption** with a reason, never a silent choice.
- The owner may say "skip", "your call" or pick Other: record exactly that.

## 4. Write the spec

`docs/specs/<slug>.md`, kebab-case slug. Plain words, the project's own style.

```markdown
---
status: draft            # draft → ready → done
kind: feature            # feature | idea | bug | small
branch: <git branch the work happens on>
issue: <#number or empty>
created: <YYYY-MM-DD>
---
# <Title>

## Why
<the problem, for whom, in two to four sentences>

## Today
<what the code already has and what it lacks, with file:line>

## Success criteria (done means)
1. <observable, testable, numbered; Given / When / Then where it helps>

## Out of scope
- <what this does not do>

## Flow
<the main path step by step; then the error, empty and cancel paths>

## Rules
- R1 <a rule the code must follow>

## Blockers and risks
- <thing>: <why it matters> → <what unblocks it>

## Decisions
- <date> Q: <question> → A: <answer>

## Assumptions
- A1 <assumed>: <why this default>     ← the owner confirms these before ready

## Open
- [NEEDS CLARIFICATION: <question>]   ← none may remain at ready

## Verdict (ideas only)
go | clarify | stop: <reason>
```

Write the draft with a `[NEEDS CLARIFICATION: …]` marker for every open question **before** asking, so the file
always shows what is unknown. After each answer, update the affected sections, add a **Decisions** line, and delete
the marker. Leave no contradicting old text.

## 5. Ready

1. Show the owner the **Assumptions** list and the blockers (short). Ask: "These are my assumptions; correct any?"
2. When the owner agrees and no `[NEEDS CLARIFICATION` remains, set `status: ready`. **Only the owner's agreement
   makes a spec ready**; never set it to get past the gate.
3. Then plan (plan mode, issues on the project board) from the spec, not from memory of the conversation.
4. Offer to commit the spec with the work. Pushing follows the project's own rules.

## 6. Small spec

```markdown
---

From Banksy-said-hi/claude-skills, MIT.

More from Banksy-said-hi/claude-skills

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Oct 3, 2026 (28 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from Banksy-said-hi

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get spec running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying spec?

CallGet help
Cite this page

spec skill. Agent Mart. https://agentmart.dev/skills/banksy-said-hi-spec (last updated 2026-10-24)