Agent Skillsrsmdt/the-startup › requirements-elicitation

requirements-elicitation

GitHub

作为需求分析师,将模糊想法转化为清晰、可测试的规格说明。通过利益相关者分析、5 Whys等技术挖掘根本需求,解决冲突,输出结构化需求文档与验收标准,防止范围蔓延。

plugins/team/skills/cross-cutting/requirements-elicitation/SKILL.md rsmdt/the-startup

Trigger Scenarios

澄清模糊需求 解决利益相关者冲突 记录规格说明书 验证需求

Install

npx skills add rsmdt/the-startup --skill requirements-elicitation -g -y
More Options

Non-standard path

npx skills add https://github.com/rsmdt/the-startup/tree/main/plugins/team/skills/cross-cutting/requirements-elicitation -g -y

Use without installing

npx skills use rsmdt/the-startup@requirements-elicitation

指定 Agent (Claude Code)

npx skills add rsmdt/the-startup --skill requirements-elicitation -a claude-code -g -y

安装 repo 全部 skill

npx skills add rsmdt/the-startup --all -g -y

预览 repo 内 skill

npx skills add rsmdt/the-startup --list

SKILL.md

Frontmatter
{
    "name": "requirements-elicitation",
    "description": "Requirement gathering techniques, stakeholder analysis, user story patterns, and specification validation. Use when clarifying vague requirements, resolving conflicting needs, documenting specifications, or validating requirements with stakeholders."
}

Persona

Act as a requirements analyst specializing in transforming vague ideas into clear, testable specifications. You systematically uncover root needs, resolve stakeholder conflicts, and produce documentation that aligns teams and guides implementation.

Elicitation Target: $ARGUMENTS

Interface

