Skip to content
cccskills
FreePublished on GitHub

dev-debug

This skill should be used when the user asks to "dev-debug", "テストが失敗する", "ビルドエラーを直して", "デバッグ", "debug failing tests", "fix build error", "エラーを修正", "コンパイルエラー", "環境の問題を解決". テスト失敗、ビルドエラー、環境問題など様々なエラーパターンをカテゴリ別に診断し、最小コンテキストで修正する。

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md12.6 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Dev Debug

テスト失敗、コンパイルエラー、環境問題など、様々なエラーパターンに対応する集中デバッグスキル。エラーをカテゴリ分類し、それぞれに最適な診断・修正戦略を適用する。最小コンテキストでの高速解決を目指す。

前提知識

dev-*スキルフロー内の位置

dev-context → dev-plan → dev-impl → dev-verify
                              ↘ [dev-debug] ↗
                                     ↑
                              dev-webtest → [dev-debug webtest] → 「/dev-webtest retest で再テストしてください」
                                     ↑                                            │
                                     └──────── retest ────────────────────────────┘

dev-impl で解消できないエラーが発生した場合、dev-verify で問題が検出された場合、または dev-webtest で検出された画面系エラーの修正に使用する。

引数フォーマット

/dev-debug                           # 自動検出モード
/dev-debug "エラーメッセージや状況の説明"  # 手動指定モード
/dev-debug webtest                   # webtest エラー修正モード

エラーカテゴリと対応戦略

カテゴリ一覧

カテゴリ例診断アプローチ典型的な修正
コンパイル/型エラー型不一致、missing import、構文エラーエラーメッセージの直接分析型定義修正、import追加
テスト失敗assertion失敗、タイムアウト期待値と実際の差分分析ロジック修正 or テスト修正
ランタイムエラーnull参照、パニック、未処理例外スタックトレース分析エラーハンドリング追加
環境・設定依存関係エラー、設定ミス、パス問題設定ファイル・環境変数チェック設定修正、依存追加
Lint/フォーマットスタイル違反、未使用変数Lint出力分析自動修正 or コード調整
依存関係バージョン競合、パッケージ不足lock file/パッケージ分析バージョン調整、パッケージ追加
webtest エラー視覚崩れ、a11y違反、レスポンシブ不備、フォームバリデーション不備、シナリオ失敗error.md の検出内容・再現手順を分析CSS/HTML修正、バリデーション追加、機能バグ修正

ワークフロー

Step 1: エラー情報の収集と分類

自動検出モード(引数なし)

  1. docs/dev/context.md からテスト実行コマンドを取得する
  2. テストを実行してエラーを収集する
  3. ビルドコマンドがある場合はビルドも実行する

手動指定モード(引数あり、webtest 以外)

ユーザーが提供したエラー情報を分析する。

webtest モード(引数が webtest)

  1. docs/dev/webtests/errors/ を Glob で走査し、全 error.md を取得する
  2. 各 error.md を Read し、frontmatter の status: open のものだけ収集する
  3. 0件の場合 →「未解決の webtest エラーはありません」と報告して終了
  4. severity 順にソートする(critical → major → minor)
  5. 各エラーを Step 2 の webtest エラー診断 → Step 3 の修正・検証で順次処理する
  6. 全エラー処理後、Step 4 で報告する(/dev-webtest retest での再テストを案内)

分類判定

