Agent skill

Requirements Elicitation

by mtarcure in mtarcure/claude-vibe-squad

A skill your agent uses when an operator or stakeholder request is too vague or conflicting to convert directly into testable scope: ask a bounded question ladder, label assumptions DEFAULT or…

MITAuto-check passedAgent Workflows

Install Requirements Elicitation

skills CLI
$ npx skills add mtarcure/claude-vibe-squad --skill requirements-elicitation -a claude-code

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

GitHub CLI
$ gh skill install mtarcure/claude-vibe-squad requirements-elicitation --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/mtarcure/claude-vibe-squad.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/requirements-elicitation .claude/skills/requirements-elicitation && 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
requirements-elicitation
GitHub stars
164
Token cost
~1.5k tokens
SKILL.md length
801 words
Files
1
Skills in repo
17
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when an operator or stakeholder request is too vague or conflicting to convert directly into testable scope: ask a bounded question ladder, label assumptions DEFAULT or…

  • Works in 8 steps: Restate the ask as one sentence of… → Climb the question ladder, one rung per… → Surface assumptions instead of silently… → …
  • Stakeholder request is too vague
  • SKILL.md covers When to use, Inputs, Steps and Outputs, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Requirements Elicitation is an agent skill from mtarcure/claude-vibe-squad. Use when an operator or stakeholder request is too vague or conflicting to convert directly into testable scope: ask a bounded question ladder, label assumptions DEFAULT or BLOCKING, turn adjectives into measurable outcomes, and confirm IN and OUT boundaries plus verification methods before decomposition.

