session-eval
Skill1 starsChanged 3 months agoMITView on GitHub
현재(또는 지정한) Claude Code 세션의 대화 이력을 평가한다. 사용자 요청(task) 단위로 슬라이스해 병렬 read-only judge 서브에이전트로 '요구사항을 명확히 수행했는지 + 했다고 한 것이 실제로 됐는지(주장 vs 실제) + 응답 품질'을 적대적으로 채점하고 우선순위 수정 포인트를 리포트한다. '내 응답 평가해줘', '이번 세션 평가', '요구사항 다 했는지 봐줘', 'session-eval', '평가원', '셀프 리뷰', 'evaluate this session' 등에 사용. 로컬 트랜스크립트(JSONL)만 읽는 READ ONLY.
- Deletes or force-pushes
1 other project uses a version of this.
Adopted by
Most recently taken up by
- styrir/skillstheir own version, first seen Oct 17, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- styrir/skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository13 other files it gives its agents.
- 01-architecture-checkSkill
- 02-guidelinesSkill
- 03-spec-requirementSkill
- 04-planningSkill
- 05-plan-reviewSkill
- 06-codingSkill
- applyhomeSkill
- code-recallSkill
- harness-evolveSkill
- harness-installerSkill
- obsidianSkill
- pre-commit-reviewSkill
- test-skill-installerSkill
The file
Files
session-eval — 세션 응답 평가원 (read-only)
직전 대화 이력을 사용자 요청 단위로 쪼개 각 요청에 대해 "요구사항 충족 / 주장 vs 실제 / 품질"을 평가하고, 수정 포인트를 우선순위로 돌려준다. 맥락이 크기 때문에 한 컨텍스트에 다 넣지 않고 task 슬라이스를 파일로 떨군 뒤 judge 서브에이전트로 병렬 팬아웃한다.
READ ONLY. 로컬 트랜스크립트(
~/.claude/projects/*/*.jsonl)만 읽는다. 어떤 내용도 외부로 보내지 않으며 파일을 수정/삭제하지 않는다. 평가 대상은 본인 세션 이력이다.
절차
1) 슬라이스
헬퍼로 트랜스크립트를 task 단위로 자른다. 인자가 없으면 가장 최근(=현재) 세션.
bash "$HOME/.claude/skills/session-eval/slice.sh" # 현재 세션 전체
bash "$HOME/.claude/skills/session-eval/slice.sh" --last 3 # 마지막 3개 요청만
bash "$HOME/.claude/skills/session-eval/slice.sh" --transcript <path.jsonl>출력에서 WORKDIR=..., TASKS=N, DEFS=...(사용 스킬/에이전트의 정의 파일 경로 맵)와
task 요약 표를 읽는다. 각 task 는 $WORKDIR/task-<index>.json 으로 저장돼 있다(필드:
prompt, answers, tools, results(is_error 포함), skills, agents, thinking_blocks).
TASKS=0이면 평가할 요청이 없다고 보고하고 종료.- 사용자가 범위를 안 줬고 task 가 많으면(>8) 기본은 전체지만, 비용을 알리고
--last N으로 좁힐 수 있음을 안내한다. (무엇을 평가에서 뺐는지 반드시 로그로 남길 것.) - 현재 세션 평가(인자 없이 실행) 시
slice.sh는 아직 답변이 안 달린 마지막 요청 (= 이/session-eval호출 자신)을 자동 제외한다. 직전 턴까지가 평가 대상이다. defs.json에서 경로가null인 스킬/에이전트는 정의 파일을 못 찾은 것(빌트인이거나 플러그인 캐시 밖 등)이다. judge 는 그 항목의 정의 파일을 Read 시도하지 말고 동작 평가만 한다.
2) 병렬 평가 (팬아웃)
각 task 마다 eval-judge 서브에이전트를 띄운다. judge 에는 파일 경로만 넘긴다
(슬라이스 본문을 메인 컨텍스트로 끌어오지 말 것 — 팬아웃의 핵심).
- Agent(subagent_type:
eval-judge) 호출, 프롬프트:"평가 대상 task 슬라이스: <WORKDIR>/task-<i>.json, 스킬/에이전트 정의 경로 맵: <WORKDIR>/defs.json. 둘 다 Read 로 읽고(필요 시 defs.json 이 가리키는 스킬 SKILL.md·에이전트 정의 파일도 Read), 시스템 프롬프트 루브릭대로 적대적으로 평가해 지정 포맷으로 반환하라." - 여러 judge 를 한 메시지에서 동시에 띄워 병렬 실행한다. task 가 많으면 6~8개씩 배치로 나눠 돌린다(동시 과다 생성 방지).
- judge 의 최종 텍스트(verdict)가 호출 결과로 돌아온다. 죽거나 빈 응답이면 해당 task 는 '평가 실패'로 표시하고 계속 진행한다.
3) 종합 리포트
judge verdict 들을 모아 사용자에게 다음을 보고한다:
- 한 줄 총평 + task별 상태 한 줄 표 (✅ 충족 / ⚠️ 부분 / ❌ 미흡 + 심각도)
- 우선순위 수정 포인트 — task 를 가로질러 반복되는 패턴을 묶어 상위로. 각 포인트는 무엇이/어디서(어느 task)/어떻게 고칠지 까지 actionable 하게.
- 개선 제안 (대상 3곳) — judge 들이 낸 개선안을 대상별로 묶어 정리한다:
- 입력 프롬프트: 다음에 더 나은 결과를 받기 위한 요청 작성법(+ 재작성 예시).
- 스킬 프롬프트(SKILL.md) / 에이전트 정의: 같은 정의 파일에 대한 제안은 파일별로 합쳐 "어느 지시를 어떻게" 까지 구체적으로. (목적: AI가 이 평가를 자동으로 돌릴 때 입력·스킬· 에이전트 프롬프트가 개선돼 다음 응답 품질이 올라가게 하는 것. 빌트인 등 정의 파일이 없는 에이전트는 동작 평가만.)
- (선택) 잘한 점 1~2개 — 강화할 패턴.
수정 포인트는 점수 나열보다 "다음에 이렇게 하라" 에 초점을 둔다.
종합은 judge 결과의 충실한 요약이다. judge 출력에 없는 사실을 새로 단정하지 말 것(특히 잘린 도구 결과를 근거로). 재해석이 필요하면 어느 judge 근거인지 함께 밝힌다. 요청 범위를 벗어난 절(불필요한 메타 평가·차기 행동 메뉴 등)은 넣지 않는다.
보고를 마치면 슬라이스 임시 디렉터리를 정리한다: rm -rf "$WORKDIR" (대화 원문 조각이
/tmp/session-eval.* 에 남지 않도록 — judge 들이 모두 끝난 뒤 실행). 이 정리는 코디네이터의
Bash 도구로 수행하는 정상 경로 책임이다(judge 가 파일을 Read 해야 하므로 slice.sh 가 정상
종료 시 직접 지울 수 없다). slice.sh 자체는 오류·중단 경로에서만 trap ... ERR INT TERM 으로
임시 디렉터리를 정리하므로, 정상 종료분의 정리는 반드시 이 단계에서 코디네이터가 책임진다.
주의
- judge 는 적대적(결함을 먼저 찾는) 으로 설정돼 있고, 근거 인용을 강제한다. 그래도 자기평가 편향이 남을 수 있으니, 종합 시 근거 없는 칭찬/감점은 깎아낸다.
thinking블록 본문은 슬라이스에 넣지 않는다(개수만). 평가는 사용자가 본 답변 + 실제 수행(tools/results) 기준이다.- 트랜스크립트 슬라이스 파일은 임시 디렉터리(
$WORKDIR)에 있고 민감할 수 있으니 내용을 그대로 사용자에게 덤프하지 말고 평가 결과만 전달한다.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

