本文へ移動
cccskills
無料GitHub で公開

tdd-profile

TDD 세션이 끝난 뒤 "어디서 시간·토큰이 많이 들었나"를 단계(Skill)·에이전트별로 집계하고 병목과 model/effort 조정안을 보고한다. 세션 transcript를 읽는 사후 분석이며 코드를 바꾸지 않는다. "이번 TDD 세션 병목 분석", "토큰 어디에 썼어", "어느 단계가 느렸어", "모델 조정 제안", "/tdd-profile" 요청 시 사용.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md3.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

TDD Profile Skill

bin/tdd-profile.py를 실행하고 그 출력을 해석해서 병목 3개 이내와 model/effort 조정안을 보고한다. 숫자는 스크립트가 산출하고, 판단은 이 스킬이 한다.

GOAL

  • 성공 = 사용자가 "다음 세션에서 무엇을 바꿀지" 3개 이내로 안다
  • 입력: 세션 JSONL 경로, transcript 디렉터리, 또는 인자 없음(현재 cwd)
  • 출력: 아래 OUTPUT FORMAT의 보고 1개 (터미널 30줄 이내)

CONSTRAINTS

  • 스크립트 출력에 없는 수치를 지어내지 않는다. 해석은 출력의 숫자를 인용해서 한다
  • in(total)은 "턴 수 × 컨텍스트 크기"의 합이다. 이 값이 크다고 "많이 읽었다"고 말하지 않는다 — 새로 읽은 양은 cache+, 긴 이유는 turns
  • 메인 wall-clock은 에이전트 실행 대기를 포함하지 않는다(에이전트 행이 따로 있다). 둘을 더해서 단계 시간으로 말한다
  • 모델 제안은 스크립트의 휴리스틱(out/turn, tools/turn, edits)을 근거로 하되, 코드 편집 에이전트(tdd-red/green/blue)를 haiku로 변경하자고 하지 않는다 — 편집 품질 하락 위험이 절감분보다 크다
  • hunk-reviewer가 에이전트 목록에 보이면 hook 차단 이전 세션인지 확인하고 보고한다 (hooks/block-hunk-reviewer.sh, v1.17.0 이후는 차단됨)

절차

  1. 실행 — 인자를 그대로 넘긴다:
    python3 "${CLAUDE_PLUGIN_ROOT}/bin/tdd-profile.py" [인자]
    
    transcript 디렉터리가 없다는 오류면 사용자에게 세션 JSONL 경로를 요청한다 (~/.claude/projects/<cwd를 '-'로 치환한 slug>/)
  2. 출력의 네 절을 읽는다: 단계 표 → Agents → Heaviest turns → Recommendation
  3. 병목 판정 순서:
    1. 에이전트 합산 시간 1위 타입 (Agents by type) — 호출 빈도를 줄일 수 있는가
    2. 단계별 wall + 에이전트 wall 합 1위 — 그 단계의 turns가 큰가(왕복 과다), cache+가 큰가(반복 읽기·캐시 만료)
    3. Heaviest turns의 cache+ 300k 이상이 같은 단계에 집중되어 있는가 → 1h 캐시 TTL 만료 또는 컨텍스트 압축 후 재적재 신호
  4. model/effort: Recommendation 절의 단계별 제안과 "실제 사용" 절을 대조해 다른 곳만 말한다 (이미 일치하면 "유지")

OUTPUT FORMAT

## TDD 세션 프로파일 — <session-id 앞 8자리>
메인 <wall> / <turns>턴 / 에이전트 <n>개 <agent wall>

병목
1. <단계 또는 에이전트> — <숫자 인용> → <조치 한 줄>
2. ...
3. ...

model / effort
| 단계 | 실제 | 제안 | 근거 |
(다른 곳만, 최대 5행)

다음 세션에서 바꿀 것 (1~3개)

FAILURE CONDITIONS

  • 스크립트를 실행하지 않고 추정으로 보고
  • 병목이 4개 이상이거나 조치 없는 병목
  • in(total)을 "읽은 양"으로 해석
  • 코드 편집 에이전트에 haiku 제안

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

