---
name: evaluate-session
description: "Claude Codeセッションの効率を分析・スコアリングするWebツール。セッションログ（JSONL）を解析し、7観点100点満点で「無駄の有無」を評価。npx session-evaluatorで起動し、ブラウザUIでセッション選択→分析→改善提案まで実行可能。"
---

# Session Evaluator

郡嶋が開発した、Claude Codeセッションの効率を分析・スコアリングするWebツール。

## 概要

セッションログ（JSONL）を解析し、7つの観点から**100点満点**でスコアリングする。
「品質」ではなく「無駄の有無」に焦点を当てた評価で、セッション効率の改善に役立つ。

## 起動方法

```bash
# このスキルのappディレクトリから起動
cd <skill-dir>/app && npm install && npm start

# ポート指定
cd <skill-dir>/app && npm start -- --port 8080
```

起動するとブラウザが自動で開く（デフォルト: http://localhost:5173）。

## 使い方

1. **プロジェクト選択** — 左パネルに `~/.claude/projects/` 配下のプロジェクト一覧
2. **セッション選択** — 中央パネルでセッションを選択（最新順）
3. **分析実行**:
   - **Analyze** — Claude CLIでAI評価を実行（7観点スコアリング）
   - **Stats Only** — 統計データのみ表示（Claude CLI不要）
4. **モデル選択** — 評価に使うClaudeモデルを切り替え可能（sonnet / opus / haiku）
5. **History** — 過去の評価履歴を表示・管理

## 評価の7観点（100点満点）

| 観点 | 配点 | 内容 |
|---|---|---|
| A. 重複作業 | /15 | 同一ファイル重複読み込み、複数回書き直し、subagentとの作業重複 |
| B. トークン効率 | /15 | 入力トークン量、キャッシュ活用率、大型ツール結果によるコンテキスト肥大 |
| C. 目的外作業 | /20 | ユーザー指示と無関係なファイル操作、頼まれていない改善 |
| D. 初動の的確さ | /15 | タスクに適した初手を取れているか |
| E. エラー回復効率 | /10 | エラー後に原因分析せず即リトライしていないか |
| F. 不要な探索 | /15 | 目的に不要なファイル読み込み、過剰なGlob/Grep |
| G. モデル選定 | /10 | タスク複雑さに対してモデルが適切か |

**スコア目安**: 平均的なセッションは50〜65点。70点超えは本当に無駄のないセッションのみ。

## 必要環境

- Node.js 18以上
- Claude CLI（`claude` コマンドがPATHに通っていること）— Analyzeモードのみ
- Stats Onlyモードであれば Claude CLI なしでも利用可能

## 改善提案カテゴリ

評価結果には以下のカテゴリで改善提案が出力される（優先度順）:

1. **hook** — 機械的に検出・防止できる問題
2. **rule** — Claudeの判断基準に関わる問題
3. **skill** — 複数ステップの手順が毎回同じパターンで必要な場合
4. **command** — ユーザーが任意のタイミングで手動実行したい定型処理

## プロジェクト構成

```
app/
├── bin/cli.js             # CLIエントリポイント
├── src/
│   ├── server.js          # Expressサーバー + APIルーティング
│   ├── session-finder.js  # セッションログの検出・一覧取得
│   ├── analyzer.js        # JSONL解析・統計レポート生成
│   ├── evaluator.js       # Claude CLI呼び出し・スコアリング
│   └── history.js         # 評価履歴の保存・読み込み
├── public/
│   ├── index.html         # セッション選択UI
│   └── results.html       # 評価結果表示UI
└── package.json
```
