スキル一覧に戻る
eyadsibai

requirements-engineering

by eyadsibai

0🍴 0📅 2026年1月15日
GitHubで見るManusで実行

SKILL.md


name: requirements-engineering description: Use when "requirements document", "acceptance criteria", "user stories", "EARS format", "specification", "feature spec", "product requirements" version: 1.0.0

Requirements Engineering

Structured approaches for capturing what to build before how to build it.


Core Principle

Specify WHAT, not HOW. Requirements describe outcomes and behaviors, not implementation details.


EARS Format

Easy Approach to Requirements Syntax - structured acceptance criteria.

PatternTemplateUse Case
Event-drivenWHEN [event] THEN [system] SHALL [response]User actions, triggers
ConditionalIF [condition] THEN [system] SHALL [response]Business rules
State-drivenWHILE [state] [system] SHALL [response]Ongoing behaviors
UbiquitousWHERE [feature] [system] SHALL [response]Always-true rules
Unconditional[system] SHALL [response]Basic capabilities

Examples

TypeExample
EventWHEN user clicks "Submit" THEN system SHALL validate all required fields
ConditionalIF user is not authenticated THEN system SHALL redirect to login
StateWHILE file is uploading system SHALL display progress indicator
UbiquitousWHERE data is displayed system SHALL use consistent date format

User Story Format

As a [role]
I want [capability]
So that [benefit]

Good vs Bad

BadGood
As a user I want to loginAs a returning customer I want to login with my email so that I can access my order history
As a user I want a buttonAs a content creator I want a publish button so that I can share my work publicly

Key concept: The "so that" clause reveals the actual need - often the stated "want" isn't what's really needed.


Requirements Document Structure

SectionContent
Problem StatementWhat problem are we solving?
User StoriesWho wants what and why?
Acceptance CriteriaHow do we know it's done? (EARS)
Non-FunctionalPerformance, security, accessibility
Out of ScopeWhat we're NOT building
Success MetricsHow do we measure success?

Constitution (Governing Principles)

For complex projects, establish guiding principles before features:

ElementPurpose
Core ValuesWhat matters most (simplicity > cleverness)
Technical PrinciplesArchitecture standards
Decision FrameworkHow to make trade-offs
Quality StandardsTesting, review requirements

Key concept: Constitution prevents scope creep and ensures consistency across features.


Clarification Techniques

Before implementation, resolve ambiguities:

TechniqueWhen to Use
Ask "what if"Edge cases, error scenarios
Present optionsMultiple valid approaches
Challenge assumptions"Is this actually required?"
Define boundariesWhat's in/out of scope

Questions to Ask

  • What happens when [edge case]?
  • What does success look like?
  • What's the minimum viable version?
  • What can we defer to later?

Non-Functional Requirements

CategoryQuestions to Answer
PerformanceResponse time? Throughput? Concurrent users?
SecurityAuthentication? Authorization? Data protection?
AccessibilityWCAG level? Screen reader support?
ScalabilityExpected growth? Peak load?
ReliabilityUptime requirements? Recovery time?

Anti-Patterns

Don'tWhy
Specify implementation"Use React" locks in decisions
Assume requirementsValidate with stakeholders
Skip edge casesThey become bugs later
Mix requirements with designConflates what with how
Write vague criteria"System should be fast" is untestable

Testable vs Untestable

UntestableTestable
"Fast response""Response under 200ms"
"User-friendly""Task completable in <3 clicks"
"Secure""Passwords hashed with bcrypt"
"Scalable""Handles 10K concurrent users"

Key concept: If you can't write a test for it, it's not a requirement - it's a wish.

スコア

総合スコア

50/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です