
feature-revision
by tezuka-Akihiro
SKILL.md
name: feature-revision description: Guide feature modification process with structured proposal document. Use when user requests feature changes, bug fixes requiring spec changes, or modifications to existing functionality. Manages requirements gathering, proposal creation, design documentation, and TDD workflow planning through phased user confirmation. allowed-tools: Read, Write, Edit, Glob, Grep, AskUserQuestion
機能修整スキル
既存機能の修正・改善を構造化された提案書形式で進めるスキルです。
When to Use
- ユーザーが「機能を修正したい」「仕様を変更したい」と言った時
- バグ修正が設計変更を伴う場合
- 既存機能の改善・拡張を行う場合
- 「/feature-revision」「/func-revision」「/修整」と指示された時
実行フロー概要
Phase 0: ヒアリング(開発内容の把握)
↓
Phase 1: 提案書作成(## 1〜4)→ ユーザー確認
↓
Phase 2: 設計フロー(## 5)→ ユーザー確認 → 設計ドキュメント反映
↓
Phase 3: TDDワークフロー(## 6)→ ユーザー確認 → 実装開始
Phase 0: ヒアリング
ユーザーから開発内容を把握し、提案書作成に必要な情報を収集します。
AskUserQuestionツールを使用して以下を確認:
- 対象サービス・セクション: どのサービス・セクションの機能を修正するか
- 変更内容: 何をどう変えたいか(現状と理想)
- 背景・目的: なぜこの変更が必要か
- 関連ドキュメント: 既存の設計書があるか
ヒアリング例
どのような機能修正を行いますか?以下の情報を教えてください:
1. 対象: どのサービス・セクションですか?(例: account/authentication, blog/posts)
2. 変更内容: 現状(As-Is)と修正後(To-Be)を簡潔に
3. 背景: なぜこの修正が必要ですか?
Phase 1: 提案書作成(## 1〜4)
仕様変更提案テンプレートを使用し、提案の基本部分を記載します。
1-1: テンプレートをコピー
# テンプレートをルート直下にコピー
cp develop/仕様変更提案テンプレート.md ./【機能修正提案】{機能名}.md
ファイル名は 【機能修正提案】{機能の簡潔な説明}.md とします。
1-2: ## 1〜4 を記載
Phase 0で収集した情報を基に、以下のセクションを記載:
| セクション | 記載内容 |
|---|---|
| ## 1. 提案概要 | 一文で修正内容を要約 |
| ## 2. 変更内容 (As-Is / To-Be) | 現状と修正後の具体的な違い |
| ## 3. 背景・目的 | 修正が必要な理由と達成目標 |
| ## 4. 変更の妥当性 (Pros / Cons) | メリット・デメリットと総合評価 |
1-3: ユーザー確認
記載完了後、ユーザーに内容を確認してもらいます。
確認ポイント:
- 提案概要が意図と合っているか
- As-Is / To-Beの認識に齟齬がないか
- Pros/Consの評価が妥当か
確認方法: 提案書の該当セクションを表示し、承認を求める
Phase 2: 設計フロー(## 5)
Phase 1でユーザー確認が取れていることが前提です。
設計ドキュメントへの影響を整理し、編集内容を明確化します。
2-1: ## 5 設計フローを記載
以下の設計ドキュメントを上から順に確認し、編集内容を追記:
| ドキュメント | 確認・記載内容 |
|---|---|
| GUIDING_PRINCIPLES.md | 原則への影響があるか |
| func-spec.md | 機能仕様の変更点 |
| uiux-spec.md | UI/UX仕様の変更点 |
| spec.yaml | 設定値の変更点 |
| file_list.md | ファイル構成の変更点 |
| data-flow-diagram.md | データフローの変更点 |
各項目について、変更がある場合は具体的な編集内容を記載。 変更がない場合は「変更なし」と明記。
2-2: ユーザー確認
記載完了後、ユーザーに設計フローの内容を確認してもらいます。
2-3: 設計ドキュメントへの反映
ユーザー確認が取れたら、実際の設計ドキュメントを編集します。
対象ファイルパス(例: accountサービスの場合):
develop/account/{section}/func-spec.mddevelop/account/{section}/uiux-spec.mdapp/specs/account/{section}-spec.yaml
Phase 3: TDDワークフロー(## 6)
Phase 2でユーザー確認が取れ、設計ドキュメントが更新されていることが前提です。
実装計画を立て、TDDフローに沿った作業手順を明確化します。
3-1: ## 6 TDD_WORK_FLOW.md 簡易版を記載
以下の全項目に対して、実際のパスと編集内容を1行で記載:
| 項目 | 記載内容 |
|---|---|
| e2e-screen-test | 画面E2Eテストのパスと概要 |
| e2e-section-test | セクションE2Eテストのパスと概要 |
| CSS実装 | layer2.css, layer3.ts, layer4.tsの変更 |
| route | ルートファイルの変更 |
| components.test | コンポーネントテストの変更 |
| components | コンポーネントの変更 |
| logic.test | ロジックテストの変更 |
| logic | ロジックの変更 |
| data-io.test | data-ioテストの変更 |
| data-io | data-ioの変更 |
| その他 | 上記に含まれない変更 |
特に重要: 新規ファイルは明確に識別できるように記載
3-2: ユーザー確認
記載完了後、ユーザーにTDDワークフローの内容を確認してもらいます。
3-3: 実装開始
ユーザー確認が取れたら、TDDフローに従って実装を開始します。
実装順序:
- E2Eテスト(Red)
- 単体テスト(Red)
- 実装(Green)
- リファクタリング
成果物
| フェーズ | 成果物 |
|---|---|
| Phase 1 | 【機能修正提案】{機能名}.md(## 1〜4 記載済み) |
| Phase 2 | 提案書(## 5 記載済み)+ 設計ドキュメント更新 |
| Phase 3 | 提案書(## 6 記載済み)+ 実装完了 |
注意事項
各フェーズでのユーザー確認は必須
ユーザー確認なしに次のフェーズに進まないこと。 確認を求める際は、該当セクションの内容を明示すること。
提案書はルート直下に配置
develop/ 配下ではなく、プロジェクトルート直下に配置します。
これにより、進行中の修正案件であることが明確になります。
実装完了後の提案書の扱い
実装完了後、提案書は以下のいずれかの扱いとする:
docs/thinking/に移動(設計判断の記録として保存)- 削除(不要な場合)
移動・削除はユーザーに確認してから行うこと。
スコア
総合スコア
リポジトリの品質指標に基づく評価
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
レビュー
レビュー機能は近日公開予定です