Its SKILL.md is about 1.5k 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 Agent Workflows. The repository describes itself as: Multi-model AI orchestration where behaviour is Markdown, not code. One coordinator routes scoped task packets to 71 role-based specialists across 5 model families (Codex /… The licence is MIT.

When your agent uses it

  • Stakeholder request is too vague
  • Conflicting to convert directly into testable scope: ask a bounded question ladder
  • Label assumptions DEFAULT
  • Turn adjectives into measurable outcomes

Example prompts

  • “/requirements-elicitation”

Workflow steps

8 steps, taken from the first numbered list in SKILL.md.

  1. Restate the ask as one sentence of observable outcome from the operator's perspective. If you cannot, that gap is your first question — do…
  2. Climb the question ladder, one rung per gap: goal (what does success look like; what breaks if this doesn't happen), actors (who uses it…
  3. Surface assumptions instead of silently making them. Write each one down marked DEFAULT ("proceeding with this unless corrected") or…
  4. Convert every requirement to testable form: an observable behavior plus a measurable threshold. Rewrite each quality adjective — fast…
  5. Hunt the requirement classes operators reliably omit: error paths, empty/zero/first-run states, permissions and roles, concurrent use…
  6. Frame acceptance criteria as checkable outcomes, each naming its verification method — a test, a command, an observation. "Criterion…
  7. State negative scope item by item: OUT means named exclusions, not silence. Every named exclusion is a scope-creep argument that never has…
  8. Play the requirements back for confirmation. A requirement the operator has not confirmed is still an assumption — record sign-off, or…

What it can do on your machine

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

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

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

  • Network

    No URLs in SKILL.md.

    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

Requirements Elicitation loads about 1.5k tokens when it runs. Until then it costs about 83 tokens; SKILL.md has 801 words of instructions outside code blocks.

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

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 passed

The automated check found no risky patterns in SKILL.md.

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 mtarcure/claude-vibe-squad at commit 7bd69f8, republished under its MIT licence (© mtarcure). 801 words, ~1,503 tokens.

Download SKILL.mdSave it as .claude/skills/requirements-elicitation/SKILL.md (or your agent's skills folder).
name
requirements-elicitation
description
Use when an operator or stakeholder request is too vague or conflicting to convert directly into testable scope: ask a bounded question ladder, label assumptions DEFAULT or BLOCKING, turn adjectives into measurable outcomes, and confirm IN and OUT boundaries plus verification methods before decomposition.
audience
specialist

Requirements Elicitation

Turn a vague operator ask into requirements that are observable, testable, and confirmed — surfacing every silent assumption as either a stated default or a blocking question before any scope is cut.

When to use

  • The ask is goal-shaped but fuzzy ("build X", "make Y better", "add support for Z") and would otherwise go straight to design.
  • Stakeholder statements conflict, or the "done" condition is unstated.
  • Before scope-decomposition: decomposition of an unelicited ask bakes the wrong goal into every slice.

Inputs

  • The operator's stated goal, verbatim, plus any constraints already given (deadline, stack, dependencies, budget).
  • Existing context: what already exists, what must not change, prior decisions on record.

Steps

  1. Restate the ask as one sentence of observable outcome from the operator's perspective. If you cannot, that gap is your first question — do not paper over it with a plausible guess.
  2. Climb the question ladder, one rung per gap: goal (what does success look like; what breaks if this doesn't happen), actors (who uses it, who operates it), scope edge (what is explicitly out), constraints (stack, deadline, dependencies, budget), acceptance (how will you check it's done). Ask 2–3 targeted questions per round, batched — a drip of single questions stalls the task; an interrogation of twenty exhausts the operator.
  3. Surface assumptions instead of silently making them. Write each one down marked DEFAULT ("proceeding with this unless corrected") or BLOCKING ("cannot proceed without an answer"). Defaults keep momentum; blockers justify a blocked status. An assumption that never got written down is the one that sinks the build.
  4. Convert every requirement to testable form: an observable behavior plus a measurable threshold. Rewrite each quality adjective — fast, robust, clean, simple, secure — into a number or a checkable condition ("p95 under 200ms on the current dataset", "restart resumes without data loss"). An adjective that survives into the requirements is a future dispute.
  5. Hunt the requirement classes operators reliably omit: error paths, empty/zero/first-run states, permissions and roles, concurrent use, migration of existing data, rollback, non-functional bounds (performance, cost), and operational reality (who runs it, where it logs, who gets paged).
  6. Frame acceptance criteria as checkable outcomes, each naming its verification method — a test, a command, an observation. "Criterion passes when <check> shows <result>" is the shape; a criterion no one can run is a wish.
  7. State negative scope item by item: OUT means named exclusions, not silence. Every named exclusion is a scope-creep argument that never has to happen.
  8. Play the requirements back for confirmation. A requirement the operator has not confirmed is still an assumption — record sign-off, or record the DEFAULT and move on. If two stakeholder statements genuinely conflict, surface the tradeoff with both options and their costs; never average them into something nobody asked for.

Outputs

  • A requirements document: goal (one paragraph, operator's perspective), IN/OUT scope lists, acceptance criteria with verification methods, constraints, done-definition.
  • The assumption log: every DEFAULT and every BLOCKING question, with resolutions as they land.
Show full SKILL.md (308 more words)Show less

Failure modes

  • Interrogation stall — endless clarifying rounds instead of DEFAULT-marked assumptions; elicitation is meant to converge in one to two rounds.
  • Solutioning during elicitation — recording "use Postgres" when the requirement was durability; capture the need, leave design to the architect.
  • Surviving adjectives — "should be fast" reaching the criteria list untested and unmeasurable.
  • Averaged conflicts — merging contradictory stakeholder asks into a middle thing instead of escalating the tradeoff.
  • Positive-only scope — nothing named OUT, so every later "obviously that was included" succeeds.
  • Phantom confirmation — treating your own restatement as agreed because nobody objected to what nobody read.

Worked example

Ask: "make the dashboard faster." Restated outcome: "the ops dashboard becomes responsive enough that the on-call engineer stops opening raw logs instead." Ladder round one: which page and which percentile ("initial load of the incident view; it's the p95 that hurts"), what threshold counts as fixed ("under 2s on the office connection"), what's out ("don't touch the admin views"). Assumptions logged: DEFAULT — current data volume is representative; BLOCKING — none. Adjective conversion: "faster" → "incident view p95 initial load < 2s at current data volume, measured by the existing synthetic check". Omitted-class sweep adds two requirements the operator confirms: the empty state (no incidents) must not regress, and the fix must not raise infra cost. OUT: admin views, historical-data archive page, any visual redesign. Acceptance: synthetic-check p95 < 2s for seven consecutive days; empty-state render test passes; infra cost delta ≤ 0. Played back; operator confirms; decomposition starts from a goal that is now checkable.

Acceptance

  • The goal is restated as an observable outcome and confirmed, or the blocking gap is escalated rather than guessed.
  • Every silent assumption is written down as DEFAULT or BLOCKING; no unlogged assumptions.
  • No quality adjective survives without a measurable or observable form.
  • Every acceptance criterion names its verification method.
  • Scope has named exclusions; conflicts were surfaced as tradeoffs, never averaged.

© mtarcure, MIT. 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 .agents/skills/requirements-elicitation of mtarcure/claude-vibe-squad.

Open the folder on GitHubat commit 7bd69f8

Compare with similar skills

Requirements Elicitation 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.

Requirements Elicitation compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Requirements Elicitation this skillmtarcure/claude-vibe-squad164—~1.5kAutomated safety check: PassMIT
MCP Server Builderanthropics/skills180k63 repos~2.3kAutomated safety check: PassApache-2.0
Hook Development for Claude Code Pluginsanthropics/claude-plugins-official38k10 repos~4.1kAutomated safety check: NotesApache-2.0
Using Superpowersfarm-fe/farm5.6k35 repos~1.4kAutomated safety check: PassMIT
Executing Plans Inlineobra/superpowers297k2 repos~5.1kAutomated safety check: PassMIT
Skill CreatorAzure/azqr79589 repos~8.2kAutomated safety check: PassApache-2.0

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 63 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • Hook Development for Claude Code Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart.

    38k GitHub starsUsed in 10 repos~4.1k tokens
    Agent WorkflowsAuto-check: notes
  • Using Superpowers

    farm-fe/farm

    A skill your agent uses when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions

    5.6k GitHub starsUsed in 35 repos~1.4k tokens
    Agent WorkflowsAuto-check passed
  • Executing Plans Inline

    obra/superpowers

    Has the agent carry out an implementation plan itself, task by task in the current session, keeping a ledger, proving each step with a test and ending with one whole-branch review.

    297k GitHub starsUsed in 2 repos~5.1k tokens
    Agent WorkflowsAuto-check passed
  • Skill Creator

    Azure/azqr

    Official

    Create new skills, modify and improve existing skills, and measure skill performance.

    795 GitHub starsUsed in 89 repos~8.2k tokens
    Agent WorkflowsAuto-check passed
  • Claude Code Agent Development

    anthropics/claude-plugins-official

    Official

    Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.

    38k GitHub starsUsed in 7 repos~2.8k tokens
    Agent WorkflowsAuto-check passed

More from mtarcure/claude-vibe-squad

All 17 skills in this repo
  • Systematic Attacking

    mtarcure/claude-vibe-squad

    A skill your agent uses for ALL authorized offensive-security / bug-bounty work — the single method to find, chain, prove, dedup, and package the highest-value (High/Critical) findings across every…

    164 GitHub stars~3.6k tokensUpdated 18 days ago
    Auto-check passed
  • Blind Rediscovery

    mtarcure/claude-vibe-squad

    Operational checklist + helper for blind-rediscovery fan-out work.

    164 GitHub stars~1.6k tokensUpdated 18 days ago
    Auto-check passed
  • Chain Construct Smart Contract

    mtarcure/claude-vibe-squad

    A skill your agent uses when you have a confirmed on-chain vulnerability hypothesis and must demonstrate it with a passing proof-of-concept — author an attacker contract or crafted instruction…

    164 GitHub stars~1.5k tokensUpdated 18 days ago
    Auto-check passed
  • Compact Now

    mtarcure/claude-vibe-squad

    Operator-triggered proactive compaction — Chrono externalizes load-bearing state (active decisions, open tasks, next action) to a snapshot + a durable Vault learning note before invoking Claude…

    164 GitHub stars~1.6k tokensUpdated 18 days ago
    Auto-check passed
  • Agent Prompt Engineering

    mtarcure/claude-vibe-squad

    A skill your agent uses when building or revising the system prompt for a product agent and you need an eval-backed boundary, tool-use, grounding, and output contract.

    164 GitHub stars~872 tokensUpdated 18 days ago
    Auto-check: warnings
  • Defi Invariant Check

    mtarcure/claude-vibe-squad

    A skill your agent uses when the audit target is a DeFi protocol — AMM, lending market, yield vault, stablecoin, or perps — and you must author the economic properties generic campaigns miss, such…

    164 GitHub stars~2.5k tokensUpdated 18 days ago
    Auto-check passed

Categories

Questions about Requirements Elicitation

What does Requirements Elicitation do?

A skill your agent uses when an operator or stakeholder request is too vague or conflicting to convert directly into testable scope: ask a bounded question ladder, label assumptions DEFAULT or…. Requirements Elicitation is an agent skill from mtarcure/claude-vibe-squad. Use when an operator or stakeholder request is too vague or conflicting to convert directly into testable scope: ask a bounded question ladder, label assumptions DEFAULT or BLOCKING, turn adjectives into measurable outcomes, and confirm IN and OUT boundaries plus verification methods before decomposition.

When should I use Requirements Elicitation?

Requirements Elicitation fits situations like: stakeholder request is too vague; conflicting to convert directly into testable scope: ask a bounded question ladder; label assumptions DEFAULT; turn adjectives into measurable outcomes.

How do I install Requirements Elicitation in Claude Code?

Run `npx skills add mtarcure/claude-vibe-squad --skill requirements-elicitation -a claude-code`. Or copy the skill folder (.agents/skills/requirements-elicitation in mtarcure/claude-vibe-squad) into .claude/skills/requirements-elicitation in your project. Claude Code loads it when a task matches its description.

How do I install Requirements Elicitation in Codex?

Run `npx skills add mtarcure/claude-vibe-squad --skill requirements-elicitation -a codex`. Or copy the skill folder (.agents/skills/requirements-elicitation in mtarcure/claude-vibe-squad) into .agents/skills/requirements-elicitation in your project. Codex loads it when a task matches its description.

Can I use Requirements Elicitation 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 mtarcure/claude-vibe-squad --skill requirements-elicitation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/requirements-elicitation, .gemini/skills/requirements-elicitation, .github/skills/requirements-elicitation and .opencode/skills/requirements-elicitation in your project.

What does Requirements Elicitation need to run?

SKILL.md names no scripts, command-line tools or credentials: Requirements Elicitation is instructions for the agent only.

Does Requirements Elicitation access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Requirements Elicitation safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Requirements Elicitation use?

Requirements Elicitation is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Requirements Elicitation use?

About 1.5k tokens (SKILL.md is roughly 6k 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 Requirements Elicitation?

Skills that share tags, products or a category with Requirements Elicitation: MCP Server Builder (anthropics/skills, 180k stars), Hook Development for Claude Code Plugins (anthropics/claude-plugins-official, 38k stars), Using Superpowers (farm-fe/farm, 5.6k stars) and Executing Plans Inline (obra/superpowers, 297k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Requirements Elicitation?

mtarcure (a GitHub user) maintains it in mtarcure/claude-vibe-squad, which has 164 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on September 21, 2026.

Source: mtarcure/claude-vibe-squad on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.