mcpField
O
orca-eval

orca-eval

github.com/rheinmirエージェントワークフロー10248 回インストール2 週間前に更新
リポジトリ

orca-eval について

Claude Code のセッション履歴を評価し、プロセス改善案をまとめるスキルです。要約から修正、反復、摩擦、成功したワークフローを見つけ、変更案を提示した後、ユーザーの承認を待ちます。

主な機能

  1. 01要約を通じた最近のセッションログのスキャン
  2. 024 種類のワークフローシグナルの特定
  3. 03レポートの下書きと Wiki インデックスの更新
  4. 04各指摘に 1 つの対応案を付与
  5. 05変更前にユーザーの承認を待機

活用シーン

  1. 01最近のセッションで繰り返される修正の確認
  2. 02スキル化候補となる反復コマンドの発見
  3. 03繰り返すツールエラーやリトライの検出
  4. 04修正なしで承認されたワークフローの記録

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/rheinmir/setup --skill orca-eval

インストール後、Claude Code で/orca-evalを入力して読み込まれたか確認します。

同梱ファイルassets/orca-eval-scan.sh

詳細

スキル:orca-eval

WHAT

目的とコンテキスト
  • 目的: プロセスを自己改善するサイクルです。session logs を読み返す → ベストプラクティス/アンチパターンを抽出する → md レポートを作成する → アクション(スキルへの昇格、CLAUDE.md の修正、hook の追加など)を提案します。レポートは提案です。すべてのアクションは propose → ゲートを経る必要があり、自動では実行されません。
  • トリガー(使用するタイミング):
    • /orca-eval [N] — N = スキャンする直近のセッション数(例:5/10/15)
    • N がない場合 → 現在のセッションのみスキャンします
    • ユーザーが「セッションを評価して」「ベストプラクティスを抽出して」「履歴からプロセスを最適化して」と言った場合
  • 対象外: アクション(スキルへの昇格、CLAUDE.md の修正、hook の追加)を自動実行しません。session log の修正/削除は行いません。30 セッションごとの自動トリガーは行いません(Phase 2 であり、このスキルには含まれません)。
メンタルモデル

*.jsonl session logs → orca-eval-scan.sh digest(プロンプト · ツールエラー · 繰り返しコマンド)→ 4 つのシグナル(Correction · Repetition · Friction · Win)→ finding → アクションを 1 つだけ選択(promote-to-skill · update-CLAUDE.md · add-hook · keep · ignore)→ レポートのドラフト → 承認を待って停止

