Agent skill
requirements
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/requirements
SKILL.md
要件定義エージェント
役割
プロジェクトの要件定義を担当し、開発チームが実装可能な形式で要件をドキュメント化します。
要件定義書構成
docs/requirements/
├── PRD.md # プロダクト要件定義書
├── functional/
│ ├── overview.md # 機能要件概要
│ ├── FR-001-auth.md # 認証機能要件
│ ├── FR-002-user.md # ユーザー管理要件
│ └── ...
├── non-functional/
│ └── NFR.md # 非機能要件
├── use-cases/
│ ├── UC-001-login.md # ログインユースケース
│ └── ...
└── user-stories/
├── US-001-registration.md # ユーザー登録ストーリー
└── ...
PRD(プロダクト要件定義書)テンプレート
markdown
# プロダクト要件定義書 (PRD)
## ドキュメント情報
| 項目 | 内容 |
|------|------|
| プロダクト名 | [プロダクト名] |
| バージョン | 1.0 |
| 作成日 | YYYY-MM-DD |
| ステータス | Draft / Review / Approved |
---
## 1. エグゼクティブサマリー
### 1.1 背景
[プロダクトが必要とされる背景・課題]
### 1.2 目的
[プロダクトが解決する問題と達成したい目標]
### 1.3 成功指標 (KPI)
| 指標 | 目標値 | 測定方法 |
|------|--------|---------|
| [指標1] | [目標] | [方法] |
| [指標2] | [目標] | [方法] |
---
## 2. ターゲットユーザー
### 2.1 ペルソナ
#### ペルソナ1: [名前]
- **属性**: [年齢、職業、技術レベル]
- **ゴール**: [達成したいこと]
- **ペイン**: [現在の課題]
- **利用シーン**: [どのような場面で使うか]
### 2.2 ユーザーセグメント
| セグメント | 説明 | 優先度 |
|-----------|------|--------|
| [セグメント1] | [説明] | 高 |
| [セグメント2] | [説明] | 中 |
---
## 3. スコープ
### 3.1 対象範囲(In Scope)
- [機能1]
- [機能2]
- [機能3]
### 3.2 対象外(Out of Scope)
- [対象外機能1]
- [対象外機能2]
### 3.3 前提条件
- [前提条件1]
- [前提条件2]
### 3.4 制約条件
- [制約1]
- [制約2]
---
## 4. 機能要件
### 4.1 機能一覧
| ID | 機能名 | 説明 | 優先度 | ステータス |
|----|--------|------|--------|-----------|
| FR-001 | ユーザー認証 | ログイン・ログアウト機能 | Must | 未着手 |
| FR-002 | ユーザー管理 | プロフィール編集機能 | Should | 未着手 |
| FR-003 | [機能名] | [説明] | Could | 未着手 |
### 4.2 優先度定義
- **Must**: リリースに必須
- **Should**: 重要だが必須ではない
- **Could**: あれば良い
- **Won't**: 今回は対象外
---
## 5. 非機能要件
### 5.1 性能要件
| 項目 | 要件 |
|------|------|
| レスポンスタイム | 95%ile < 200ms |
| スループット | 1000 req/sec |
| 同時接続数 | 10,000 |
### 5.2 可用性要件
| 項目 | 要件 |
|------|------|
| 稼働率 | 99.9% |
| 計画停止 | 月1回、深夜2時間以内 |
### 5.3 セキュリティ要件
- 認証: JWT Bearer Token
- 通信: TLS 1.3
- データ保護: 個人情報は暗号化
### 5.4 その他
- 対応ブラウザ: Chrome, Firefox, Safari, Edge(最新2バージョン)
- 対応デバイス: デスクトップ、タブレット、スマートフォン
---
## 6. リリース計画
### 6.1 マイルストーン
| フェーズ | 内容 | 目標日 |
|---------|------|--------|
| MVP | 基本機能 | YYYY-MM-DD |
| v1.0 | 全機能 | YYYY-MM-DD |
| v1.1 | 改善 | YYYY-MM-DD |
### 6.2 MVP機能
- FR-001: ユーザー認証
- FR-002: 基本機能A
- FR-003: 基本機能B
---
## 7. 用語集
| 用語 | 定義 |
|------|------|
| [用語1] | [定義] |
| [用語2] | [定義] |
機能要件テンプレート
markdown
# FR-001: ユーザー認証
## 基本情報
| 項目 | 内容 |
|------|------|
| 要件ID | FR-001 |
| 要件名 | ユーザー認証 |
| 優先度 | Must |
| ステータス | Draft |
| 関連UC | UC-001, UC-002 |
## 概要
ユーザーがシステムにログイン・ログアウトできる機能
## 詳細要件
### FR-001-1: ログイン
- メールアドレスとパスワードでログインできる
- ソーシャルログイン(Google, GitHub)に対応する
- ログイン失敗時は適切なエラーメッセージを表示する
- 5回連続失敗でアカウントをロックする
### FR-001-2: ログアウト
- ログアウトボタンでセッションを終了できる
- 全デバイスからログアウトできる
### FR-001-3: パスワードリセット
- メールアドレスでパスワードリセットを要求できる
- リセットリンクは24時間有効
## 受入基準
- [ ] 正しい認証情報でログインできる
- [ ] 不正な認証情報でログインが拒否される
- [ ] ログアウト後にセッションが無効化される
- [ ] パスワードリセットメールが送信される
## 画面・API
- 関連画面: ログイン画面、パスワードリセット画面
- 関連API: POST /api/auth/login, POST /api/auth/logout
ユースケーステンプレート
markdown
# UC-001: ユーザーログイン
## 基本情報
| 項目 | 内容 |
|------|------|
| ユースケースID | UC-001 |
| ユースケース名 | ユーザーログイン |
| アクター | 登録済みユーザー |
| 関連要件 | FR-001 |
## 概要
ユーザーがシステムにログインする
## 事前条件
- ユーザーアカウントが存在する
- ユーザーはログアウト状態
## 事後条件
- ユーザーはログイン状態
- セッションが開始される
## 基本フロー
1. ユーザーがログイン画面にアクセスする
2. システムがログインフォームを表示する
3. ユーザーがメールアドレスを入力する
4. ユーザーがパスワードを入力する
5. ユーザーがログインボタンをクリックする
6. システムが認証情報を検証する
7. システムがセッションを作成する
8. システムがダッシュボードにリダイレクトする
## 代替フロー
### 6a. 認証失敗
1. システムがエラーメッセージを表示する
2. ユーザーは再度入力できる
### 6b. アカウントロック
1. システムがロックメッセージを表示する
2. ユーザーはパスワードリセットを案内される
## 例外フロー
### E1. システムエラー
1. システムがエラーページを表示する
2. ユーザーはサポートに問い合わせる
## ユースケース図
┌─────────────────────────────────────┐ │ システム │ │ ┌─────────────────────────────┐ │ │ │ │ │ │ │ (ログイン) │ │ │ │ │ │ │ │ │ │ <> │ │ │ │ ▼ │ │ │ │ (認証処理) │ │ │ │ │ │ │ └─────────────────────────────┘ │ └─────────────────────────────────────┘ ▲ │ ┌───┴───┐ │ユーザー│ └───────┘
ユーザーストーリーテンプレート
markdown
# US-001: 新規ユーザー登録
## ストーリー
**As a** 新規ユーザー
**I want to** アカウントを作成したい
**So that** サービスを利用できるようになる
## 受入基準 (Acceptance Criteria)
### AC-1: 基本登録
**Given** ユーザーが登録画面にいる
**When** 有効なメールアドレスとパスワードを入力して登録ボタンを押す
**Then** アカウントが作成され、確認メールが送信される
### AC-2: バリデーション
**Given** ユーザーが登録画面にいる
**When** 無効なメールアドレスを入力する
**Then** エラーメッセージが表示される
### AC-3: 重複チェック
**Given** ユーザーが登録画面にいる
**When** 既存のメールアドレスを入力する
**Then** 「このメールアドレスは既に登録されています」と表示される
## 詳細
| 項目 | 内容 |
|------|------|
| ストーリーポイント | 5 |
| 優先度 | Must |
| スプリント | Sprint 1 |
| 担当 | - |
## タスク
- [ ] 登録フォームUI作成
- [ ] バリデーション実装
- [ ] API実装
- [ ] メール送信機能
- [ ] 単体テスト
- [ ] E2Eテスト
## 備考
- パスワードは8文字以上、英数字記号混在必須
- メール確認は24時間以内に完了が必要
要件トレーサビリティマトリクス
markdown
# 要件トレーサビリティマトリクス
| 要件ID | ユースケース | ユーザーストーリー | 画面 | API | テストケース |
|--------|-------------|-------------------|------|-----|-------------|
| FR-001 | UC-001 | US-001, US-002 | SCR-001 | AUTH-001 | TC-001 |
| FR-002 | UC-002 | US-003 | SCR-002 | USER-001 | TC-002 |
出力形式
要件定義時の成果物:
- PRD:
docs/requirements/PRD.md - 機能要件:
docs/requirements/functional/FR-XXX-*.md - 非機能要件:
docs/requirements/non-functional/NFR.md - ユースケース:
docs/requirements/use-cases/UC-XXX-*.md - ユーザーストーリー:
docs/requirements/user-stories/US-XXX-*.md - トレーサビリティ:
docs/requirements/traceability.md
関連スキル
- 画面仕様書エージェント: 要件に基づいて画面設計
- 基本設計書エージェント: 要件に基づいてアーキテクチャ設計
- API仕様書エージェント: 要件に基づいてAPI設計
- E2Eテストエージェント: 受入基準に基づいてテスト作成
Didn't find tool you were looking for?