Agent Skillsmtarcure/claude-vibe-squad › requirements-elicitation

requirements-elicitation

GitHub

将模糊或冲突的运营需求转化为可观察、可测试且边界清晰的规范。通过提问阶梯澄清目标与假设,将定性描述量化为验收标准,明确排除项并确认验证方法,防止范围蔓延。

.agents/skills/requirements-elicitation/SKILL.md mtarcure/claude-vibe-squad

触发场景

需求描述模糊不清 利益相关者陈述存在冲突 成功标准未定义

安装

npx skills add mtarcure/claude-vibe-squad --skill requirements-elicitation -g -y
更多选项

非标准路径

npx skills add https://github.com/mtarcure/claude-vibe-squad/tree/main/.agents/skills/requirements-elicitation -g -y

不安装直接使用

npx skills use mtarcure/claude-vibe-squad@requirements-elicitation

指定 Agent (Claude Code)

npx skills add mtarcure/claude-vibe-squad --skill requirements-elicitation -a claude-code -g -y

安装 repo 全部 skill

npx skills add mtarcure/claude-vibe-squad --all -g -y

预览 repo 内 skill

npx skills add mtarcure/claude-vibe-squad --list

SKILL.md

Frontmatter
{
    "name": "requirements-elicitation",
    "audience": "specialist",
    "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."
}

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.

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.

版本历史

  • d5262e2 当前 2026-09-11 11:25

同 Skill 集合

.agents/skills/accessible-media-authoring/SKILL.md
.agents/skills/agent-prompt-engineering/SKILL.md
.agents/skills/agentic-safety-audit/SKILL.md
.agents/skills/audio-event-map-authoring/SKILL.md
.agents/skills/auto-scaffold/SKILL.md
.agents/skills/claim-verification/SKILL.md
.agents/skills/code-reachability-audit/SKILL.md
.agents/skills/code-review-loop/SKILL.md
.agents/skills/color-theory/SKILL.md
.agents/skills/conversation-design/SKILL.md
.agents/skills/copy-refinement/SKILL.md
.agents/skills/cross-file-relationship-synthesis/SKILL.md
.agents/skills/dependency-cycle-audit/SKILL.md
.agents/skills/dependency-health-triage/SKILL.md
.agents/skills/detection-as-code/SKILL.md
.agents/skills/diff-aware-semgrep-scan/SKILL.md
.agents/skills/differential-review/SKILL.md
.agents/skills/dimensional-analysis-check/SKILL.md
.agents/skills/dual-level-retrieval/SKILL.md
.agents/skills/figma-implement-design/SKILL.md
.agents/skills/forensic-timeline-authoring/SKILL.md
.agents/skills/game-design-fundamentals/SKILL.md
.agents/skills/game-mechanics-balancing/SKILL.md
.agents/skills/head-tail/SKILL.md
.agents/skills/incident-response-runbook/SKILL.md
.agents/skills/interactive-audio-design/SKILL.md
.agents/skills/interface-ambiguity-check/SKILL.md
.agents/skills/keyword-clustering/SKILL.md
.agents/skills/knowledge-base-integration/SKILL.md
.agents/skills/layered-analysis-loop/SKILL.md
.agents/skills/level-design-patterns/SKILL.md
.agents/skills/locale-adaptation/SKILL.md
.agents/skills/narrative-structure/SKILL.md
.agents/skills/platform-compliance/SKILL.md
.agents/skills/player-engagement-psychology/SKILL.md
.agents/skills/rule6-rights-gate/SKILL.md
.agents/skills/rule8-truth-gate/SKILL.md
.agents/skills/sandbox-provision-discipline/SKILL.md
.agents/skills/scope-decomposition/SKILL.md
.agents/skills/scope-estimation/SKILL.md
.agents/skills/security-ownership-map/SKILL.md
.agents/skills/security-threat-model/SKILL.md
.agents/skills/semgrep-rule-author/SKILL.md
.agents/skills/skill-description-trigger-authoring/SKILL.md
.agents/skills/sound-design-principles/SKILL.md
.agents/skills/structured-data-authoring/SKILL.md
.agents/skills/supply-chain-audit/SKILL.md
.agents/skills/take-over-resume/SKILL.md
.agents/skills/technical-seo-audit/SKILL.md

元信息

文件数
0
版本
d5262e2
Hash
8c52e49c
收录时间
2026-09-11 11:25

首页 - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-09-12 15:31
浙ICP备14020137号-1 $访客地图$