incident-rca

インシデント調査で根本原因を特定するためのなぜなぜ分析ファシリテーションツールです。推測を避け、ユーザーの発言を記録し、リアルタイムでマインドツリーを作成して全体を可視化します。複合要因を分割し、最低1つの根本原因を特定します。

View on GitHub
Author Winds Chord
Namespace @windschord/claude-development-skills
Category general
Version 1.0.0
Stars 1
Downloads 3
self.md verified
Table of content

インシデント調査で根本原因を特定するためのなぜなぜ分析ファシリテーションツールです。推測を避け、ユーザーの発言を記録し、リアルタイムでマインドツリーを作成して全体を可視化します。複合要因を分割し、最低1つの根本原因を特定します。

Installation

npx claude-plugins install @windschord/claude-development-skills/incident-rca

Contents

Folders: sessions, templates

Files: README.md, SKILL.md

Documentation

インシデント調査で根本原因を特定するための、なぜなぜ分析ファシリテーションスキルです。

概要

インシデント根本原因分析(RCA: Root Cause Analysis)スキルは、システム障害やサービス停止などのインシデント発生時に、なぜなぜ分析を用いて体系的に根本原因を特定することを支援します。推測や意見を避け、ファシリテーターとしてユーザーの思考を整理し、リアルタイムでマインドツリーを作成して全体を可視化します。

主な機能

使用方法

基本的な使い方

インシデントの根本原因を分析したい

または

なぜなぜ分析を始めたい

分析の開始

スキルを有効化すると、まず成果物の保存先を確認してから、以下のような対話で分析が開始されます:

ファシリテーター: インシデントの根本原因分析を開始します。
                  まず、分析結果の保存先を確認させてください。

                  デフォルトでは以下のパスに保存します:
                  [プロジェクトルート]/sessions/[YYYY-MM-DD]-[incident-name]/

                  このまま進めてよろしいですか?
                  別のパスを指定する場合は、パスをお知らせください。

ユーザー: デフォルトで問題ありません

ファシリテーター: 承知しました。
                  では、発生した事象について教えてください。
                  何が起きましたか?

ユーザー: Webサイトが停止しました

ファシリテーター: いつ発生しましたか?

ユーザー: 2024-01-15 14:30頃です

ファシリテーター: どこで発生しましたか?

ユーザー: 本番環境のWebサーバーです

分析フロー

  1. 成果物の保存先を確認(デフォルト: プロジェクトルート/sessions/)
  2. インシデントの確認(現象、日時、場所)
  3. マインドツリーの初期化
  4. 第1階層の「なぜ?」を問いかける
  5. ユーザーの回答を記録し、マインドツリーに追加
  6. 複合要因がある場合は要因を分割
  7. 各要因について「なぜ?」を繰り返す
  8. 必要に応じて新しい視点を提供
  9. 根本原因を特定
  10. すべての要因について分析完了後、サマリーを作成

マインドツリーの例

単一要因の場合

mindmap
  root((Webサイト停止))
    現象
      2024-01-15 14:30に停止
      全ユーザーがアクセス不可
    要因分析
      なぜ1: サーバーがダウン
        なぜ2: メモリ不足で強制終了
          なぜ3: メモリリークが発生
            なぜ4: ファイルハンドル未解放
              なぜ5: finallyブロック未使用
                根本原因: コーディング規約とレビュープロセスの不備

複合要因の場合

mindmap
  root((APIレスポンス遅延))
    現象
      平均レスポンス 5秒
      ピーク時 15秒
    要因A: DBクエリ遅延
      なぜA1: インデックス未使用
        なぜA2: テーブル設計時に考慮漏れ
          根本原因A: 設計レビュープロセスの不足
    要因B: ネットワーク遅延
      なぜB1: 帯域不足
        なぜB2: トラフィック急増
          なぜB3: キャッシュが無効化された
            根本原因B: キャッシュ戦略の未定義

ファシリテーターの役割

このスキルは、ファシリテーターとしてのロールに専念します:

実施すること

実施しないこと

なぜなぜ分析の原則

基本ルール

根本原因の判定基準

複合要因の分割

複数の要因が存在する場合は、要因ごとに分割して分析します:

各要因について個別にマインドツリーを構築し、それぞれの根本原因を特定します。

煮詰まり時のサポート

ユーザーが煮詰まっている場合のみ、新しい視点を提供します:

煮詰まりの兆候

提供する視点

時間軸の視点:

空間軸の視点:

人・組織の視点:

技術の視点:

分析サマリー

分析完了時に、以下の内容を含むサマリーを自動作成します:

# インシデント根本原因分析サマリー

## インシデント概要
- 発生事象: [事象の説明]
- 発生日時: [日時]
- 発生場所: [システム/コンポーネント]

## 分析プロセス
- 分析手法: なぜなぜ分析
- 特定した要因数: [数]
- 「なぜ?」の深さ: [最大階層数]

## 特定された根本原因

### 根本原因1: [タイトル]
- 要因系統: [要因A/要因B等]
- 詳細: [根本原因の説明]
- 推奨対策: [ユーザーが述べた対策、またはなし]

## 分析ツリー

[最終的なマインドツリーを表示]

## 分析履歴

分析中に記録された主要な発言:
1. [記録1]
2. [記録2]
...

テンプレートとセッション管理

成果物

各分析セッションでは、以下の2つのドキュメントが自動作成されます:

1. result.md(分析結果)

分析完了時に作成される、包括的な分析結果ドキュメントです。

含まれる内容

テンプレート: templates/result_template.md

2. log.md(分析ログ)

分析セッション中の会話を完全に記録したログドキュメントです。

含まれる内容

テンプレート: templates/log_template.md

セッションディレクトリ構造

各分析セッションは以下の構造で管理されます:

デフォルトの場合(プロジェクトルート)

[プロジェクトルート]/
├── sessions/                  # 分析セッションの保存先
│   └── [YYYY-MM-DD]-[incident-name]/
│       ├── result.md          # 分析結果
│       └── log.md             # 会話ログ
└── (その他のプロジェクトファイル)

ユーザー指定の場合

[指定されたパス]/
└── [YYYY-MM-DD]-[incident-name]/
    ├── result.md              # 分析結果
    └── log.md                 # 会話ログ

ディレクトリ命名例

ドキュメント作成フロー

  1. 分析開始前: 成果物の保存先を確認(デフォルト: プロジェクトルート/sessions/)
  2. 分析開始時: セッションディレクトリを作成し、log.mdの記録を開始
  3. 分析進行中: すべての会話をlog.mdにリアルタイムで記録
  4. 分析完了時: result.mdを作成し、最終的なマインドツリーと根本原因、再発防止策を記録

制約事項

実施しないこと

実施の限界

以下の場合は、その旨をユーザーに伝え、現時点での分析結果を記録します:

ベストプラクティス

1. 中立性の維持

2. 構造化された記録

3. 根本原因の確実な特定

4. 複

…(truncated)

Source

View on GitHub

Tags: general