동일한 결과를 내는 여러 조건문(OR 나열·중첩 AND)을 하나로 통합하고 의미 있는 boolean 메서드로 추출. "조건문 합쳐", "같은 결과 반환하는 if 정리", "중첩 if 평탄화", "/consolidate-conditional" 요청 시 사용. 단, 여러 메서드에 흩어진 동일 조건을 호출자 쪽으로 올리는 것은 /lift-up-conditional, 복잡한 조건식·분기를 메서드로 쪼개는 것은 /decompose-conditional이 적합. /consolidate-conditional [commit-ref]로 호출.

日本語の概要は準備中です。原文の説明を表示しています。

msbaek/msbaek-claude-plugins82026年10月1日 更新

기능의 external behavior를 Cucumber 인수 테스트(주 검증층)로 구축 — .feature 실행으로 문서↔코드 드리프트를 구조적으로 차단, Four Layer(Steps→Protocol Driver→SUT), 태그 기반 가역 제외, 기존 JUnit 인수 테스트 이관. "인수 테스트 도입", "Gherkin을 실행 가능하게", "cucumber 셋업" 요청 시 사용. /cucumber-acceptance로 호출.

日本語の概要は準備中です。原文の説明を表示しています。

msbaek/msbaek-claude-plugins82026年10月1日 更新

복잡한 if/then/else의 조건식과 각 분기를 의미 있는 메서드로 추출하여 가독성 향상. "조건문 분해", "if 가독성", "복잡한 조건식에 이름 붙여", "/decompose-conditional" 요청 시 사용. 단, 같은 결과를 내는 조건문들을 하나로 합치는 것은 /consolidate-conditional, 타입별 분기를 클래스로 바꾸는 것은 /replace-conditional-with-poly가 적합. /decompose-conditional [commit-ref]로 호출.

日本語の概要は準備中です。原文の説明を表示しています。

msbaek/msbaek-claude-plugins82026年10月1日 更新

Primitive Obsession 제거 — 검증·연산이 따라다니는 primitive 필드(금액+통화, 이메일 문자열 등)를 도메인 개념을 담은 Value Object로 치환. "값 객체 도입", "primitive obsession", "Money 클래스로", "/discover-value-object" 요청 시 사용. 단, 함께 전달되는 파라미터 묶음을 객체로 바꾸는 것은 /introduce-parameter-object, 컬렉션을 감싸는 것은 /first-class-collection이 적합. /discover-value-object [commit-ref]로 호출.

日本語の概要は準備中です。原文の説明を表示しています。

msbaek/msbaek-claude-plugins82026年10月1日 更新

컬렉션 getter가 내부 List/Set을 직접 노출하는 것을 방지 — unmodifiable 반환 + add/remove 메서드 제공. "컬렉션 캡슐화", "getter가 List 그대로 노출", "unmodifiable로", "/encapsulate-collection" 요청 시 사용. 단, 컬렉션과 관련 로직을 전용 클래스로 뽑는 것은 /first-class-collection이 적합. /encapsulate-collection [commit-ref]로 호출.

日本語の概要は準備中です。原文の説明を表示しています。

msbaek/msbaek-claude-plugins82026年10月1日 更新

암묵적 의존성(전역 변수·클래스 필드·싱글턴 접근)을 명시적 파라미터로 전환하여 메서드 투명성 향상. "숨은 의존성 드러내", "필드 대신 파라미터로", "전역 참조 제거", "/explicit-parameters" 요청 시 사용. 단, 파라미터가 많아져 묶어야 하면 /introduce-parameter-object, I/O와 계산 분리는 /segregate-functional-core가 적합. /explicit-parameters [commit-ref]로 호출.

日本語の概要は準備中です。原文の説明を表示しています。

msbaek/msbaek-claude-plugins82026年10月1日 更新

msbaek のスキルをすべて見る

このスキルの問題を報告する