plan-feature
ユーザーが新機能の計画を依頼した際、分析・設計・実装の段階を踏んで、その機能を実現するための具体的な手順を提案するSkill。
📜 元の英語説明(参考)
Plan a new feature with analysis, design, and implementation steps. Use when the user asks to plan a feature or run /plan-feature.
🇯🇵 日本人クリエイター向け解説
ユーザーが新機能の計画を依頼した際、分析・設計・実装の段階を踏んで、その機能を実現するための具体的な手順を提案するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o plan-feature.zip https://jpskill.com/download/18330.zip && unzip -o plan-feature.zip && rm plan-feature.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/18330.zip -OutFile "$d\plan-feature.zip"; Expand-Archive "$d\plan-feature.zip" -DestinationPath $d -Force; ri "$d\plan-feature.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
plan-feature.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
plan-featureフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
機能計画
徹底的な分析、設計上の考慮事項、および実行可能な実装手順を用いて、新しい機能を計画し、構造化します。
手順
このスキルが呼び出された場合:
-
要件の収集
- 機能名と大まかな目標を特定します
- 要件が曖昧な場合は、明確にするための質問をします
- 機能の受け入れ基準を決定します
-
既存のコードベースの分析
- 関連する既存の機能を検索します
- コードベースのパターンと規約を特定します
- 機能が接続される統合ポイントを見つけます
-
ソリューションの設計
- 影響を受けるモジュール(lobby、session、api、ui)を決定します
- アーキテクチャレイヤーごとの必要な変更を特定します
- エッジケースとエラー処理を検討します
- 外部依存関係または制約をメモします
-
実装計画の作成
- アトミックでテスト可能なタスクに分割します
- 依存関係によってタスクを順序付けます
- TodoWrite を使用して、計画を ToDo リストに書き込みます
-
計画をファイルに保存
.claude/plans/ディレクトリが存在しない場合は作成します- 機能名からスラッグを生成します(例:「Custom Voting Decks」→
custom-voting-decks.md) - 以下の出力形式を使用して、計画を
.claude/plans/<feature-slug>.mdに書き込みます - これにより、参照用の計画の永続的な記録が作成されます
-
承認のための提示
- アプローチを要約します
- 主要な設計上の決定事項を強調表示します
- タスクの内訳を提示します
- 保存された計画ファイルの場所を参照します
- 実装前にユーザーの承認を待ちます
タスクの内訳構造
バックエンドタスク(該当する場合)
[ ] APIコントラクトの定義(api モジュールの Commands/Events/Queries)
[ ] ドメインロジックの実装(aggregate、entity、value object)
[ ] コマンド/クエリハンドラーの作成
[ ] 読み取りモデルのプロジェクションの更新
[ ] ハンドラーのユースケーステストの追加
[ ] 統合テストの追加
フロントエンドタスク(該当する場合)
[ ] コンポーネント構造の設計
[ ] 状態管理の実装(stores/hooks)
[ ] UIコンポーネントの作成
[ ] API統合の接続
[ ] コンポーネントテストの追加
共通タスク
[ ] 共有タイプ/コントラクトの更新
[ ] 必要に応じてドキュメントを追加
[ ] ビルドがパスすることを確認
[ ] フルテストスイートの実行
分析ガイドライン
回答すべき質問
- これはどのような問題を解決しますか? - 明確なユーザー価値
- 誰が影響を受けますか? - どのユーザー/ロール
- 境界線は何ですか? - スコープの内/外
- 何がうまくいかない可能性がありますか? - 失敗モードと軽減策
- どのようにして動作することを知りますか? - テスト可能性の基準
アーキテクチャに関する考慮事項
ドメインレイヤー:
- 新しい aggregate または entity が必要ですか?
- 既存の aggregate の動作の変更はありますか?
- 新しいドメインイベントはありますか?
アプリケーションレイヤー:
- 新しいコマンドまたはクエリはありますか?
- ハンドラーのオーケストレーションの複雑さは?
- トランザクションの境界は?
アダプターレイヤー:
- API エンドポイントの変更はありますか?
- 永続化スキーマの更新はありますか?
- 外部サービスとの統合は?
UIレイヤー:
- 新しいページまたはコンポーネントはありますか?
- 状態管理のアプローチは?
- ユーザーインタラクションフローは?
ファイル命名規則
計画は .claude/plans/<feature-slug>.md に保存されます。ここで:
- 機能スラッグは機能名から派生します
- 小文字に変換します
- スペースと特殊文字をハイフンに置き換えます
- 連続するハイフンを削除します
例:
- 「Custom Voting Decks」→
custom-voting-decks.md - 「Add User Authentication」→
add-user-authentication.md - 「Fix Timer Bug」→
fix-timer-bug.md
出力形式
この構造を使用して、計画をファイルに書き込みます。
# Feature: [Name]
> **Created**: [YYYY-MM-DD]
> **Status**: Draft | Approved | In Progress | Completed
## Summary
[この機能が何をするかの1〜2文の説明]
## Affected Modules
- [ ] api (contracts)
- [ ] guessimate-lobby
- [ ] guessimate-session
- [ ] guessimate-ui
## Key Design Decisions
1. [根拠のある決定1]
2. [根拠のある決定2]
## Implementation Tasks
[具体的で実行可能なタスクの番号付きリスト]
## Risks & Considerations
- [リスク1]
- [リスク2]
## Open Questions
[ユーザー入力を必要とする質問]
例
「投票デッキをカスタマイズする機能を追加する」のような機能リクエストの場合、計画は .claude/plans/custom-voting-decks.md に保存されます。
# Feature: Custom Voting Decks
> **Created**: 2026-01-02
> **Status**: Draft
## Summary
ロビーの所有者が、デフォルトのフィボナッチ数列のみを使用する代わりに、推定セッション用のカスタムカードデッキを作成および選択できるようにします。
## Affected Modules
- [x] api (デッキ管理用の新しいコマンド/イベント)
- [x] guessimate-lobby (ロビー aggregate のデッキストレージ)
- [ ] guessimate-session (選択されたデッキの使用)
- [x] guessimate-ui (デッキ構成 UI)
## Key Design Decisions
1. カスタムデッキを(ユーザーレベルではなく)ロビーレベルで保存 - よりシンプルなモデル、デッキは使用される場所に結び付けられます
2. プリセットテンプレート(フィボナッチ、Tシャツ、2の累乗)を提供 - 一般的なケースの迅速なセットアップ
3. デッキに2〜15枚のカードがあることを検証 - 合理的な制約
## Implementation Tasks
1. 検証付きの Deck value object を api モジュールに追加
2. CreateCustomDeckCommand と DeckCreatedEvent を api に追加
3. LobbyAggregate にデッキストレージを実装
4. UI に DeckSelectionComponent を作成
5. デッキプレビュー機能を追加
6. 選択されたデッキを使用するようにセッションの作成を更新
7. デッキコマンドのユースケーステストを追加
8. フルフローの統合テストを追加
## Risks & Considerations
- 移行:既存のロビーにはデフォルトのデッキを割り当てる必要があります
- UIの複雑さ:デッキエディターが複雑になる可能性があります
## Open Questions
- デッキはロビー間で共有可能にする必要がありますか? 📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Feature Planning
Plan and structure new features with thorough analysis, design considerations, and actionable implementation steps.
Instructions
When this skill is invoked:
-
Gather Requirements
- Identify the feature name and high-level goal
- Ask clarifying questions if requirements are ambiguous
- Determine acceptance criteria for the feature
-
Analyze Existing Codebase
- Search for related existing functionality
- Identify patterns and conventions in the codebase
- Find integration points where the feature will connect
-
Design the Solution
- Determine affected modules (lobby, session, api, ui)
- Identify required changes per architectural layer
- Consider edge cases and error handling
- Note any external dependencies or constraints
-
Create Implementation Plan
- Break down into atomic, testable tasks
- Order tasks by dependencies
- Write the plan to the todo list using TodoWrite
-
Save Plan to File
- Create
.claude/plans/directory if it doesn't exist - Generate a slug from the feature name (e.g., "Custom Voting Decks" →
custom-voting-decks.md) - Write the plan to
.claude/plans/<feature-slug>.mdusing the Output Format below - This creates a persistent record of the plan for reference
- Create
-
Present for Approval
- Summarize the approach
- Highlight key design decisions
- Present the task breakdown
- Reference the saved plan file location
- Wait for user approval before implementing
Task Breakdown Structure
Backend Tasks (if applicable)
[ ] Define API contract (Commands/Events/Queries in api module)
[ ] Implement domain logic (aggregates, entities, value objects)
[ ] Create command/query handlers
[ ] Update read model projections
[ ] Add usecase tests for handlers
[ ] Add integration tests
Frontend Tasks (if applicable)
[ ] Design component structure
[ ] Implement state management (stores/hooks)
[ ] Create UI components
[ ] Wire up API integration
[ ] Add component tests
Cross-Cutting Tasks
[ ] Update shared types/contracts
[ ] Add documentation if needed
[ ] Verify build passes
[ ] Run full test suite
Analysis Guidelines
Questions to Answer
- What problem does this solve? - Clear user value
- Who is affected? - Which users/roles
- What are the boundaries? - What's in/out of scope
- What could go wrong? - Failure modes and mitigations
- How will we know it works? - Testability criteria
Architecture Considerations
Domain Layer:
- New aggregates or entities needed?
- Changes to existing aggregate behavior?
- New domain events?
Application Layer:
- New commands or queries?
- Handler orchestration complexity?
- Transaction boundaries?
Adapter Layer:
- API endpoint changes?
- Persistence schema updates?
- External service integrations?
UI Layer:
- New pages or components?
- State management approach?
- User interaction flows?
File Naming Convention
Plans are saved to .claude/plans/<feature-slug>.md where:
- Feature slug is derived from the feature name
- Convert to lowercase
- Replace spaces and special characters with hyphens
- Remove consecutive hyphens
Examples:
- "Custom Voting Decks" →
custom-voting-decks.md - "Add User Authentication" →
add-user-authentication.md - "Fix Timer Bug" →
fix-timer-bug.md
Output Format
Write the plan to the file using this structure:
# Feature: [Name]
> **Created**: [YYYY-MM-DD]
> **Status**: Draft | Approved | In Progress | Completed
## Summary
[1-2 sentence description of what this feature does]
## Affected Modules
- [ ] api (contracts)
- [ ] guessimate-lobby
- [ ] guessimate-session
- [ ] guessimate-ui
## Key Design Decisions
1. [Decision 1 with rationale]
2. [Decision 2 with rationale]
## Implementation Tasks
[Numbered list of specific, actionable tasks]
## Risks & Considerations
- [Risk 1]
- [Risk 2]
## Open Questions
- [Question needing user input]
Example
For a feature request like "Add ability to customize voting deck", the plan would be saved to .claude/plans/custom-voting-decks.md:
# Feature: Custom Voting Decks
> **Created**: 2026-01-02
> **Status**: Draft
## Summary
Allow lobby owners to create and select custom card decks for estimation sessions instead of using only the default Fibonacci sequence.
## Affected Modules
- [x] api (new commands/events for deck management)
- [x] guessimate-lobby (deck storage in lobby aggregate)
- [ ] guessimate-session (use selected deck)
- [x] guessimate-ui (deck configuration UI)
## Key Design Decisions
1. Store custom decks at lobby level (not user level) - simpler model, decks tied to where they're used
2. Provide preset templates (Fibonacci, T-shirt, Powers of 2) - quick setup for common cases
3. Validate deck has 2-15 cards - reasonable constraints
## Implementation Tasks
1. Add Deck value object with validation to api module
2. Add CreateCustomDeckCommand and DeckCreatedEvent to api
3. Implement deck storage in LobbyAggregate
4. Create DeckSelectionComponent in UI
5. Add deck preview functionality
6. Update session creation to use selected deck
7. Add usecase tests for deck commands
8. Add integration test for full flow
## Risks & Considerations
- Migration: existing lobbies need default deck assigned
- UI complexity: deck editor could become complex
## Open Questions
- Should decks be shareable between lobbies?