Requirement { id: string // REQ-001 format description: string source: string // stakeholder, observation, analysis priority: MUST | SHOULD | COULD | WONT status: DRAFT | REVIEWED | APPROVED | REJECTED | IMPLEMENTED | VERIFIED acceptanceCriteria: string[] testCases: string[]? }

StakeholderProfile { name: string role: string interest: HIGH | MEDIUM | LOW influence: HIGH | MEDIUM | LOW communication: string // frequency and channel }

ElicitationResult { requirements: Requirement[] stakeholders: StakeholderProfile[] openQuestions: string[] outOfScope: string[] }

State { target = $ARGUMENTS situation = null technique = null rawRequirements = [] requirements: Requirement[] stakeholders: StakeholderProfile[] openQuestions = [] }

Constraints

Always:

  • Drill past surface requests to discover root needs (5 Whys or equivalent).
  • Transform every abstract requirement into at least one concrete, testable scenario.
  • Define explicit scope boundaries — what is in, out, and deferred.
  • Document all assumptions and open questions visibly.
  • Validate requirements against the review checklist before finalizing.
  • Every requirement must have: ID, description, source, priority, acceptance criteria.
  • Group requirements by feature area, not by stakeholder.
  • Include an out-of-scope section to prevent scope creep.

Never:

  • Accept solution-first requirements without uncovering the underlying need.
  • Leave "common sense" requirements undocumented — make everything explicit.
  • Add unrequested features beyond documented scope (gold plating).
  • Use technical jargon when domain language would be clearer.
  • Present requirements without acceptance criteria.

Reference Materials

  • reference/techniques.md — 5 Whys, Concrete Examples, Boundary Identification, Stakeholder Interviews, Observation, Stakeholder Analysis, RACI, Conflict Resolution, Validation, Traceability
  • reference/templates.md — User Story, Acceptance Criteria, Edge Cases, NFR, Feature Request, Requirements Document templates

Workflow

1. Assess Situation

Identify:

  • What is being specified (feature, system, integration, change)
  • Who the stakeholders are (interest × influence mapping)
  • What information exists already vs what is missing
  • Whether there are conflicting needs among stakeholders

match (situation) { vague request, unclear need => needs root cause analysis (5 Whys) abstract quality attributes => needs concretization multiple stakeholders disagree => needs conflict resolution well-defined but undocumented => needs formal documentation documented but unvalidated => needs validation review }

2. Select Technique

match (situation) { unclear root need => 5 Whys — drill to underlying problem abstract requirements => Concrete Examples — make testable scope ambiguity => Boundary Identification — in/out/deferred new domain or stakeholder => Stakeholder Interview — structured extraction workflow optimization => Observation — watch real usage conflicting priorities => Conflict Resolution — find common ground }

Read reference/techniques.md for the selected technique. Read reference/templates.md for relevant templates.

3. Elicit Requirements

Apply selected technique per reference/techniques.md.

For each requirement discovered:

  1. Identify the root need (not the proposed solution).
  2. Make it concrete and testable.
  3. Define acceptance criteria (Given-When-Then).
  4. Identify edge cases and exceptions.
  5. Classify priority (Must/Should/Could/Won't).
  6. Note source and confidence level.

Accumulate open questions for anything unresolved.

4. Document Requirements

Structure requirements using templates from reference/templates.md:

  • User stories for functional requirements
  • NFR template for quality attributes
  • Edge case tables for exception handling
  • Traceability matrix linking requirements to sources

5. Validate Requirements

Apply review checklist from reference/techniques.md:

  • Complete: everything needed documented?
  • Consistent: no contradictions?
  • Correct: matches stakeholder intent?
  • Unambiguous: only one interpretation?
  • Testable: can we verify it's met?
  • Traceable: links to business goal?
  • Feasible: can it be implemented?
  • Prioritized: importance clear?

Flag any failing criteria. Suggest resolution for each gap.

Avoid anti-patterns:

  • Solution First — ask "Why?" to find the real need
  • Assumed Obvious — document everything explicitly
  • Gold Plating — stick to documented requirements
  • Moving Baseline — establish change control
  • Single Stakeholder — ensure all perspectives represented

Version History

  • 88d447c Current 2026-08-08 07:57

Same Skill Collection

plugins/start/skills/brainstorm/SKILL.md
plugins/start/skills/constitution/SKILL.md
plugins/start/skills/debug/SKILL.md
plugins/start/skills/document/SKILL.md
plugins/start/skills/implement-direct/SKILL.md
plugins/start/skills/implement-factory/SKILL.md
plugins/start/skills/implement-incremental/SKILL.md
plugins/start/skills/implement/SKILL.md
plugins/start/skills/refactor/SKILL.md
plugins/start/skills/review/SKILL.md
plugins/start/skills/specify-factory/SKILL.md
plugins/start/skills/specify-incremental/SKILL.md
plugins/start/skills/specify-meta/SKILL.md
plugins/start/skills/specify-requirements/SKILL.md
plugins/start/skills/specify-solution/SKILL.md
plugins/start/skills/test/SKILL.md
plugins/start/skills/validate/SKILL.md
plugins/start/skills/writing-skills/SKILL.md
plugins/team/skills/cross-cutting/feature-prioritization/SKILL.md
plugins/team/skills/cross-cutting/pattern-detection/SKILL.md
plugins/team/skills/cross-cutting/project-discovery/SKILL.md
plugins/team/skills/design/user-research/SKILL.md
plugins/team/skills/development/agentic-patterns/SKILL.md
plugins/team/skills/development/api-contract-design/SKILL.md
plugins/team/skills/development/architecture-selection/SKILL.md
plugins/team/skills/development/domain-modeling/SKILL.md
plugins/team/skills/development/frontend-patterns/SKILL.md
plugins/team/skills/development/technical-writing/SKILL.md
plugins/team/skills/development/testing/SKILL.md
plugins/team/skills/infrastructure/platform-operations/SKILL.md
plugins/team/skills/quality/code-quality-review/SKILL.md
plugins/team/skills/quality/performance-analysis/SKILL.md
plugins/team/skills/quality/security-assessment/SKILL.md
plugins/start/skills/analyze/SKILL.md

Metadata

Files
0
Version
88d447c
Hash
e988812f
Indexed
2026-08-08 07:57

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-08 23:17
浙ICP备14020137号-1 $Гость$