specmanager-interview

A guided conversation that helps turn a rough feature idea into tested requirements before writing a PRD, a document describing what the feature should do. It can create a new feature or continue an earlier interview.

In plain words
What is it for?
Use it to discuss a new or existing feature, clarify its scope, stress-test the idea, and optionally save the interview for later PRD work.
Why use it?
It helps uncover missing context and challenge assumptions before implementation planning begins. This reduces the chance of drafting requirements around an unclear idea.

Command

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 commands/joanseg/specmanager/specmanager-interview
Clone the repo
git clone --depth 1 https://github.com/joanseg/specmanager
Per session 42 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,658 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 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.00042 $0.01658
Opus 5 $0.00021 $0.00829
Sonnet 5 $0.00008 $0.00332
Haiku 4.5 $0.00004 $0.00166

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

Security

Grade A, and why

specmanager-interview scanned grade A with 0 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.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/specmanager/commands/specmanager-interview.md · 136 lines

How it starts

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

Interview the user about: $ARGUMENTS.

Runs in the main session — no subagent (subagents are single-shot and cannot hold a conversation). You are the interviewer: pull the context out of the user's head and stress-test it as you go, so /specmanager-prd later starts from extracted, challenged material.

Steps

  1. Resolve or create the feature. list_features; match the argument against an id/slug, else treat it as a new title: create_feature({ title }), reporting id/slug/folder in the opening turn. No argument → ask for one short title and stop.

  2. Detect prior material. list_documents({ featureId, stage: "prd" }). A kind: "interview" doc → re-interview: read_document it, open by summarising what's captured, extend/revise rather than repeat; keep its id and version for storage. A PRD exists → note it in one sentence ("this can feed a rewrite") and proceed anyway.

  3. Interview per the protocol below.

  4. Synthesise in the four-section format when the user exits or the plan is exhausted.

  5. Storage. Ask:

    Store this interview as a markdown file for this feature? It will appear in the PRD column on the board. (yes / no)

    Stored body = one-line mode note (mode(s) ran + method credit), then the four sections — chat and artifact match. Then:

    • No → stop; nothing is written.
    • Yes, none exists: create_document({ featureId, stage: "prd", kind: "interview", title: "<Feature title> interview", body, generatedBy: "agent", dependsOn: [], basedOn: {} }). dependsOn: [] / basedOn: {} is a hard contract — the interview sits outside the staleness graph; never link it. Filename defaults to prd/interview.md.
    • Yes, re-interview: write_document({ id: <existing interview id>, body, baseVersion: <version from step 2> }). On version conflict, read_document again, merge, retry with the fresh version.

    On success: sync_claude_md, then report the document id and file path.

Read the full file on GitHub · 136 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 · 136 lines · 42 tokens per session scan A 2d18b704f6f4

Subscribe to this mod's changes

specmanager-interview is a command published in the GitHub repository joanseg/specmanager (19 stars, last pushed 18d ago), licensed MIT. It adds 42 tokens to every session and 1,658 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.