跳到正文
cccskills
免费在 GitHub 公开

tdd-profile

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

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md3.5 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

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 제안

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

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

中文简介正在准备中。当前显示原文说明。

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

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

中文简介正在准备中。当前显示原文说明。

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

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

中文简介正在准备中。当前显示原文说明。

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

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月16日 更新

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

中文简介正在准备中。当前显示原文说明。

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

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

中文简介正在准备中。当前显示原文说明。

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

查看 msbaek 的全部技能

报告此技能的问题