Community생산성 & 협업github.com

gvkhosla/compound-engineering-pi

CLI 할 일 시스템을 위한 발견 사항 분류 및 정리

compound-engineering-pi란 무엇인가요?

이 스킬은 개발자가 코드 리뷰, 보안 감사, 성능 분석 등 다양한 범주화된 발견 사항을 체계적으로 분류하고 CLI 기반 할 일(todo) 시스템에 통합할 수 있도록 설계되었습니다. 사용자는 발견 사항을 하나씩 제시받고, 각 항목을 할 일 목록에 추가(yes), 건너뛰기(next), 또는 수정(custom)할 수 있습니다. 할 일 파일은 자동으로 생성되거나 업데이트되며, 상태는 'pending'에서 'ready'로 변경되어 작업 대기 상태가 됩니다. 이 스킬은 Claude Code 환경에서 Haiku 모델과 함께 사용하도록 최적화되어 있으며, 분류 작업 중에는 절대 코드를 작성하지 않는다는 점이 중요합니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/gvkhosla/compound-engineering-pi/tree/HEAD/skills/triage

Installed? Explore more 생산성 & 협업 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

  • 먼저 /model을 Haiku로 설정합니다.
  • 그런 다음 .context/compound-engineering/todos/ 및 기존 todos/ 디렉터리에서 보류 중인 모든 할 일을 읽습니다.

분류를 위해 모든 발견 사항, 결정 사항 또는 문제를 여기에 하나씩 제시합니다. 목표는 각 항목을 검토하여 CLI 할 일 시스템에 추가할지 여부를 결정하는 것입니다.

중요: 분류 중에는 절대 코드를 작성하지 마세요!

이 명령은 다음에 사용됩니다:

  • 코드 리뷰 발견 사항 분류
  • 보안 감사 결과 처리
  • 성능 분석 검토
  • 추적이 필요한 기타 모든 범주화된 발견 사항 처리

워크플로

1단계: 각 발견 사항 제시

각 발견 사항에 대해 다음 형식으로 제시합니다:

---
이슈 #X: [간단한 제목]

심각도: 🔴 P1 (치명적) / 🟡 P2 (중요) / 🔵 P3 (있으면 좋음)

범주: [보안/성능/아키텍처/버그/기능/기타]

설명:
[문제 또는 개선 사항에 대한 자세한 설명]

위치: [파일_경로:라인_번호]

문제 시나리오:
[무엇이 잘못되었거나 발생할 수 있는지 단계별로 설명]

제안된 해결책:
[수정 방법]

예상 노력: [소용량 (< 2시간) / 중간 (2-8시간) / 대용량 (> 8시간)]

---
이것을 할 일 목록에 추가하시겠습니까?
1. 예 - 할 일 파일 생성
2. 다음 - 이 항목 건너뛰기
3. 사용자 정의 - 생성 전 수정

2단계: 사용자 결정 처리

사용자가 "예"라고 말한 경우:

  1. 기존 할 일 파일 업데이트 (있는 경우) 또는 새 파일 이름 생성:

    코드 리뷰에서 할 일이 이미 존재하는 경우:

    • 파일 이름을 {id}-pending-{priority}-{desc}.md → {id}-ready-{priority}-{desc}.md로 변경
    • YAML 프론트매터 업데이트: status: pending → status: ready
    • issue_id, priority, description은 변경하지 않고 유지

    새 할 일을 생성하는 경우:

    {next_id}-ready-{priority}-{brief-description}.md

    우선순위 매핑:

    • 🔴 P1 (치명적) → p1
    • 🟡 P2 (중요) → p2
    • 🔵 P3 (있으면 좋음) → p3

    예: 042-ready-p1-transaction-boundaries.md

  2. YAML 프론트매터 업데이트:

    ---
    status: ready # 중요: "pending"에서 "ready"로 변경
    priority: p1 # 또는 심각도에 따라 p2, p3
    issue_id: "042"
    tags: [범주, 관련-태그]
    dependencies: []
    ---
    
  3. 파일 내용 채우기 또는 업데이트:

    # [이슈 제목]
    
    ## 문제 설명
    [발견 사항의 설명]
    
    ## 발견 내용
    - [주요 발견 사항]
    - 위치: [파일_경로:라인_번호]
    - [시나리오 세부 정보]
    
    ## 제안된 해결책
    
    ### 옵션 1: [기본 해결책]
    - **장점**: [이점]
    - **단점**: [단점이 있다면]
    - **노력**: [소용량/중간/대용량]
    - **위험**: [낮음/중간/높음]
    
    ## 권장 조치
    [분류 중에 작성 - 구체적인 실행 계획]
    
    ## 기술 세부 사항
    - **영향받는 파일**: [파일 목록]
    - **관련 구성 요소**: [영향받는 구성 요소]
    - **데이터베이스 변경**: [예/아니오 - 예인 경우 설명]
    
    ## 리소스
    - 원본 발견 사항: [이 이슈의 출처]
    - 관련 이슈: [있는 경우]
    
    ## 수락 기준
    - [ ] [구체적인 성공 기준]
    - [ ] 테스트 통과
    - [ ] 코드 리뷰 완료
    
    ## 작업 로그
    
    ### {날짜} - 작업 승인됨
    **작성자:** Claude 분류 시스템
    **조치:**
    - 분류 세션 중 이슈 승인됨
    - 상태가 pending → ready로 변경됨
    - 작업을 위해 선택할 준비 완료
    
    **학습 내용:**
    - [컨텍스트 및 인사이트]
    
    ## 참고 사항
    출처: {날짜} 분류 세션
    
  4. 승인 확인: "✅ 승인됨: {new_filename} (이슈 #{issue_id}) - 상태: ready → 작업할 준비 완료"

