kubony

agent-leaderboard

11
0
# Install this skill:
npx skills add kubony/claude-agent-leaderboard

Or install specific skill: npx add-skill https://github.com/kubony/claude-agent-leaderboard

# Description

에이전트/스킬 실행 기여도를 분석하고 리포트를 생성합니다. stream.jsonl의 실행 로그를 파싱하여 호출 횟수, 성공률, 순위를 계산합니다. 내장 에이전트(general-purpose, Explore, Plan 등)는 제외하고 커스텀 에이전트/스킬만 분석합니다. "기여도 분석해줘", "이주의 에이전트", "에이전트 통계" 등의 요청 시 사용합니다.

# SKILL.md


name: agent-leaderboard
description: 에이전트/스킬 실행 기여도를 분석하고 리포트를 생성합니다. stream.jsonl의 실행 로그를 파싱하여 호출 횟수, 성공률, 순위를 계산합니다. 내장 에이전트(general-purpose, Explore, Plan 등)는 제외하고 커스텀 에이전트/스킬만 분석합니다. "기여도 분석해줘", "이주의 에이전트", "에이전트 통계" 등의 요청 시 사용합니다.
version: 2.8.0
author: 서인근
tags:
- 통계
- 분석
- 에이전트
- 스킬
- 기여도
- 리더보드
skill_type: managed


agent-leaderboard

에이전트/스킬 실행 기여도를 분석하고 리포트를 생성하는 스킬입니다.

개요

기존 Hook 시스템이 .claude/stream.jsonl에 수집한 실행 로그를 분석하여:
- 커스텀 에이전트/스킬별 호출 횟수
- 성공률 (end 이벤트가 있는 완료된 실행 비율)
- 총 실행 시간 및 평균 실행 시간
- 기간별 통계 (오늘, 이번 주, 특정 월)
- 미호출 항목 상세 (경로, 목적 포함 - 등록되어 있으나 사용되지 않은 에이전트/스킬)
- "이주의 에이전트상" 선정

v2.8.0 업데이트: 슬래시 커맨드 추적
- 커맨드 집계: 슬래시 커맨드 (/commit, /wrap 등) 사용 통계 추가
- 내장 CLI 명령어 제외 (/help, /clear, /exit 등)
- 모든 출력 형식(텍스트, 바차트, 마크다운, JSON)에서 ⚡ 슬래시 커맨드 섹션 표시

v2.7.0 업데이트: 전역 분석 모드 (기본값)
- 기본 범위: 모든 프로젝트 통합 분석 (--global, -g)
- 프로젝트 모드: 현재 프로젝트만 분석 (--project, -p)
- ~/.claude/projects/ 하위 모든 프로젝트 세션을 병렬 스캔

v2.6.0 업데이트: 기본값 변경 (UX 개선)
- 기본 기간: 이번 주 (월~오늘) → --all로 전체 기간
- 기본 출력: 텍스트 테이블 → --bar로 ASCII 바 차트

v2.5.0 업데이트: 고급 분석 + 병렬 처리
- 에이전트 체이닝 패턴 분석 (--chain)
- 시간대별 사용 패턴 분석 (--temporal)
- 에러 유형별 분류 (--errors)
- 전체 고급 분석 (--full)
- 병렬 세션 파싱 (기본 활성, 3배 빠름)

v2.4.0 업데이트: ASCII 바 차트 출력 추가
v2.3.0 업데이트: 세션 모드가 기본값으로 변경 (--stream으로 이전 모드 사용 가능)
v2.1.0 업데이트: 미호출 항목에 파일 경로와 description 표시
핵심 특징: 내장 에이전트(general-purpose, Explore, Plan 등)는 기본 제외

사용 시점

다음과 같은 요청이 있을 때 이 스킬을 사용하세요:

  1. "기여도 분석해줘"
  2. "에이전트 통계"
  3. "이주의 에이전트"
  4. "스킬 사용 현황"
  5. "이번 주 에이전트 실행 횟수"
  6. "미호출 에이전트 찾아줘"

실행 명령어

~/.claude/venv/bin/python ~/.claude/skills/agent-leaderboard/scripts/analyze_contributions.py

슬래시 커맨드