入力と出力の契約
FieldRequired?意味
InNいいえmtime に基づく直近の session 数 *.jsonl。デフォルト = 現在のセッション
Insession logs ~/.claude/projects/<project-slug>/*.jsonlはい読み取り専用
Outllmwiki/wiki/draft/orca/DDMMYY-eval-report.mdはいReport template に従う
Outwiki/index.md + wiki/log.md の更新はい—
Outユーザーに表示するアクション表はい「完了」= ユーザーが表を確認済み。アクションは未実行
ルールと機能
  • RULE-01(MUST):session logs は読み取り専用とします — *.jsonl を修正/削除しません。
  • RULE-02(MUST):トランスクリプト全体を読み込みません — 1 つのセッションが数百 KB に及ぶ場合があります。スキャナーの digest を通じて読み取ります。
  • RULE-03(MUST):各 finding にはアクションを 1 つだけ紐づけます。アクションはユーザーの承認後にのみ実行します(コード/スキルの変更の場合は propose を経由)。
  • RULE-04(MUST):Claude Code の JSONL 形式には公開仕様がありません — スキャナーに失敗した場合は現在のセッションにフォールバックして明示的に報告し、空のレポートは作成しません。
  • 機能:スキャナー経由でローカルの session log を読み取り、wiki のドラフト + index + log を書き込みます。ネットワークへのアクセスはなく、コード/設定の変更もありません。
失敗時の境界
  • スキャナーに失敗 → partial:現在のセッションにフォールバックして明示的に報告します。空のレポートは作成しません。
  • シグナルがない → finding が 0 件であることをレポートに明記します(finding を捏造しません)。
  • ユーザーが未承認 → アクションは proposed の状態となり、スキルは停止します。

HOW

メインワークフロー
StepTypeInputsActionOutputs/exitFailure/next
W01deterministicNリポジトリルートから skills/orca-eval/assets/orca-eval-scan.sh [N] を実行してスキャンdigest失敗 → B01
W02judgmentdigest4 種類のシグナルを抽出finding の一覧 + 証拠—
W03effectfindingtemplate に従ってレポートを作成し、index/log を更新レポートのドラフト—
W04judgmentfindingアクションの提案:ユーザーにアクション表を提示し、停止アクション表未承認 → 停止

各手順の詳細(W01〜W04 の正本):

  1. スキャン — リポジトリルートから skills/orca-eval/assets/orca-eval-scan.sh [N] を実行します。スクリプトは簡潔な digest(ユーザープロンプト、ツールエラー、繰り返された Bash コマンド)を返します。トランスクリプト全体を読み込まないでください — 1 つのセッションが数百 KB に及ぶ場合があります。
  2. 抽出 — digest から、次の 4 種類のシグナルを探します。
    • Correction:ユーザーがエージェントの発言を修正する(「違います、X を使って」「間違っています」「実は…」)→ 新しい対応ルール
    • Repetition:セッションをまたいで、コマンド/操作の連続が 3 回以上繰り返される → スキル化の候補
    • Friction:ツールエラーの繰り返し、permission prompt の頻発、リトライループ → hook/permission/設定の候補
    • Win:ユーザーがすぐに承認し、修正が不要だったワークフロー → 維持すべきベストプラクティスとして記録
  3. レポート — 以下の template に従って llmwiki/wiki/draft/orca/DDMMYY-eval-report.md に記録します。wiki/index.md + wiki/log.md を更新します。
  4. アクションの提案 — 各 finding にはアクションを 1 つだけ紐づけます:promote-to-skill / update-CLAUDE.md / add-hook / keep / ignore。ユーザーにアクション表を提示します。停止 — アクションはユーザーの承認後にのみ実行します(コード/スキルの変更の場合は propose を経由)。
入力
パラメーター意味デフォルト
N直近のセッション数(*.jsonl の mtime に基づく)現在のセッション

セッションログは ~/.claude/projects/<project-slug>/*.jsonl にあります。slug は cwd の / を - に置き換えたものです(例:-Users-giatran-orca-workspaces-setup-evaluation)。

分岐
ID種類条件動作スキップ/失敗再開先
B01復旧scanner の失敗(JSONL の形式変更)現在のセッションにフォールバックし、レポートで明示しますスキャン対象がない場合 → その旨を伝え、空のレポートは生成しませんW02
B02条件付き必須アクションがコード/スキルの変更で、ユーザーが承認した場合propose に移行 → ゲートユーザーが承認しない場合 → 停止—
検証と停止

scanner は決定論的です。シグナルの分類には判断が必要です。各 finding には、表に証拠(セッション+短い引用)を記載する必要があります。W04 でユーザーの承認を待って完全に停止します。

例
  • 肯定例: /orca-eval 10 → 最新の *.jsonl を 10 件スキャン → ユーザーが「/private/tmp ではなく ./scratchpad/ を使う」と 4 回修正したことを検出(Correction) → finding を update-CLAUDE.md に紐付けます。レポート llmwiki/wiki/draft/orca/DDMMYY-eval-report.md とアクション一覧を作成し、停止します。
  • 境界/失敗例: JSONL の形式変更により orca-eval-scan.sh が失敗 → 現在のセッションにフォールバックし、レポートに scanner の失敗を明記します。シグナルがない場合 → finding が 0 件であることを伝え、空のレポートは生成しません。
参考 — レポートテンプレート
---
type: draft
title: "DDMMYY-eval-report"
status: proposed
tags: [<skill-name>, output-report]
timestamp: YYYY-MM-DD
---

# DDMMYY-eval-report
**Type:** draft
**Status:** proposed
**Tags:** orca-eval, eval-report
**Proposed:** YYYY-MM-DD
**Scope:** <N session / session hiện tại> — <danh sách file jsonl đã quét>

## Best practices
| # | Tín hiệu | Loại | Bằng chứng (session, trích dẫn ngắn) |
|---|----------|------|--------------------------------------|

## Đề xuất action
| # | Finding | Action | Lý do |
|---|---------|--------|-------|

## Origin
- **Sessions:** <paths đã quét>
- **Generated by:** /orca-eval
参考 — 制限事項
  • セッションログは読み取り専用です — *.jsonl の変更/削除は行いません。
  • Claude Code の JSONL 形式には公開仕様がありません — scanner が失敗した場合は現在のセッションにフォールバックして明示し、空のレポートは生成しません。
  • 30 セッションごとの自動トリガー:Phase 2(Stop-hook とカウンターが必要)であり、このスキルには含まれません。
参考 — 参考資料(コミュニティ — 2026-06-11 時点の主張)
リポジトリ活用できる点
BayramAnnakov/claude-reflectcorrection(「no, use X」「remember:」)を検出する正規表現、キュー → 2 段階レビュー、グローバルとプロジェクトの CLAUDE.md の振り分け、/reflect-skills による繰り返しパターンの検出とスキル化
haddock-development/claude-reflect-systemセッション終了時に自動実行する Stop-hook(30 セッションごとの自動トリガーである Phase 2 の参考例)、スキル横断のベストプラクティス抽出
netresearch/claude-coach-plugin摩擦の検出 — 改善シグナルとして permission prompt/retry loop の数をカウント
robonuggets/skills — calibrateセッション内での自己改善:現在の会話をレビューし、スキル/メモリーの意図的な修正を提案
a-c-m reflection.md gist最小限の 1 ファイル版 — このスキルを簡潔に保ち、過剰な設計を避ける

起源

  • Raw: llmwiki/raw/evalution-engineering.md
  • Draft: wiki/draft/orca/110626-orca-eval-skill.md

コメント