with one click
usage-analytics
서브에이전트·스킬 사용 통계와 미사용 항목을 분석해 인사이트를 도출할 때 사용한다.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
서브에이전트·스킬 사용 통계와 미사용 항목을 분석해 인사이트를 도출할 때 사용한다.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
기존 user/project 메모리의 중복·노후 항목을 검토, 통합, 정리할 때 사용한다. 사용자 확인 없이 메모리를 삭제하지 않는다.
코딩·조사 작업을 별도 Picky Pickle에 위임할 때 사용한다. worktree 준비, 지침 작성, Pickle 생성·후속 관리를 수행한다.
Context7 CLI(`ctx7`)로 라이브러리·프레임워크 공식 문서와 API 예시를 조회할 때 사용한다.
새 기능, 큰 변경, 아키텍처 결정 전에 구현보다 설계를 먼저 확정할 때 사용한다.
장기·병렬·대규모 작업을 서브에이전트로 분해·실행·검증하거나 동적 workflow를 설계할 때 사용한다.
dev server, TUI, REPL, DB shell, 로그처럼 사용자 제어나 장시간 실행이 필요한 터미널 작업에 사용한다. AI 작업 위임에는 subagent를 사용한다.
| name | usage-analytics |
| description | 서브에이전트·스킬 사용 통계와 미사용 항목을 분석해 인사이트를 도출할 때 사용한다. |
| disable-model-invocation | false |
$ARGUMENTS 요청에 따라 서브에이전트·스킬 사용 데이터를 분석하고 인사이트를 도출한다.
로그 파일: ~/.pi/agent/state/usage-analytics.jsonl
각 줄은 JSON 객체이며 4가지 타입이 있다:
// 서브에이전트 시작 (run/batch/chain은 agent명 포함, continue는 "_continue" 플레이스홀더)
// 집계: subagent_end가 우선이며, end가 없는 legacy/incomplete batch/chain start만 total fallback으로 사용
{ "type": "subagent_start", "ts": "ISO8601", "epoch": 1234567890, "agent": "worker", "mode": "run" }
// 서브에이전트 완료 (집계의 단일 소스)
{ "type": "subagent_end", "ts": "ISO8601", "epoch": 1234567890, "agent": "worker", "runId": 42, "status": "error", "elapsedMs": 45000, "model": "openai-codex/gpt-5.3-codex-spark", "errorClass": "context_overflow", "peakContextTokens": 127196, "lastToolName": "read", "lastToolOutputChars": 9032 }
// 명시적 스킬 호출: `/skill:name`이 확장된 사용자 `<skill>` 메시지가 확정될 때 기록
{ "type": "skill_invoked", "ts": "ISO8601", "epoch": 1234567890, "skill": "picky-cli", "path": "/path/to/SKILL.md" }
// SKILL.md 읽기: 에이전트가 read 도구로 직접 열었을 때 기록하며, 같은 스킬의 10초 내 중복 read는 제외
{ "type": "skill_read", "ts": "ISO8601", "epoch": 1234567890, "skill": "systematic-debugging", "path": "/path/to/SKILL.md" }
$ARGUMENTS에서 분석 기간을 파악한다. 명시되지 않으면 최근 7일을 기본값으로 사용한다.
| 사용자 표현 | 기간 |
|---|---|
| "최근 일주일", "이번 주" | 최근 7일 |
| "최근 한 달", "이번 달" | 최근 30일 |
| "전체", "처음부터" | 로그 전체 |
| "오늘" | 오늘 하루 |
| 구체적 날짜 범위 | 해당 범위 |
cat ~/.pi/agent/state/usage-analytics.jsonl
파일이 없거나 비어있으면 "아직 수집된 사용 데이터가 없습니다." 로 종료한다.
로그 데이터를 파싱해서 아래 항목을 계산한다. 사용자 요청이 특정 항목에 한정되면 해당 항목만 계산해도 된다.
| 지표 | 계산 방법 |
|---|---|
| 호출 빈도 | subagent_end 이벤트 수를 우선 집계하고, 매칭되는 end가 없는 legacy/incomplete batch/chain의 subagent_start 이벤트 수만 fallback으로 더함 |
| 성공/실패 건수 | subagent_end의 status 필드로 집계 |
| 에러율 | error / (done + error) * 100 |
| 평균 소요시간 | subagent_end의 elapsedMs 평균 |
| 최장/최단 소요시간 | elapsedMs의 max / min |
| 사용 모델 분포 | model 필드별 건수 |
| 호출 모드 분포 | mode 필드별 건수 (run/continue/batch/chain) |
| 실패 원인 분포 | errorClass별 건수 (context_overflow, overloaded, rate_limit, tool_error, aborted, process_error, unknown) |
| 실패 시 컨텍스트·도구 | peakContextTokens, lastToolName, lastToolOutputChars로 실패 직전 상태 분석 |
| 일별 추이 | 날짜별 호출 건수 변화 |
skill_invoked와 skill_read는 의미가 다르므로 합산하지 않고 반드시 분리한다.
| 지표 | 계산 방법 |
|---|---|
| 명시적 호출 빈도 | skill_invoked 이벤트 수를 skill별로 집계. 실제 /skill:name 호출의 기본 지표로 사용 |
| 직접 읽기 빈도 | skill_read 이벤트 수를 skill별로 집계. 에이전트가 SKILL.md를 직접 로드한 활동으로 별도 표시 |
| 일별 추이 | 날짜별 skill_invoked와 skill_read 건수를 각각 계산 |
| 마지막 호출일 | 가장 최근 skill_invoked의 ts |
| 마지막 읽기일 | 가장 최근 skill_read의 ts |
skill_invoked는 이벤트 도입 이후부터 forward-only로 기록된다. 과거 데이터는 백필되지 않았으므로, 도입 전 기간의 호출 0회를 미사용 근거로 해석하지 않는다.
산출된 수치를 바탕으로 아래 관점에서 인사이트를 도출한다.
errorClass=context_overflow이고 peakContextTokens가 모델 한도에 근접하면 → 태스크 분할·탐색 출력 제한·guard 조정 검토lastToolOutputChars가 크면 → 검색 limit·read range·대상 경로 축소 검토skill_invoked와 skill_read가 모두 0회인 스킬 → 삭제 또는 통합 검토skill_invoked의 50% 이상을 차지 → 해당 스킬의 명시적 호출 패턴 검토skill_read의 50% 이상을 차지 → 반복 로드 또는 지나치게 넓은 트리거 검토아래 형식으로 보고서를 작성한다.
## 📊 사용 통계 분석 (기간: YYYY-MM-DD ~ YYYY-MM-DD)
### 🤖 서브에이전트
#### 요약
- 총 호출: N회 (성공 N회, 실패 N회)
- 활성 에이전트: N개 / 전체 N개
#### 에이전트별 상세
| 에이전트 | 호출 | 성공 | 실패 | 에러율 | 평균시간 | 비고 |
|---------|------|------|------|--------|---------|------|
| worker | 45 | 42 | 3 | 6.7% | 32s | |
| ... | | | | | | |
#### 인사이트
- ...
### 📚 스킬
#### 스킬별 상세
| 스킬 | 명시적 호출 | 직접 읽기 | 마지막 호출 | 마지막 읽기 | 비고 |
|------|------------|----------|------------|------------|------|
| ... | | | | | |
#### 미사용 스킬
- ...
#### 인사이트
- ...
### 💡 제안
- ...
skill_invoked를 명시적 호출, skill_read를 직접 읽기로 표시하며 서로 합산하거나 바꿔 부르지 않는다.ls ~/.pi/agent/agents/ + ls .pi/agents/ (프로젝트별)ls ~/.pi/agent/skills/ + ls .pi/skills/ (프로젝트별)