# 기본 (이번 주 + 모든 프로젝트 + 텍스트 테이블)
/agent-leaderboard

# 현재 프로젝트만 분석
/agent-leaderboard --project
/agent-leaderboard -p

# 바 차트 형식
/agent-leaderboard --bar

# 전체 기간
/agent-leaderboard --all
/agent-leaderboard --all --bar

# 고급 분석
/agent-leaderboard --full    # 전체 고급 분석 (Karpathy-level)
/agent-leaderboard --chain   # 체이닝 패턴만
/agent-leaderboard --temporal  # 시간대별 패턴만
/agent-leaderboard --errors  # 에러 분류만

CLI 옵션

날짜 필터

옵션 설명
(기본) 이번 주 통계 (월요일~오늘)
--all 전체 기간 통계
--today 오늘 통계
--month YYYY-MM 특정 월 통계
--start YYYY-MM-DD 시작 날짜 (--end와 함께)
--end YYYY-MM-DD 종료 날짜

출력 형식

옵션 설명
(기본) 텍스트 테이블 형식 (미호출 항목 포함)
--bar ASCII 바 차트 형식 (호출량 + 성공률 시각화)
--report 마크다운 리포트 출력
--json JSON 형식 출력

분석 범위

옵션 설명
--global, -g 모든 프로젝트 통합 분석 [기본값]
--project, -p 현재 프로젝트만 분석

기타 옵션

옵션 설명
--top N 상위 N개 표시 (기본값: 10)
--type agent/skill 타입 필터
--include-builtin 내장 에이전트 포함 (기본: 제외)
--session 세션 히스토리 기반 분석 (기본값)
--stream stream.jsonl 기반 분석 (Hook 로그만, 크래시 미포함)
--input PATH stream.jsonl 경로 지정 (--stream 모드용)
--chain 에이전트 체이닝 패턴 분석 (연속 호출 패턴)
--temporal 시간대별 사용 패턴 분석 (피크 시간, 요일별)
--errors 에러 유형별 분류 (OOM, timeout 등)
--full 전체 고급 분석 (--chain + --temporal + --errors)
--workers N 병렬 워커 수 (기본: CPU 코어 수, 최대 8)
--no-parallel 순차 처리 강제 (디버깅용)

출력 예시

텍스트 출력 (기본)

======================================================================
Agent Leaderboard - 에이전트/스킬 기여도 리포트
======================================================================
기간: 2026-01-02 ~ 2026-01-17 (16일)
총 실행: 210회 (에이전트 130회, 스킬 55회, 커맨드 25회)
(내장 에이전트 제외: general-purpose, Explore, Plan 등)

📊 에이전트 TOP 10
----------------------------------------------------------------------
순위 이름                          호출   성공   성공률  총시간
----------------------------------------------------------------------
 1   vault-organizer                  75     72     96%      1.8h
 2   recording-processor              48     45     94%      3.0h
 3   single-recording-processor       21     21    100%      9.3m
 4   knowledge-orchestrator           18     18    100%     20.5m
...

🔧 스킬 TOP 10
----------------------------------------------------------------------
순위 이름                          호출   성공   성공률  총시간
----------------------------------------------------------------------
 1   git-commit-push                  29     29    100%        1s
 2   ontology-sync                    16     16    100%        5s
...

⚡ 슬래시 커맨드 TOP 10
----------------------------------------------------------------------
순위 이름                          호출   성공   성공률  총시간
----------------------------------------------------------------------
 1   agent-leaderboard                12     12    100%        2s
 2   wrap                              8      8    100%        1s
 3   commit                            5      5    100%        1s
...

😴 미호출 항목 (등록되어 있으나 사용되지 않음)
----------------------------------------------------------------------

  📦 에이전트 (2개)
    • visualizer-launcher
      경로: .claude/agents/visualizer-launcher.md
      목적: 에이전트-스킬 관계 그래프를 생성하고 웹 서버를 실행하여 시각화합니다.
    • problem-definition-analyzer
      경로: .claude/agents/problem-definition-analyzer.md
      목적: 프로젝트 폴더를 분석하여 문제정의 프레임워크에 맞게 정리...

  🔧 스킬 (5개)
    • calendar-sync
      경로: .claude/skills/calendar-sync/SKILL.md
      목적: 구글 캘린더 일정을 인물사전에 자동 동기화...
    ...

