Skip to content
Development
Command

/code-question

ソースコードに関する質問に回答する

BOOST
From plugin
tsumiki
97443 skills43 commands
Install
> /plugin marketplace add classmethod/tsumiki
> /plugin install tsumiki@tsumiki

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/code-question

Context preview

What this command does when you run it.

ソースコードに関する質問に回答する

Command definition

code-question.md
description: ソースコードに関する質問に回答する
allowed-tools: Read, Glob, Grep, Task, Bash, AskUserQuestion
argument-hint: "[質問内容(任意)]"

ユーザーからの質問内容をもとにソースコードを調査し、分かりやすく回答します。必要に応じて追加質問も受け付けます。

context

出力ディレクトリ=".dcs" カレントディレクトリ={{プロジェクトルート}} 質問内容="" 質問の種類="" 調査スコープ="" 回答ファイル="" 追加質問回数=0 最大追加質問回数=3

step

  • $1 がある場合、質問内容として記録する
  • $1 がない場合、ユーザーに「どのようなことを知りたいですか?」と尋ねる
  • 質問内容を簡潔に確認し、ユーザーに表示する
  • AskUserQuestion ツールを使って質問の分類を実施し、context を更新する
  • 収集した context の内容をユーザーに宣言する
  • step2 を実行する

step2: 調査実行

  • 既存の出力ファイルを確認して、重複しないナンバリングを決定する
  • {{出力ディレクトリ}}/{{timestamp}}_* を検索
  • 質問内容を簡単に英語化したもの(例: "auth_flow", "data_model")を作成
  • 同じ timestamp と内容で既存ディレクトリがある場合、末尾の連番を +1 する
  • ベースディレクトリを "{{出力ディレクトリ}}/{{timestamp}}_{{内容の英語化}}" とする
  • 例: ".dcs/20260203123456_auth_flow"
  • 回答ファイルパスを決定する
  • 回答ファイル: "{{ベースディレクトリ}}/answer.md"
  • <code_question_template> の内容を context の情報で埋めて、Task ツールで直接実行する
  • subagent_type: "general-purpose"
  • description: "コード質問への回答生成"
  • prompt: テンプレートの内容を context で埋めた完全なプロンプト
  • Task の実行結果を受け取る
  • step3 を実行する

step3: 回答提示と追加質問

  • 出力された回答ファイルを Read で確認する
  • 回答内容の要点をユーザーに提示する
  • 質問に対する直接的な回答
  • 重要なファイルパス(相対パス)
  • 関連する情報
  • ユーザーに追加の質問があるか確認する
  • 「この回答について、さらに詳しく知りたいことはありますか?」
  • 追加質問がある場合:
  • 追加質問回数を +1 する
  • 追加質問回数が最大追加質問回数を超えていない場合:
  • 新しい質問内容を記録する
  • 追加回答ファイルを作成(例: "{{ベースディレクトリ}}/answer_2.md")
  • <followup_question_template> を使って Task で追加調査を実行する
  • 再度 step3 を実行する
  • 追加質問回数が最大に達した場合:
  • 「追加質問の上限に達しました。新しい質問がある場合は、改めてコマンドを実行してください。」と伝える
  • step4 を実行する
  • 追加質問がない場合:
  • step4 を実行する

step4: 完了

  • 全ての回答ファイルのパスを整理して表示する
  • 初回回答: "{{ベースディレクトリ}}/answer.md"
  • 追加回答(該当する場合): "{{ベースディレクトリ}}/answer_2.md", "{{ベースディレクトリ}}/answer_3.md", ...
  • 調査完了をユーザーに報告する

rules

質問の分類

AskUserQuestion ツールを使って、以下の質問を実施する:

質問: 質問の種類

  • **質問**: どのような観点で知りたいですか?
  • **header**: "質問の種類"
  • **multiSelect**: false
  • **options**:
  • "コードの場所" - 特定の機能やクラス、関数がどこにあるか知りたい
  • "動作の仕方" - コードがどのように動作するか、フローを知りたい
  • "設計の理由" - なぜこのような実装になっているか、設計意図を知りたい
  • "使い方" - 特定の機能やAPIの使い方を知りたい

contextとして以下を保持する:

  • 質問内容(具体的なテキスト)
  • 質問の種類
  • 調査スコープ(必要に応じて質問内容から推測)

