ワンクリックで
usage-analytics
서브에이전트·스킬 사용 통계와 미사용 항목을 분석해 인사이트를 도출할 때 사용한다.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
서브에이전트·스킬 사용 통계와 미사용 항목을 분석해 인사이트를 도출할 때 사용한다.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
기존 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/ (프로젝트별)