사용자가 "다음"이라고 말한 경우:

  • 할 일 파일 삭제 - 관련이 없으므로 현재 위치에서 제거
  • 다음 항목으로 건너뛰기
  • 요약을 위해 건너뛴 항목 추적

사용자가 "사용자 정의"라고 말한 경우:

  • 수정할 내용(우선순위, 설명, 세부 사항) 질문
  • 정보 업데이트
  • 수정된 버전 제시
  • 다시 질문: 예/다음/사용자 정의

3단계: 모든 항목이 처리될 때까지 계속

  • 모든 항목을 하나씩 처리
  • 가시성을 위해 파일 기반 할 일(todos/ + /skill:file-todos)을 사용하여 추적
  • 항목 간 승인을 기다리지 않고 계속 진행

4단계: 최종 요약

모든 항목이 처리된 후:

## 분류 완료

**총 항목:** [X] **승인된 할 일 (ready):** [Y] **건너뛰기:** [Z]

### 승인된 할 일 (작업 준비 완료):

- `042-ready-p1-transaction-boundaries.md` - 트랜잭션 경계 문제
- `043-ready-p2-cache-optimization.md` - 캐시 성능 개선 ...

### 건너뛴 항목 (삭제됨):

- 항목 #5: [이유] - 제거됨
- 항목 #12: [이유] - 제거됨

### 변경 사항 요약:

분류 중에 다음과 같은 상태 업데이트가 발생했습니다:

- **Pending → Ready:** 파일 이름과 프론트매터가 승인된 상태를 반영하도록 업데이트됨
- **삭제됨:** 건너뛴 발견 사항의 할 일 파일이 제거됨
- 각 승인된 파일은 이제 YAML 프론트매터에 `status: ready`를 가짐

### 다음 단계:

1. 작업 준비가 완료된 승인된 할 일 보기:
   ```bash
   ls .context/compound-engineering/todos/*-ready-*.md todos/*-ready-*.md 2>/dev/null
   ```
  1. 승인된 항목 작업 시작:

    /resolve-todo-parallel  # 여러 승인된 항목을 효율적으로 처리
    
  2. 또는 개별 항목을 선택하여 작업

  3. 작업하면서 할 일 상태 업데이트:

    • Ready → In Progress (작업 중인 로컬 컨텍스트에서)
    • In Progress → Complete (파일 이름 변경: ready → complete, 프론트매터 업데이트)

## 예시 응답 형식


이슈 #5: 다단계 작업을 위한 트랜잭션 경계 누락

심각도: 🔴 P1 (치명적)

범주: 데이터 무결성 / 보안

설명: GoogleOauthCallbacks concern의 google_oauth2_connected 콜백이 트랜잭션 보호 없이 여러 데이터베이스 작업을 수행합니다. 중간에 어떤 단계라도 실패하면 데이터베이스가 일관성 없는 상태로 남게 됩니다.

위치: app/controllers/concerns/google_oauth_callbacks.rb:13-50

문제 시나리오:

  1. User.update 성공 (이메일 변경됨)
  2. Account.save! 실패 (유효성 검사 오류)
  3. 결과: User의 이메일은 변경되었지만 연결된 Account는 없음
  4. 다음 로그인 시도가 완전히 실패

트랜잭션 없이 수행되는 작업:

  • User 확인 (라인 13)
  • 대기자 명단 제거 (라인 14)
  • User 프로필 업데이트 (라인 21-23)
  • Account 생성 (라인 28-37)
  • 아바타 첨부 (라인 39-45)
  • Journey 생성 (라인 47)

제안된 해결책: 모든 작업을 ApplicationRecord.transaction do ... end 블록으로 감싸기

예상 노력: 소용량 (30분)


이것을 할 일 목록에 추가하시겠습니까?

  1. 예 - 할 일 파일 생성
  2. 다음 - 이 항목 건너뛰기
  3. 사용자 정의 - 생성 전 수정

## 중요한 구현 세부 사항

### 분류 중 상태 전환

**"예"가 선택된 경우:**
1. 파일 이름 변경: `{id}-pending-{priority}-{desc}.md` → `{id}-ready-{priority}-{desc}.md`
2. YAML 프론트매터 업데이트: `status: pending` → `status: ready`
3. 분류 승인 항목으로 작업 로그 업데이트
4. 확인: "✅ 승인됨: `{filename}` (이슈 #{issue_id}) - 상태: **ready**"

**"다음"이 선택된 경우:**
1. 현재 위치에서 할 일 파일 삭제
2. 다음 항목으로 건너뛰기
3. 시스템에 파일이 남지 않음

### 진행 상황 추적

할 일을 헤더로 제시할 때마다 다음을 포함합니다:
- **진행 상황:** X/Y 완료 (예: "3/10 완료")
- **예상 남은 시간:** 진행 속도에 기반
- **페이스:** 발견 사항당 시간을 모니터링하고 그에 따라 예상 조정

예시:

진행 상황: 3/10 완료 | 예상 시간: 약 2분 남음


### 분류 중에는 코딩 금지

- ✅ 발견 사항 제시
- ✅ 예/다음/사용자 정의 결정
- ✅ 할 일 파일 업데이트 (이름 변경, 프론트매터, 작업 로그)
- ❌ 수정 사항을 구현하거나 코드를 작성하지 마세요
- ❌ 자세한 구현 세부 사항을 추가하지 마세요
- ❌ 이것은 /resolve-todo-parallel 단계를 위한 것입니다

완료되면 다음 옵션을 제공합니다:

```markdown
다음에 무엇을 하시겠습니까?

1. /resolve-todo-parallel을 실행하여 할 일 해결
2. 할 일 커밋
3. 아무것도 안 함, 그냥 쉬기

관련 스킬