======================================================================
🏆 이주의 에이전트상: vault-organizer
   75회 호출, 72회 성공 (96%)
======================================================================

JSON 출력

{
  "period": {
    "start": "2026-01-02",
    "end": "2026-01-17"
  },
  "totals": {
    "total_calls": 210,
    "agent_calls": 130,
    "skill_calls": 55,
    "command_calls": 25
  },
  "agents": [
    {
      "name": "vault-organizer",
      "call_count": 75,
      "completed_count": 72,
      "failed_count": 3,
      "success_rate": 0.96,
      "total_duration_seconds": 6455.2,
      "avg_duration_seconds": 89.7
    }
  ],
  "skills": [...],
  "commands": [
    {
      "name": "agent-leaderboard",
      "call_count": 12,
      "completed_count": 12,
      "success_rate": 1.0
    }
  ],
  "uncalled": {
    "agents": [
      {
        "name": "visualizer-launcher",
        "path": ".claude/agents/visualizer-launcher.md",
        "description": "에이전트-스킬 관계 그래프를 생성하고 웹 서버를 실행하여 시각화합니다."
      }
    ],
    "skills": [
      {
        "name": "calendar-sync",
        "path": ".claude/skills/calendar-sync/SKILL.md",
        "description": "구글 캘린더 일정을 인물사전에 자동 동기화..."
      }
    ]
  }
}

주요 파일

파일 설명
scripts/analyze_contributions.py 메인 CLI 스크립트
scripts/stream_parser.py JSONL 파서 (multiline 지원, 내장 에이전트 필터)
scripts/session_parser.py 세션 히스토리 파서 (--session 모드용, OOM 크래시 감지)
scripts/report_generator.py 리포트 생성기 (성공률, 미호출 감지)
SKILL.md 스킬 메타데이터

내장 에이전트 목록 (제외 대상)

BUILTIN_AGENTS = {
    'general-purpose',
    'Explore',
    'Plan',
    'Bash',
    'statusline-setup',
    'claude-code-guide',
    'worktree-review',
}

--include-builtin 옵션으로 포함 가능

성공/실패 판정

기본 모드 (stream.jsonl)

  • 성공: start 이벤트와 매칭되는 end 이벤트가 있음
  • 실패: start만 있고 end가 없음 (중단, 크래시, 진행 중)
  • 한계: OOM 크래시 시 Hook 자체가 실행되지 않아 로깅 안됨

세션 모드 (--session)

  • 성공(completed): tool_result가 있고 에러 아님
  • 실패(failed): tool_result에 is_error=true 또는 에러 패턴 포함
  • 크래시(crashed): tool_use는 있으나 tool_result가 없음 (OOM 등)
  • 장점: OOM 크래시까지 정확히 추적 (실제 성공률)

모드 비교 예시

vault-organizer:
  stream.jsonl: 75회, 100% 성공  (Hook이 기록한 것만)
  session:      60회, 70% 성공  (실제 - 크래시 18회 포함)

데이터 소스

기본 모드: .claude/stream.jsonl

Hook 시스템이 에이전트/스킬 실행 시 자동으로 기록:

{"ts": 1767364005109, "event": "start", "type": "agent", "name": "vault-organizer", "id": "2ac84ef7"}
{"ts": 1767364011863, "event": "end", "type": "agent", "name": "vault-organizer", "id": "2ac84ef7"}

