bf-metrics
SKILL.md
Metrics Analysis
Overview
스프린트 메트릭을 집계·분석하여 모델 배당 최적화와 난이도 재태깅을 제안한다. 자동 적용하지 않으며, 사람이 판단한다.
When to Use
- 사용자가
/bf-metrics를 입력했을 때 /bf-archive-sprint완료 후 안내에 따라 실행할 때- 여러 스프린트를 거친 후 패턴 분석이 필요할 때
Prerequisites
docs/sprint-status.yaml또는docs/archive/*/sprint-status.yaml중 하나 이상 존재- 분석 대상 Story에 메트릭 필드가 기록되어 있어야 함 (레거시 Story는 건너뜀)
- 권장 실행 순서:
/bf-archive-sprint→/bf-metrics→/bf-update-conventions. 아카이빙 전에 실행해도 동작하지만, 아카이빙 후 실행하면 현재 + 아카이브 전체 데이터를 분석하여 더 정확한 결과를 제공
Error Handling
- sprint-status.yaml도 archive도 없으면: "분석 가능한 스프린트 데이터가 없습니다.
/bf-execute로 워크플로우를 먼저 실행하세요." 안내 - 모든 Story가 레거시이면: "메트릭 필드가 기록된 Story가 없습니다. 현행 워크플로우(v2+)로 실행한 스프린트만 분석할 수 있습니다." 안내
- 완료된 Story가 없으면: "완료(done) 상태의 Story가 없습니다. 진행 중인 스프린트의 분석은 완료 후 수행하세요." 안내
Instructions
1. 데이터 수집
a. 현재 스프린트 데이터를 수집한다:
docs/sprint-status.yaml읽기
b. 아카이브된 스프린트 데이터를 수집한다:
docs/archive/*/sprint-status.yaml패턴으로 모든 아카이브 파일 읽기
c. 분석 대상 필터링:
status: done인 Story만 분석 대상에 포함- 레거시 Story 판정 기준:
model_usedANDralph_retriesYAML key가 모두 존재하지 않는 Story는 레거시로 간주하여 건너뜀. 두 키 중 하나라도 존재하면 현행 포맷으로 처리한다. (model_used: null은 미완료 Story이므로status: done조건에서 이미 필터됨) - 건너뛴 Story 수를 기록하여 리포트에 표시
2. 집계 테이블 생성
(difficulty, model_used) 페어별로 다음 지표를 집계한다:
| 지표 | 계산 방법 |
|---|---|
| story_count | 해당 페어의 Story 수 |
| avg_ralph_retries | 평균 재시도 횟수 |
| avg_ralph_approaches | 평균 접근 전환 횟수 |
| stuck_rate | ralph_stuck: true 비율 (%) |
| avg_review_blockers | 평균 🔴 Blocker 건수 |
| avg_review_recommended | 평균 🟡 Recommended 건수 |
| regression_rate | is_regression: true 비율 (%) |
3. 모델 배당 최적화 제안
아래 임계값에 해당하는 (difficulty, model_used) 페어에 대해 제안을 생성한다:
| 조건 | 임계값 | 제안 |
|---|---|---|
| 높은 블로커 | avg_review_blockers >= 2.0 | 더 강한 모델 배당 제안 (예: sonnet → opus-lead) |
| 높은 재시도 | avg_ralph_retries >= 3.0 | 구현 모델 업그레이드 제안 |
| 높은 stuck | stuck_rate >= 20% | Agent Teams 전략 전환 제안 (예: ralph-loop → opus-lead) |
| 높은 회귀 | regression_rate >= 25% | 리뷰 모델 강화 제안 |
- 임계값에 해당하지 않으면 "현재 모델 배당 적정" 메시지를 표시한다.
- 제안에는 해당 조건을 충족한 구체적 수치를 함께 표시한다.
4. 난이도 재태깅 제안
완료된 개별 Story의 메트릭을 기준으로 난이도 조정을 제안한다:
과소평가 (상향 제안):
| 현재 → 제안 | 조건 |
|---|---|
| S → M | ralph_retries >= 3 OR review_blockers >= 2 OR ralph_stuck == true |
| M → L | ralph_retries >= 4 OR review_blockers >= 3 OR ralph_approaches >= 2 |
| L → XL | ralph_stuck == true AND ralph_approaches >= 3 |
과대평가 (하향 제안):
| 현재 → 제안 | 조건 |
|---|---|
| M → S | ralph_retries == 0 AND review_blockers == 0 AND review_recommended <= 1 |
| L → M | ralph_retries <= 1 AND review_blockers == 0 |
| XL → L | ralph_retries <= 1 AND review_blockers == 0 AND ralph_approaches == 0 |
- 해당 Story ID와 함께 구체적 메트릭 수치를 표시한다.
- 제안이 없으면 "난이도 태깅 적정" 메시지를 표시한다.
5. E2E 실패 패턴 분석
failure_tag별로 건수와 비율을 집계한다:
| failure_tag | 건수 | 비율 |
|---|---|---|
| spec-gap | N | N% |
| impl-bug | N | N% |
| test-design | N | N% |
| convention-violation | N | N% |
| integration | N | N% |
- regression Story가 없으면 "E2E 회귀 없음" 메시지를 표시한다.
- 특정 태그가 50% 이상이면 해당 영역 집중 개선 제안을 추가한다.
6. 종합 요약
위 분석 결과를 종합하여 우선순위별 액션 아이템을 정리한다:
- 🔴 즉시 조치: 높은 stuck_rate, 높은 블로커 등 심각한 패턴
- 🟡 검토 권장: 과소/과대평가된 난이도, 모델 최적화 기회
- 🟢 양호: 임계값 내 정상 범위
Output Format
대화로만 출력한다 (파일 저장 없음, read-only 스킬).
## 📊 BF Workflow Metrics Report
### 분석 범위
- 스프린트: {수집된 스프린트 목록}
- 분석 대상: {N}개 Story (레거시 {M}개 제외)
### 1. (Difficulty, Model) 페어별 집계
{집계 테이블}
### 2. 모델 배당 최적화 제안
{제안 목록 또는 "현재 모델 배당 적정"}
### 3. 난이도 재태깅 제안
{과소/과대평가 제안 목록 또는 "난이도 태깅 적정"}
### 4. E2E 실패 패턴
{failure_tag 집계 테이블 또는 "E2E 회귀 없음"}
### 5. 종합 액션 아이템
🔴 즉시 조치: ...
🟡 검토 권장: ...
🟢 양호: ...
Weekly Installs
10
Repository
khaki4/my_skillsFirst Seen
Feb 19, 2026
Security Audits
Installed on
claude-code10
mcpjam6
command-code6
junie6
windsurf6
zencoder6