ファイル名のルール

timestamp の形式

  • yyyyMMddHHmmss 形式(例: 20260203123456)

内容の英語化のルール

  • 質問内容を簡潔な英語に変換する
  • スネークケース(snake_case)を使用
  • 最大30文字程度に収める
  • 例:
  • "認証フローについて" → "auth_flow"
  • "ユーザーデータモデルの構造" → "user_data_model"
  • "APIエンドポイントの一覧" → "api_endpoints"
  • "エラーハンドリングの実装" → "error_handling"

回答ファイル名のルール

  • 初回回答: `answer.md`
  • 追加回答: `answer_2.md`, `answer_3.md`, `answer_4.md`, ...

完全なファイル名の例

**初回回答**:

  • `.dcs/20260203123456_auth_flow/answer.md` (初回回答)

**追加回答**:

  • `.dcs/20260203123456_auth_flow/answer_2.md` (追加質問への回答1)
  • `.dcs/20260203123456_auth_flow/answer_3.md` (追加質問への回答2)

ファイルパスの記載ルール

  • **カレントディレクトリを基準とした相対パスを使用する**
  • フルパス(絶対パス)は記載しない
  • 例:
  • ❌ `/Users/kuroeda/projects/tsumiki-local/src/main.ts`
  • ✅ `src/main.ts`
  • カレントディレクトリは調査開始時の作業ディレクトリ
  • すべてのファイルパスは相対パスで統一する

調査の指針

質問の種類に応じて、以下のアプローチで調査する:

"コードの場所" の場合

  • Grep/Glob を使って該当するファイル、クラス、関数を検索する
  • ファイルパスと行番号を明記する
  • 複数の候補がある場合はすべて列挙する

"動作の仕方" の場合

  • 該当するコードを Read で確認する
  • 処理フローを順を追って説明する
  • 関連する他のファイルや関数も調査する
  • 必要に応じてシーケンス図や呼び出し関係を説明する

"設計の理由" の場合

  • コードのコメント、コミット履歴(可能であれば)を確認する
  • 類似の実装パターンを探す
  • アーキテクチャ上の考慮事項を推測して説明する

"使い方" の場合

  • 該当する機能やAPIの定義を確認する
  • 実際の使用例をコードベースから探す
  • パラメータ、戻り値、例外などを明確に説明する

追加質問の扱い

  • 追加質問は初回回答に関連する内容に限定する
  • 全く新しい質問の場合は、新しいコマンド実行を推奨する
  • 追加質問は最大3回まで受け付ける
  • 各追加回答は個別のファイルに保存する

info

<code_question_template> あなたはソースコード分析のエキスパートです。以下の質問に対して、コードベースを調査し、分かりやすく回答してください。

質問情報

質問内容: {{質問内容}} 質問の種類: {{質問の種類}} ベースディレクトリ: {{ベースディレクトリ}}(例: ".dcs/20260203123456_auth_flow") カレントディレクトリ: {{カレントディレクトリ}} 回答ファイル: {{回答ファイル}}(例: ".dcs/20260203123456_auth_flow/answer.md")

重要な注意事項

**すべてのファイルパスは、カレントディレクトリを基準とした相対パスで記載してください。** **絶対パス(/Users/... や C:\... など)は使用しないでください。** **回答は読みやすく、理解しやすい形式で記述してください。** **コード例を示す場合は、シンタックスハイライト付きのコードブロックを使用してください。**

例:

  • ❌ `/Users/kuroeda/projects/tsumiki-local/src/main.ts`
  • ✅ `src/main.ts`

調査手順

1. 質問の理解

  • 質問内容を分析し、何を調べるべきか明確にする
  • 質問の種類({{質問の種類}})に基づいて適切な調査アプローチを選択する

2. コードベースの調査

質問の種類に応じて以下を実施する:

"コードの場所" の場合

1. Grep/Glob を使って関連するファイル、クラス、関数を検索する 2. 検索結果から最も関連性の高いものをリストアップする 3. 各ファイルの役割を簡潔に説明する

"動作の仕方" の場合

1. 該当するコードを Read で確認する 2. コードの処理フローを分析する 3. 関連する他のファイルや関数を追跡する 4. 処理の流れを順を追って説明する

"設計の理由" の場合