세션 모드 (--session): ~/.claude/projects/[project-slug]/*.jsonl

Claude Code가 세션별로 자동 생성하는 로그:

// Task 호출
{"type":"assistant","message":{"content":[{"type":"tool_use","name":"Task","input":{"subagent_type":"vault-organizer"}}]}}
// 결과
{"type":"user","message":{"content":[{"type":"tool_result","tool_use_id":"...","is_error":false}]}}

의존성

표준 라이브러리만 사용 (추가 설치 없음):
- json
- re
- datetime
- argparse
- collections
- dataclasses
- pathlib

관련 문서

  • CLAUDE.md: 프로젝트 전체 가이드
  • Hook 설정: .claude/settings.local.json (stream.jsonl 로깅)
  • history-insight 스킬: 세션 히스토리 패턴 분석

라이선스

개인 사용 전용

# README.md

Agent Leaderboard

Analyze and report on agent/skill/command execution contributions in Claude Code. Parse execution logs to calculate call counts, success rates, and rankings.

Installation

/plugin install kubony/claude-agent-leaderboard

Manual Installation

git clone https://github.com/kubony/claude-agent-leaderboard.git
cp -r claude-agent-leaderboard ~/.claude/skills/agent-leaderboard

Usage

Slash Command

# Basic (this week + all projects + text table)
/agent-leaderboard

# Current project only
/agent-leaderboard --project
/agent-leaderboard -p

# ASCII bar chart
/agent-leaderboard --bar

# Full period
/agent-leaderboard --all

# Advanced analysis
/agent-leaderboard --full

CLI Options

Date Filter

Option Description
(default) This week stats (Mon~today)
--all Full period stats
--today Today only
--month YYYY-MM Specific month

Analysis Scope

Option Description
--global, -g All projects combined [default]
--project, -p Current project only

Output Format

Option Description
(default) Text table output
--bar ASCII bar chart output
--report Markdown report
--json JSON output

Advanced Analysis

Option Description
--full Full analysis (chaining + temporal + errors)
--chain Agent chaining pattern analysis
--temporal Usage pattern by time/day
--errors Error classification

Features

  • Call Statistics: Track custom agent/skill/command invocations
  • Slash Command Tracking: Track /wrap, /commit, etc. usage (v2.8.0)
  • Global Analysis: Analyze all projects at once (v2.7.0)
  • Success Rate: Calculate completion rates (including OOM crash detection)
  • Execution Time: Total and average duration per agent/skill
  • Uncalled Items: Detect registered but unused agents/skills
  • Weekly Award: "Agent of the Week" selection
  • Built-in Filter: Excludes Claude Code built-in agents (general-purpose, Explore, Plan, etc.)

Data Sources

Session Mode (Default)

Parses ~/.claude/projects/[project-slug]/*.jsonl session logs:
- Accurate OOM crash tracking
- Real success rate calculation
- Slash command tracking

Stream Mode (--stream)

Parses .claude/stream.jsonl hook logs:
- Faster parsing
- Limited crash detection (hooks don't run on OOM)

Output Example

======================================================================
Agent Leaderboard - Agent/Skill Contribution Report
======================================================================
Period: 2026-01-02 ~ 2026-01-17 (16 days)
Total Runs: 210 (Agents: 130, Skills: 55, Commands: 25)

📊 Agent TOP 10
----------------------------------------------------------------------
Rank Name                          Calls  Success  Rate   Time
----------------------------------------------------------------------
 1   vault-organizer                  75     72     96%    1.8h
 2   recording-processor              48     45     94%    3.0h
 3   single-recording-processor       21     21    100%    9.3m
...

🔧 Skill TOP 10
----------------------------------------------------------------------
Rank Name                          Calls  Success  Rate   Time
----------------------------------------------------------------------
 1   git-commit-push                  29     29    100%      1s
 2   ontology-sync                    16     16    100%      5s
...

⚡ Slash Command TOP 10
----------------------------------------------------------------------
Rank Name                          Calls  Success  Rate   Time
----------------------------------------------------------------------
 1   wrap                             44     44    100%     44s
 2   agent-leaderboard                44     44    100%     44s
 3   git-commit-push                  41     41    100%     41s
...

🏆 Agent of the Week: vault-organizer
   75 calls, 72 successes (96%)
======================================================================

Changelog

v2.8.0

  • Slash Command Tracking: Track /wrap, /commit, etc. usage
  • Filter built-in CLI commands (/help, /clear, /exit, etc.)
  • ⚡ Command section in all output formats

v2.7.0

  • Global Analysis Mode: Analyze all projects by default (--global)
  • --project option for current project only
  • Parallel scanning of ~/.claude/projects/

v2.6.0

  • Default period changed to "this week" (use --all for full period)
  • --bar option for ASCII bar chart

Requirements

  • Python 3.8+
  • No external dependencies (stdlib only)

License

MIT

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.