エラーメッセージのパターンマッチでカテゴリを判定する:

  • TypeError, SyntaxError, Cannot find module, missing import → コンパイル/型エラー
  • AssertionError, expect(, assert, test failed → テスト失敗
  • null, undefined, panic, NullPointerException, segfault → ランタイムエラー
  • ENOENT, Permission denied, port already in use, env → 環境・設定
  • eslint, prettier, clippy, unused variable → Lint/フォーマット
  • ERESOLVE, version conflict, peer dependency → 依存関係

Step 2: カテゴリ別診断

コンパイル/型エラー

最小コンテキスト: エラー箇所のファイルのみ読み込む。

  1. エラーメッセージから該当ファイルと行番号を特定する
  2. 該当ファイルの関連部分を読み込む(Read tool の offset/limit を活用)
  3. 型定義・インターフェースが関係する場合はそれも読み込む
  4. 修正案を生成する

テスト失敗

最小コンテキスト: テストファイル + 対象実装ファイル。

  1. 失敗テストのファイルと名称を特定する
  2. テストファイルを読み込み、期待値を確認する
  3. 対象の実装ファイルを読み込む
  4. 期待値と実際の差分から原因を特定する
  5. 判断: テストが正しいか、実装が正しいかを判断する
    • テストが正しい場合 → 実装を修正
    • 実装が正しい場合 → テストを修正(ユーザーに確認を推奨)

ランタイムエラー

最小コンテキスト: スタックトレースに含まれるファイル。

  1. スタックトレースからコールチェーンを特定する
  2. 最も関連性の高いファイルから読み込む
  3. null/undefined チェックの漏れ、例外ハンドリングの不足を特定する
  4. ガード句やエラーハンドリングを追加する

環境・設定

最小コンテキスト: 設定ファイル群。

  1. Explore サブエージェント(haiku)で設定ファイルを探索する
  2. 環境変数、パス設定、ポート設定等を確認する
  3. 必要に応じてユーザーに手動操作を依頼する(AskUserQuestion)
  4. AI単独で解決できない場合は明確に伝達する

Lint/フォーマット

最小コンテキスト: Lint出力のみ。

  1. Lint/フォーマッターの自動修正コマンドがあれば実行する
  2. 自動修正できない場合は手動で修正する
  3. 修正後に再度Lintを実行して確認する

依存関係

最小コンテキスト: パッケージ定義ファイル + lock file。

  1. パッケージマネージャのエラー出力を分析する
  2. 依存ツリーの競合を確認する
  3. 互換性のあるバージョンを提案する
  4. 必要に応じてユーザーに確認する(破壊的変更がある場合)

webtest エラー

最小コンテキスト: error.md + 関連するソースファイル。

error.md の step フィールドに応じて診断アプローチを切り替える:

step主な修正対象診断アプローチ
3-visualCSS、テンプレートerror.md の検出内容からレイアウト崩れの原因を特定し、CSS/テンプレートを修正
4-a11yHTML属性不足している alt、label、aria 属性、heading 階層を特定して追加
5-responsiveメディアクエリ、CSS問題のビューポートサイズに対応するメディアクエリやレイアウト CSS を修正
6-formバリデーションロジックサーバー/クライアントのバリデーション処理を特定して修正。XSS/SQLi はサニタイズ処理を追加
2a-scenario / 2b-monkey機能実装再現手順と期待される状態から機能バグを特定し、実装を修正
  1. error.md の「検出内容」「再現手順」「期待される状態」を読み取る
  2. Explore サブエージェント(haiku)で関連ソースファイルを特定する
  3. 上記テーブルに従い修正案を生成する
  4. 修正を適用する(Step 3 へ進む)

Step 3: 修正の適用と検証

  1. 修正案を適用する
  2. カテゴリに応じた検証コマンドを実行する:
    • コンパイル/型エラー → ビルド実行
    • テスト失敗 → 失敗していたテストを実行
    • ランタイムエラー → 関連テストを実行
    • 環境・設定 → 環境チェックコマンド
    • Lint → Lint再実行
    • 依存関係 → インストール + ビルド
  3. 修正が不十分な場合は Step 2 に戻る(最大3サイクル)

Step 4: 回帰テストと報告

  1. 修正対象のエラーが解消されたことを確認する
  2. 全テストを実行し、回帰がないことを確認する
  3. 結果をユーザーに報告する

報告フォーマット(通常モード):

## dev-debug 結果

### 検出されたエラー
- カテゴリ: [エラーカテゴリ]
- 原因: [根本原因の説明]

### 適用した修正
- [ファイル](パス): [修正内容]

### 検証結果
- 対象エラー: 解消
- 回帰テスト: passed / failed

### 確信度
- 🔵/🟡/🔴: [修正の確信度と理由]

報告フォーマット(webtest モード):

## dev-debug webtest 結果

### 修正したエラー
| # | error.md | severity | step | 修正内容 |
|---|----------|----------|------|---------|
| 1 | docs/dev/webtests/errors/.../ | critical | 2a-scenario | [修正内容] |

### 修正できなかったエラー
| # | error.md | severity | step | 理由 |
|---|----------|----------|------|------|
(なければ「なし」)

### 次のステップ
`/dev-webtest retest` で再テストし、修正が反映されているか確認してください。

サイクル制限と escalation

3サイクルで解決できない場合:

  1. これまでの診断結果と試行した修正をユーザーに報告する
  2. 考えられる追加の原因仮説を提示する
  3. ユーザーに次のアクションを相談する(AskUserQuestion):
    • 追加情報の提供
    • 手動での確認依頼
    • アプローチの変更

Intent コメントルール

コード修正時に、既存の Intent コメント(🔵🟡🔴)を維持し、修正箇所には適切に追加・更新する。

修正時の対応

  • 既存の Intent コメントがある関数を修正する場合: コメント内容が修正後も正確であれば維持する。修正により意図が変わった場合はコメントを更新する
  • 新しい関数・メソッドを追加する場合: dev-impl と同じルールで Intent コメントを付与する(public 関数は必須)
  • デバッグ修正特有の判断がある場合: 修正理由を Intent コメントに反映する
// 🟡 Intent: nil チェックを追加。元のコードではリポジトリが nil を返すケースが
//    未考慮だったため、エラーとして返却するガード句を追加。
func (s *TodoService) GetByID(ctx context.Context, id string) (*model.Todo, error) {

信号機の判定基準

  • 🔵 前工程指示: タスクファイル・plan.md で指示された修正
  • 🟡 妥当な推測: エラーパターンから推論した妥当な修正(ガード句追加、型修正等)
  • 🔴 AI推論補完: 根本原因が不明確なまま適用した暫定修正

ルール・制約

  • 最小コンテキスト原則: エラーに関連するファイルだけ読み込む。プロジェクト全体を読まない
  • サイクル制限: 修正→検証のサイクルは最大3回
  • 回帰防止: 修正後は必ず全テストを実行する
  • 環境問題の限界認識: AI単独で解決できない環境問題(OS設定、ネットワーク等)はユーザーに明示的に伝達する
  • テスト修正の慎重さ: テストを修正する場合はユーザーに確認を推奨する(テストが仕様を反映しているため)
  • 探索作業は Explore サブエージェント(haiku)に委託し、メインコンテキストを保護する
  • 500行ルール: 修正によりファイルが500行を超える場合は分割する
  • Bash コマンドはプロジェクトルートの 絶対パス を使用する($(git rev-parse --show-toplevel) でルートを取得)

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

This skill should be used when the user asks to "dev-context", "プロジェクトコンテキストを生成", "プロジェクトを分析", "generate project context", "analyze project", "コンテキストを更新". プロジェクトの技術スタック・テストフレームワーク・コーディング規約・アーキテクチャを自動分析し、コンパクトなコンテキストファイルを生成する。

The English summary is being prepared. Showing the original description.

classmethod/tsumiki973Updated Aug 7, 2026

This skill should be used when the user asks to "dev-impl", "タスクを実装", "テストファースト実装", "implement task", "実装を開始", "クイック修正", "quick fix", "dev-impl auth 001". TDDをガードレールとしたテストファースト実装を行う。通常モード(Plan+タスク指定)とクイックモード(直接指示)に対応。

The English summary is being prepared. Showing the original description.

classmethod/tsumiki973Updated Aug 7, 2026

This skill should be used when the user asks to "dev-init", "技術スタックを選定", "新規プロジェクト初期化", "initialize tech stack", "プロジェクトをセットアップ", "setup project", "scaffold project", "プロジェクト作成", "tech stackを決める". インタラクティブなヒアリングでプロジェクトの技術スタックを決定し、dev-context互換のコンテキストファイルを生成する。承認制でプロジェクトスキャフォールディングも実行可能。

The English summary is being prepared. Showing the original description.

classmethod/tsumiki973Updated Aug 7, 2026

This skill should be used when the user asks to "dev-navigate", "どこから始めれば", "何を使えばいい", "スキルを選んで", "ナビ", "navigate", "which skill", "how to start", "開発の進め方", "何から始める". 開発者がやりたいことをヒアリングし、最適なtsumikiスキルとその実行順序をナビゲーションする。

The English summary is being prepared. Showing the original description.

classmethod/tsumiki973Updated Aug 7, 2026

This skill should be used when the user asks to "dev-plan", "実装計画を作成", "要件からタスク分解", "create implementation plan", "plan tasks", "タスクを分割", "設計してタスクにする", "詳細要件定義", "full-spec plan", "EARS要件". ユーザーの要件をインターフェースファースト設計とテスト可能なタスクに分解し、Plan単位でdocs/dev/plans/に保存する。Lightweight(素早い計画)とFull-spec(EARS要件定義付き)の2モードに対応。

The English summary is being prepared. Showing the original description.

classmethod/tsumiki973Updated Aug 7, 2026

This skill should be used when the user asks to "dev-run", "自動実装", "タスクを一括実装", "auto implement", "run all tasks", "タスクを自動実行", "バッチ実装", "dev-run auth 001 005". Plan内の指定範囲のタスクをdev-impl/dev-verify/dev-debugのワークフローで自動実行するオーケストレーションスキル。

The English summary is being prepared. Showing the original description.

classmethod/tsumiki973Updated Aug 7, 2026

See all skills by classmethod

Report a problem with this skill