1. コード内のコメントやドキュメントを確認する 2. 類似の実装パターンを探す 3. アーキテクチャ上の考慮事項を分析する 4. 推測される設計意図を説明する

"使い方" の場合

1. 該当する機能やAPIの定義を確認する 2. 使用例をコードベースから探す 3. パラメータ、戻り値、例外などを確認する 4. 実際の使い方を具体例とともに説明する

3. 回答の構造化

以下の出力形式で {{回答ファイル}} に結果を保存してください。

回答出力形式

# コード質問への回答

**質問**: {{質問内容}}
**調査日時**: {{調査日時}}
**調査者**: Claude Code

---

## 概要

{{質問に対する簡潔な回答(2-3文)}}

---

## 詳細な回答

### {{セクション1のタイトル}}

{{詳細な説明}}

#### 関連ファイル
- [相対パス:行番号](相対パス#L行番号) - {{ファイルの役割}}
- [相対パス:行番号](相対パス#L行番号) - {{ファイルの役割}}

#### コード例
```言語
{{関連するコード例}}

{{セクション2のタイトル}}

{{詳細な説明}}

(必要に応じてセクションを追加)

---

補足情報

関連する情報

  • {{補足情報1}}
  • {{補足情報2}}

参考リンク

  • {{内部ドキュメントや関連ファイルへのリンク}}

---

まとめ

{{回答の要点を簡潔にまとめる(箇条書きで3-5項目)}}

  • {{要点1}}
  • {{要点2}}
  • {{要点3}}

---

*この回答は自動調査により生成されました。さらに詳しい情報が必要な場合は、追加の質問を投げかけてください。*


# 調査の注意点

- 質問に直接関連する情報を優先的に収集する
- コード例を示す場合は、必要最小限の部分を抽出する
- 複雑な処理の場合は、図やフロー説明を含める
- 不明な点や推測の範囲は明確に示す
- **すべてのファイルパスは相対パスで記載する(絶対パスは使用しない)**
- 回答は初心者にも理解できるように平易な言葉で説明する
- 技術用語を使う場合は、必要に応じて説明を加える

必ず Write ツールを使用して、{{回答ファイル}} に結果を保存してください。
</code_question_template>

<followup_question_template>
あなたはソースコード分析のエキスパートです。以下の追加質問に対して、前回の回答を踏まえて追加調査を行い、回答してください。

# 追加質問情報

初回質問: {{初回質問内容}}
初回回答ファイル: {{初回回答ファイル}}
追加質問: {{追加質問内容}}
追加回答ファイル: {{追加回答ファイル}}(例: ".dcs/20260203123456_auth_flow/answer_2.md")
カレントディレクトリ: {{カレントディレクトリ}}

# 重要な注意事項

**すべてのファイルパスは、カレントディレクトリを基準とした相対パスで記載してください。**
**初回回答の内容を踏まえて、追加質問に焦点を絞った回答を作成してください。**
**前回の調査結果を参照する場合は、初回回答ファイルを Read で確認してください。**

# 追加調査手順

## 1. 前回の回答を確認

- {{初回回答ファイル}} を Read で読み込む
- 前回の調査結果を把握する
- 追加質問が前回の回答のどの部分に関連するか分析する

## 2. 追加調査の実施

- 追加質問に必要な新しい情報を調査する
- 前回の調査で見つからなかった詳細を深掘りする
- 必要に応じて新しいファイルやコードを調査する

## 3. 追加回答の構造化

以下の出力形式で {
Read more
Ships withtsumiki

TsumikiはAI駆動開発のためのフレームワークです。要件定義から実装まで、AIを活用した効率的な開発プロセスを提供します。 基本的にClaude Codeをサポートしますが、それ以外のツールでも使用できます。Claude Code以外のツールでtsumikiを使用する を参照してください。

Get the whole plugin

Other commands on tsumiki.

auto-debug
Command

auto-debug

テストエラーを解消するための自動デバッグプロセス。全テストケースの確認からエラー原因の調査、修正まで段階的に実行し、テストケースの成功率向上を目指します。

build-fix
Command

build-fix

ビルドエラー(コンパイルエラー、型エラー、依存パッケージ未解決)を自動的に分析・修正します。auto-debugから委譲される他、ユーザが直接呼び出すことも可能です。