mcpField
O
orca-eval

orca-eval

github.com/rheinmirAgent 工作流10248 次安装2 周前更新
代码仓库

关于 orca-eval

用于评估 Claude Code 会话记录并起草流程改进建议的技能。它通过摘要扫描纠正、重复、阻碍和有效流程等信号,提出建议后等待用户批准,不会自行执行更改。

主要功能

  1. 01通过摘要扫描近期会话日志
  2. 02识别四类流程信号
  3. 03起草报告并更新 Wiki 索引
  4. 04为每项发现指定一项建议操作
  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

内容

目的和背景
  • 目的: 自我改进闭环:回顾会话日志 → 提炼最佳实践 / 反模式 → 生成 md 报告 → 提出行动建议(提升为技能、修改 CLAUDE.md、添加 hook 等)。报告只是建议——所有行动都必须经过 propose → 审批门槛,不得自行执行。
  • 触发条件(何时使用):
    • /orca-eval [N] — N = 要扫描的最近会话数量(例如 5/10/15)
    • 未指定 N → 仅扫描当前会话
    • 用户说“评估会话”“提炼最佳实践”“根据历史优化流程”
  • 非目标: 不自行执行行动(提升技能、修改 CLAUDE.md、添加 hook);不修改 / 删除会话日志;不每 30 个会话自动触发(Phase 2,不在此技能范围内)。
思维模型

*.jsonl 会话日志 → orca-eval-scan.sh 摘要(提示词 · 工具错误 · 重复命令)→ 4 类信号(Correction · Repetition · Friction · Win)→ 发现 → 恰好 1 项行动(promote-to-skill · update-CLAUDE.md · add-hook · keep · ignore)→ 报告草稿 → 停止并等待批准。

输入和输出约定
字段必填?含义
输入N否按 mtime 排序的最近 *.jsonl 会话数量;默认 = 当前会话
输入会话日志 ~/.claude/projects/<project-slug>/*.jsonl是只读
输出llmwiki/wiki/draft/orca/DDMMYY-eval-report.md是按报告模板
输出更新 wiki/index.md + wiki/log.md是—
输出向用户显示的行动表是“完成” = 用户已看到表格;尚未执行行动
规则和能力
  • RULE-01 (MUST):对会话日志只读——不得修改 / 删除 *.jsonl。
  • RULE-02 (MUST):不得载入完整转录——单个会话可能有数百 KB;通过扫描器摘要读取。
  • RULE-03 (MUST):每项发现只关联 1 项行动;只有用户批准后才能执行行动(如果涉及代码 / 技能更改,则通过 propose)。
  • RULE-04 (MUST):Claude Code 的 JSONL 格式没有公开规范——扫描器失败时回退到当前会话并明确说明,不得生成空报告。
  • 能力:通过扫描器读取本地会话日志;写入 wiki 草稿、索引和日志。无网络访问,不修改代码 / 配置。
故障边界
  • 扫描器失败 → 部分完成:回退到当前会话并明确说明;不得生成空报告。
  • 没有任何信号 → 报告明确写出 0 项发现(不得捏造发现)。
  • 用户尚未批准 → 行动状态为 proposed,技能停止。

使用方法

主工作流
步骤类型输入操作输出 / 退出失败 / 后续
W01确定性N从仓库根目录运行扫描:skills/orca-eval/assets/orca-eval-scan.sh [N]摘要失败 → B01
W02判断摘要提炼 4 类信号发现列表 + 证据—
W03执行发现按模板生成报告 + 更新索引 / 日志报告草稿—
W04判断发现提出行动建议:向用户显示行动表,停止行动表未批准 → 停止

各步骤详述(W01–W04 的权威说明):

  1. 扫描 — 从仓库根目录运行 skills/orca-eval/assets/orca-eval-scan.sh [N]。脚本会返回精简摘要(用户提示词、工具错误、重复的 Bash 命令)。不得载入完整转录——单个会话可能有数百 KB。
  2. 提炼 — 从摘要中查找 4 类信号:
    • Correction(纠正):用户纠正 Agent 的说法(“不,用 X”“错了”“actually…”)→ 新的行为规则
    • Repetition(重复):跨会话重复 ≥ 3 次的命令 / 操作序列 → 技能化候选项
    • Friction(阻碍):重复出现的工具错误、多次权限提示、重试循环 → hook / 权限 / 配置候选项
    • Win(成功):用户快速批准且无需修改的工作流 → 记录为应保留的最佳实践
  3. 报告 — 按下方模板写入 llmwiki/wiki/draft/orca/DDMMYY-eval-report.md。更新 wiki/index.md + wiki/log.md。
  4. 行动建议 — 每项发现只关联 1 项行动:promote-to-skill / update-CLAUDE.md / add-hook / keep / ignore。向用户显示行动表。停止——只有用户批准后才能执行行动(如果涉及代码 / 技能更改,则通过 propose)。
输入
参数含义默认值
N最近的 session 数量(按 *.jsonl 的 mtime 排序)当前 session

Session 日志位于 ~/.claude/projects/<project-slug>/*.jsonl — slug 是将 cwd 中的 / 替换为 -(例如 -Users-giatran-orca-workspaces-setup-evaluation)。

分支
ID类型条件行为跳过 / 失败重新汇合
B01恢复scanner 失败(JSONL 格式变更)回退到当前 session,并在报告中明确说明没有可扫描内容 → 提示,不生成空报告W02
B02必需条件操作为代码/skill 变更且用户已批准转到 propose → gate用户未批准 → 停止—
验证和停止

Scanner 是确定性的;信号分类需要判断 — 每条发现都必须在表格中附有证据(session + 简短引文)。在 W04 硬性停止,等待用户批准。

示例
  • 正向: /orca-eval 10 → 扫描最新的 10 个 *.jsonl → 发现用户 4 次修正「使用 ./scratchpad/,不要用 /private/tmp」(Correction)→ 将发现关联到 update-CLAUDE.md;报告 llmwiki/wiki/draft/orca/DDMMYY-eval-report.md + action 表,停止。
  • 边界/失败: orca-eval-scan.sh 因 JSONL 格式变更而出错 → 回退到当前 session,报告明确记录 scanner 失败;没有任何信号 → 提示 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
参考 — 限制
  • 对 session 日志只读 — 不修改/删除 *.jsonl。
  • Claude Code 的 JSONL 格式没有公开规范 — scanner 失败时回退到当前 session 并明确说明,不生成空报告。
  • 每 30 个 session 自动触发:Phase 2(需要 Stop-hook + counter),尚未包含在此 skill 中。
参考 — 参考资料(社区 — 声称于 2026-06-11)
Repo可借鉴之处
BayramAnnakov/claude-reflect使用 Regex 捕捉修正(“no, use X”、“remember:”),queue → 两阶段 review,路由到全局或项目 CLAUDE.md,/reflect-skills 查找重复模式并将其转化为 skill
haddock-development/claude-reflect-systemStop-hook 在 session 结束时自动运行(可作为 Phase 2 每 30 个 session 自动触发的示例),跨 skill 提取最佳实践
netresearch/claude-coach-plugin摩擦检测 — 统计 permission prompts / retry loops,作为改进信号
robonuggets/skills — calibrateSession 内自我改进:审查当前对话,有针对性地提出 skill/memory 修改建议
a-c-m reflection.md gist精简的单文件版本 — 保持此 skill 简洁,避免过度设计

起源

  • 原始文件: llmwiki/raw/evalution-engineering.md
  • 草稿: wiki/draft/orca/110626-orca-eval-skill.md

评论

支持 Markdown