DCSは、ソフトウェア開発の各フェーズにおける様々な分析・計画作業を支援するコマンドスイートです。各コマンドは対話的に必要な情報を収集し、.dcs/ ディレクトリ配下に構造化された分析結果を出力します。
/tsumiki:dcs:feature-rubber-duck- アイデア整理とPRD作成
/tsumiki:dcs:sequence-diagram-analysis- シーケンス図作成/tsumiki:dcs:state-transition-analysis- 状態遷移分析/tsumiki:dcs:impact-analysis- 影響範囲分析/tsumiki:dcs:edgecase-analysis- エッジケース・異常系分析
/tsumiki:dcs:incremental-dev- 増分開発計画
/tsumiki:dcs:bug-analysis- バグ原因分析/tsumiki:dcs:performance-analysis- 性能問題調査
/tsumiki:dcs:code-question- ソースコードに関する質問回答
用途 曖昧なアイデアや要望を対話を通じて整理し、実現可能なPRD(Product Requirements Document)を作成します。
概要 ラバーダック法のように、対話を重ねながら機能アイデアを具体化していきます。コードベース調査、技術検証、要件の具体化を段階的に進め、最終的に実装可能なPRDを作成します。
使うタイミング
- 新機能のアイデアを整理したいとき
- 機能要件が曖昧で具体化が必要なとき
- 既存コードベースへの組み込み方を検討したいとき
- 技術的実現可能性を検証しながら要件を詰めたいとき
主な出力ファイル
.dcs/{{timestamp}}_{{feature_name}}/
├── index.md # セッション情報のインデックス
├── conversation.md # 対話履歴
├── context.md # 収集したコンテキスト情報
├── research.md # 調査結果(コードベース、技術検証など)
└── prd.md # 最終的なPRD(Product Requirements Document)
特徴
- 最大10イテレーションの対話セッション
- コードベース調査とWeb検索を活用した技術検証
- 段階的な要件の具体化
- 実装可能性を考慮したPRD作成
用途 指定された機能のシーケンス図をmermaid形式で作成します。
概要 機能の処理フローを視覚化し、コンポーネント間の相互作用を明確にします。コードベースを分析し、関数呼び出し、データフロー、外部システムとの連携を図示します。
使うタイミング
- 複雑な処理フローを理解したいとき
- 既存機能の動作を可視化したいとき
- リファクタリングやデバッグの前にフローを把握したいとき
- ドキュメント作成や設計レビューのため
主な出力ファイル
.dcs/{{timestamp}}_{{feature_name}}/
├── index.md # 分析情報のインデックス
├── tmp/ # 一時調査結果(コンテキスト削減用)
│ ├── initial_survey.md
│ └── detailed_survey.md
└── sequence_diagram.md # Mermaidシーケンス図とフロー説明
特徴
- 一時ファイルを活用したコンテキスト削減
- 複数シナリオ(正常系・異常系)のサポート
- 詳細レベルの調整可能(概要・詳細・実装レベル)
- Mermaid形式での出力
用途 対象データの状態遷移に関わる全ての機能を特定し、状態遷移フロー、関連データとの依存関係、リスク評価を提供します。
概要 エンティティやリソースの状態管理を包括的に分析し、状態遷移図、遷移表、機能別分析、データ依存関係、リスク評価を作成します。
使うタイミング
- 状態管理ロジックを理解したいとき
- ワークフローや承認フローを可視化したいとき
- データの状態変更に関わる機能を一覧化したいとき
- 状態遷移の一貫性やリスクを評価したいとき
主な出力ファイル
.dcs/{{timestamp}}_{{data_name}}/
├── index.md # 分析情報のインデックス
├── summary.md # 分析サマリー
├── diagram.md # Mermaid状態遷移図
├── transitions.md # 状態遷移表
├── functions.md # 機能別分析
├── dependencies.md # データ依存関係分析
├── risks.md # リスク評価
└── recommendations.md # 推奨事項
特徴
- 状態フィールドの自動検出
- Mermaid状態遷移図の生成
- 網羅的な機能特定
- 関連データの依存関係分析
- リスク評価と推奨事項
用途 変更対象の影響範囲を分析し、修正が必要なファイルとリスク評価を提供します。
概要 ファイル、関数、クラス、または自然言語で指定された変更対象について、影響を受ける全てのコード箇所を特定し、層別に整理します。リスク評価と推奨事項も提供します。
使うタイミング
- コード変更前に影響範囲を把握したいとき
- リファクタリングの影響を評価したいとき
- API変更やモデル変更の影響を調査したいとき
- レビューやテスト計画の策定時
主な出力ファイル
.dcs/{{timestamp}}_{{target_name}}/
├── index.md # 分析情報のインデックス
├── summary.md # 全体サマリー
├── core.md # コア層の影響
├── api.md # API層の影響
├── service.md # サービス層の影響
├── data.md # データ層の影響
├── ui.md # UI層の影響
├── test.md # テストへの影響
├── config.md # 設定ファイルへの影響
├── other.md # その他の影響
├── external.md # 外部システムへの影響
├── recommendations.md # 推奨事項
└── details.md # 詳細情報
特徴
- 層別の影響範囲分析
- リスクレベルの評価
- 修正の優先順位付け
- テスト戦略の提案
用途 増分開発の計画を立案し、実装方法毎のPRD(Product Requirements Document)を作成します。
概要 開発対象を分析し、初期調査から追加調査を経て、複数の実装アプローチを提示します。各アプローチについて詳細なPRDを作成し、段階的な実装計画を立案します。
使うタイミング
- 新機能の実装計画を立てたいとき
- 複数の実装アプローチを比較検討したいとき
- 段階的なリリース計画を作成したいとき
- 既存システムへの機能追加を計画するとき
主な出力ファイル
.dcs/{{timestamp}}_{{feature_name}}/
├── index.md # 分析情報のインデックス
├── survey_summary.md # 初期調査サマリー
├── existing_impl.md # 既存実装調査
├── tech_stack.md # 技術スタック
├── dependencies.md # 依存関係分析
├── complexity.md # 複雑度評価
├── constraints.md # 課題と制約
├── additional_research/ # 追加調査結果
│ └── {{research_topic}}.md
└── approaches/ # 実装アプローチ毎のPRD
├── approach_1_{{name}}.md
├── approach_2_{{name}}.md
└── approach_3_{{name}}.md
特徴
- 初期調査での包括的な情報収集
- 複数の実装アプローチの提示
- 各アプローチの詳細PRD作成
- 段階的な実装計画
- 500行以内のファイル分割
用途 バグの原因を特定するための詳細分析を実施します。
概要 バグの発生経緯や症状から原因を特定し、修正方針を提示します。ソースコードを詳細に分析し、段階的に原因を絞り込みます。初期調査、処理フロー分析、根本原因分析を経て、最終レポートを作成します。
使うタイミング
- バグの原因が不明なとき
- 複雑な不具合を調査したいとき
- 再現性の低いバグを分析したいとき
- 根本原因を特定して恒久対策を立てたいとき
主な出力ファイル
.dcs/{{timestamp}}_{{bug_name}}/
├── index.md # 分析情報のインデックス
├── initial_investigation.md # 初期調査結果
├── flow_analysis.md # 処理フロー分析
├── root_cause_analysis.md # 根本原因分析
└── final_report.md # 最終レポート
特徴
- 対話的な情報収集
- 段階的な原因の絞り込み
- 処理フローの詳細分析
- 根本原因の特定
- 修正方針の提示
用途 性能問題の原因を調査します。
概要 性能問題の原因を特定するための包括的な調査を実施します。初期調査、詳細な原因分析、最終サマリーを段階的に作成し、性能問題の根本原因を明らかにします。
使うタイミング
- パフォーマンスが劣化しているとき
- レスポンスが遅い機能を調査したいとき
- スケーラビリティの問題を特定したいとき
- 最適化の優先順位を決めたいとき
主な出力ファイル
.dcs/{{timestamp}}_{{target_name}}/
├── index.md # 分析情報のインデックス
├── initial.md # 初期調査結果
├── causes.md # 原因分析
└── recommendations.md # 推奨対応
特徴
- TodoWriteによるタスク管理
- 症状と発生状況の詳細ヒアリング
- 複数の原因候補の特定
- 優先順位付けされた推奨対応
- パフォーマンスボトルネックの特定
用途 ソースコードに関する質問に対して、コードベースを調査して分かりやすく回答します。
概要 ユーザーの質問内容を分析し、質問の種類(コードの場所/動作の仕方/設計の理由/使い方)に応じた適切なアプローチで調査を行います。追加質問にも対応し、最大3回まで深掘り可能です。
使うタイミング
- 特定の機能やクラスがどこにあるか知りたいとき
- コードの動作フローを理解したいとき
- 設計意図やアーキテクチャの理由を知りたいとき
- 特定のAPIや機能の使い方を確認したいとき
主な出力ファイル
.dcs/{{timestamp}}_{{question_topic}}/
├── answer.md # 初回回答
├── answer_2.md # 追加回答(該当する場合)
└── answer_3.md # 追加回答(該当する場合)
特徴
- 質問の種類に応じた調査アプローチの自動選択
- 追加質問への対応(最大3回)
- 構造化された回答(概要→詳細→補足→まとめ)
- ファイルパスと行番号付きの参照
用途 システムの各レイヤーにおける包括的なエッジケース・エラー状態を詳細に分析し、見落としがちな異常系シナリオを洗い出します。
概要 要件定義書またはソースコードを入力として、アプリケーション層・UI・データ管理・ネットワーク・非同期処理・認証・エラーハンドリングなど各層で発生する複合的なエッジケースを網羅的に分析します。
使うタイミング
- 新機能の実装前にエッジケースを洗い出したいとき
- テストケースの網羅性を向上させたいとき
- 異常系の処理漏れがないか確認したいとき
- セキュリティや信頼性の観点でリスクを評価したいとき
主な出力ファイル
.dcs/{{timestamp}}_{{target_name}}/
├── index.md # 分析情報のインデックス
├── check_list.md # エッジケースチェックリスト
└── (カテゴリ別分析ファイル)
分析カテゴリ
- アプリケーション層ビジネスロジック
- UI状態
- データ管理層
- ネットワーク通信層
- 非同期処理・メッセージング
- 認証・認可
- エラーハンドリング
- データモデル状態組み合わせ
- 複合的なエッジケース
特徴
- 要件定義書ベースとソースコードベースの2つの分析モード
- 9カテゴリによる網羅的なエッジケース分析
- チェックリスト形式での出力
すべてのコマンドは .dcs/ ディレクトリ配下にタイムスタンプ付きのディレクトリを作成し、以下のような構造で結果を出力します:
.dcs/
└── {{timestamp}}_{{target_name}}/
├── index.md # 分析の概要とメタ情報
├── (各種分析結果ファイル)
└── (サブディレクトリ)
YYYYMMDD_HHMMSS 形式(例: 20251030_143022)
同一タイムスタンプ・同一内容のディレクトリが存在する場合、末尾に連番が付与されます。
各コマンドで使用可能なツールは、ファイルヘッダーの allowed-tools に記載されています:
- Read, Glob, Grep: ファイル検索・読み込み
- Task: サブタスクの実行(コンテキスト削減)
- Bash: シェルコマンド実行
- AskUserQuestion: 対話的な情報収集
- Write: ファイル書き込み
- TodoWrite: タスク管理(performance-analysisで使用)
- WebSearch, WebFetch: Web検索・情報取得(feature-rubber-duckで使用)
/tsumiki:dcs:bug-analysis カート内の商品合計金額が正しく計算されない
/tsumiki:dcs:impact-analysis src/models/User.ts
/tsumiki:dcs:sequence-diagram-analysis 注文確定処理
/tsumiki:dcs:incremental-dev ユーザー認証機能の追加
/tsumiki:dcs:code-question 認証フローはどのように実装されていますか
/tsumiki:dcs:edgecase-analysis ユーザー認証システム
-
対話型コマンド: すべてのコマンドは対話的に情報を収集します。質問に答えることで、より正確な分析が可能になります。
-
出力ディレクトリ: すべての出力は
.dcs/ディレクトリに集約されます。gitignoreに追加することを推奨します。