11. 슬래시 커맨드 × 서브에이전트 = 완전 자동화 (subagents 고급편)
이전 이야기
10번 글에서 OSMU 파이프라인을 봤어요.
YouTube → 7개 서브에이전트 → 30분 만에 블로그 글 완성
이미 자동화되어 있었죠.
근데 여전히 문제가 있었어요:
"일상적인 반복 작업은 어떻게 자동화하지?"
"매일 Claude에게 요청하는 걸 없앨 수 없을까?"
이번엔 '매일 쓰는 커맨드'를 강화한다.
문제: 반복 작업의 귀찮음
실제 상황
5번 글에서 봤듯이, /daily-note는 이미 잘 작동해요:
/daily-note
# 오늘 날짜 파일 자동 생성
# Google Calendar 일정 자동 통합
# 스트레스 없음 ✅
근데 문제가 있어요:
/daily-note에서:
## ✅ 완료한 일
- Claude Code Episode 8-10 초안 완성
- 강릉 프로젝트 브랜드 네이밍 Ver 3 완성
/todos에서:
- [ ] Claude Code Episode 8-10 초안 완성 ← 여전히 미완료
- [ ] 강릉 프로젝트 브랜드 네이밍 Ver 3 완성 ← 여전히 미완료
슬래시 커맨드끼리 연동이 안 돼요.
그래서 매번:
나: "어제 작업 내역이랑 todos 안 맞아! 체크해서 업데이트해줘!"
Claude: "알겠습니다. 확인하겠습니다..."
→ active-todos.md 열기
→ 완료한 항목 찾기
→ [ ] → [x] 체크
→ completed: 2025-11-05 추가
→ result: "..." 요약 작성
→ completed-todos.md로 복사
→ active-todos.md에서 삭제
→ 정리 및 그룹핑
문제:
- 매번 요청해야 함
- 가끔 깜빡하면 누락 발생
총 소요 시간: 요청 1회당 ~2분
스트레스 지수: 높음 (깜빡하면 싱크 오류)
누적된 문제들
- 매번 수동 요청: "어제 내역 체크해줘" 매일 반복
- 싱크 누락: 깜빡하면 Daily Note와 Todos 불일치
- 파일 비대화: 408줄 (완료 항목 16개 방치)
- 정리 불가능: 어떤 항목이 방치됐는지 모름
해결: 슬래시 커맨드 + 서브에이전트
아이디어
"/daily-review를 이미 매일 아침 쓰고 있잖아?
→ 여기에 todos 자동 싱크 기능을 추가하면?
→ 복잡한 싱크 작업은 서브에이전트에게 맡기자."
기존:
/daily-review → Git 로그 분석, Telegram 수집 (전날 체크용)
개선:
/daily-review → Git 로그 분석, Telegram 수집
→ todos-manager 호출 (NEW!)
→ Daily Note ↔ Todos 자동 싱크
시스템 설계
필요한 기능
-
Daily Note → Todos 자동 싱크
- "완료한 일" 추출
- active-todos.md 매칭
- 자동 체크 및 필드 추가 -
자동 아카이빙
- 완료 항목 추출
- completed-todos.md로 이동
- active-todos.md 정리 -
스마트 그룹핑
- Today: deadline 기반
- This Week: 프로젝트별
- Someday: 장기 과제
- Stale: 7일+ 미착수 -
Stale 감지
- 7일 이상 미착수 자동 감지
- 경과일 계산 및 경고
실제 구현
Step 1: 서브에이전트 생성
todos-manager.md
---
name: todos-manager
description: Manage PKM todos system - sync Daily Note with todos,
auto-archive, and smart grouping
tools: Read, Edit, Write, Grep, Glob
model: sonnet
config:
active_todos: /home/rhim/claude-projects/pkm/40-personal/46-todos/active-todos.md
completed_todos: /home/rhim/claude-projects/pkm/40-personal/46-todos/completed-todos.md
daily_notes: /home/rhim/claude-projects/pkm/40-personal/41-daily/
---
# Todos Manager
## 핵심 미션
1. Daily Note → Todos 자동 싱크
2. 스마트 아카이빙
3. 스마트 그룹핑
4. Stale 감지
## 프로세스
### Phase 1: Daily Note 분석
- 오늘 Daily Note "✅ 완료한 일" 섹션 읽기
- 완료 항목 추출
### Phase 2: Todos 매칭 & 업데이트
- active-todos.md에서 유사 항목 찾기 (fuzzy matching)
- [ ] → [x] 자동 체크
- completed: YYYY-MM-DD 추가
- result: [요약] 추가
### Phase 3: 자동 아카이빙
- 완료 항목 추출
- completed-todos.md로 월별 정리
- active-todos.md에서 삭제
### Phase 4: 스마트 그룹핑
- 🔥 Today: deadline 오늘, priority: high
- 📅 This Week: 프로젝트별 (IMI WORK, 교육, 운영)
- 🔮 Someday: deadline 없음
- ⏰ Stale: 7일+ 미착수 (자동 감지)
### Phase 5: 리포트 생성
- 완료 & 아카이빙 요약
- Active Todos 통계
- Stale 항목 경고
파일 위치: ~/.claude/agents/todos-manager.md
특징:
- ✅ 단일 책임: Todos 관리만
- ✅ Config 분리: 경로 변경 쉬움
- ✅ 최소 권한: Read, Edit, Write만
- ✅ 명확한 프로세스: 5단계
Step 2: 슬래시 커맨드 수정
daily-review.md
---
description: 어제와 오늘의 변경사항 분석 및 Daily Review 생성
allowed-tools: Read, Write, Edit, Bash, Grep, Glob, Skill, Task
---
어제와 오늘의 프로젝트 진행 상황을 분석하고 Daily Review를 생성한다.
**수행할 작업:**
1. 어제 변경된 파일 찾기
2. 프로젝트별 변경사항 분석
3. Daily Note 열기/생성
4. Telegram Inbox 수집
5. **Todos Manager 서브에이전트 자동 실행** ← NEW!
## 5. Todos Manager 자동 실행
**IMPORTANT**: Task 도구를 사용하여 `todos-manager` 서브에이전트를
자동 실행하세요.
Task(
subagent_type="todos-manager",
description="Daily Note와 Todos 자동 싱크",
prompt="""
오늘 Daily Note를 분석하고 Todos 시스템을 자동 업데이트하세요.
수행할 작업:
1. 오늘 Daily Note의 "✅ 완료한 일" 섹션에서 완료 항목 추출
2. active-todos.md와 매칭하여 자동 체크 및 completed 필드 추가
3. 완료된 항목을 completed-todos.md로 자동 아카이빙
4. active-todos.md를 스마트 그룹핑으로 재정렬
5. Stale 항목 (7일+ 미착수) 자동 감지
6. 결과 리포트 생성
오늘 날짜: $(date +%Y-%m-%d)
"""
)
**서브에이전트가 자동으로 수행:**
- ✅ Daily Note 완료 항목 추출
- ✅ active-todos.md 매칭 및 체크
- ✅ completed-todos.md 아카이빙
- ✅ 스마트 그룹핑 재정렬
- ✅ Stale 항목 감지
- ✅ 상세 리포트 생성
6. Daily Note에 Todos Manager 리포트 포함
파일 위치: ~/.claude/commands/daily-review.md
핵심:
- ✅ Task 도구로 서브에이전트 호출
- ✅ 명확한 prompt로 지시
- ✅ allowed-tools에 Task 추가
Step 3: 파일 구조 개편
Before (408줄, 혼재)
# Active Todos
## 📥 Inbox
- [ ] 항목들...
- [x] 완료 항목 (방치)
- [x] 완료 항목 (방치)
## Today
- [ ] 항목들...
## 📅 Scheduled
- [ ] 항목들...
After (153줄, 스마트 그룹핑)
# Active Todos
## 🔥 Today (긴급/중요)
- [ ] 강릉 프로젝트 Step 1 마무리 (deadline: 2025-11-08)
- [ ] 인사이터 대표님 제안 정리 (deadline: 2025-11-07)
## 📅 This Week (이번 주)
### IMI WORK (블로그/브랜딩)
- [ ] Claude Code 블로그 Week 1 완성
### 교육/컨설팅
- [ ] 로컬 브랜드 포럼 AI 강의 커리큘럼 준비
- [ ] 경주 소상공인 AI 특강 준비
### IMI 운영
- [ ] 인사동 매장 양도 프로젝트 진행
- [ ] 대출 관리 - 첫 이자 납부 준비
## 🔮 Someday (언젠가)
- [ ] IMI Working Backwards 재검토
## ⏰ Stale (7일+ 미착수)
<!-- todos-manager가 자동 감지 -->
## 📥 Inbox (처리 안 한 것들)
<!-- /todo로 추가된 미분류 항목 -->
파일 크기: 408줄 → 153줄 (62% 감소)
실제 사용
매일 아침/저녁 루틴
Before (매번 요청)
전날 저녁:
1. /daily-note 실행 (30초) ✅
2. Daily Note 작성 (90초) ✅
다음날 아침:
3. /daily-review 실행 ✅
4. "어제 내역이랑 todos 안 맞아! 체크해줘!" ← 매번 요청
→ Claude가 수동으로 처리 (2분)
→ 가끔 깜빡하면 누락 ❌
문제:
- 매번 명시적으로 요청해야 함
- 깜빡하면 싱크 오류
After (완전 자동)
전날 저녁:
1. /daily-note 실행 (30초) ✅
2. Daily Note 작성 (90초) ✅
다음날 아침 출근:
3. /daily-review 실행 (이미 매일 쓰던 커맨드)
# Git 로그 분석 (전날 체크)
# Telegram 수집
# todos-manager 자동 실행 ← NEW!
# Daily Note → Todos 자동 싱크 ← NEW!
# 알아서 매칭, 체크, 아카이빙
결과:
- 별도 요청 불필요
- 싱크 누락 0%
개선:
- ✅ 수동 요청 제거
- ✅ 깜빡임 방지
- ✅ 싱크 에러 0%
실행 화면
아침 출근해서:
나: /daily-review
Claude Code:
[1. Git 로그 분석...]
✅ 어제 변경 파일 6개 확인
[2. Telegram Inbox 수집...]
✅ 새 메시지 3개 수집
[3. todos-manager 서브에이전트 실행...] ← NEW!
📋 Todos Manager 리포트
### ✅ 완료 & 아카이빙
- 2개 항목 아카이빙 완료
- Claude Code Episode 8-10 초안 완성
- 강릉 프로젝트 브랜드 네이밍 Ver 3 완성
### 🔄 Active Todos 요약
- 🔥 Today: 2 items
- 📅 This Week: 5 items
- 🔮 Someday: 2 items
- ⏰ Stale: 0 items
- **Total Active**: 9 items
### ⚠️ Attention Needed
- 없음
[4. Daily Note 업데이트...]
✅ 리포트 추가 완료
완료! Daily Review가 준비되었습니다.
결과:
- ✅ Daily Note → Todos 자동 싱크
- ✅ 완료 항목 자동 아카이빙
- ✅ 스마트 그룹핑 완료
- ✅ Stale 항목 0개
성과 측정
Before vs After
| 항목 | Before | After | 개선율 |
|---|---|---|---|
| 파일 크기 | 408줄 | 153줄 | 62% ⬇️ |
| 완료 항목 방치 | 16개 | 0개 | 100% 해결 |
| 일일 관리 시간 | ~10분 | ~30초 | 95% ⬇️ |
| 싱크 에러 | 있음 | 없음 | 완전 해결 |
| 연간 시간 절약 | - | ~57시간 | - |
ROI 계산
투자:
- 서브에이전트 생성: 10분
- 슬래시 커맨드 수정: 10분
- 파일 구조 개편: 15분
- 테스트 및 문서화: 15분
→ 총 50분
효과:
- 일일 9분 30초 절약
- 연간 57시간 절약 (365일 × 9.5분)
투자 대비: 1회 50분 → 평생 자동화
핵심 포인트
1. 슬래시 커맨드 = 독립적 기능
/daily-note → Daily Note 생성 (Google Calendar 통합)
/todos → Todos 조회
/daily-review → 전체 리뷰
각자 독립적으로 작동
↓
서로 연동 안 됨 (문제!)
역할:
- ✅ 독립적인 기능 단위
- ✅ 사용자 인터페이스
- ❌ 서로 데이터 공유 불가
2. /daily-review = 기존 커맨드 강화
기존 기능 (5번 글):
/daily-review → Git 로그 분석
→ Telegram 수집
→ Daily Note 생성
기능 추가:
/daily-review → Git 로그 분석
→ Telegram 수집
→ Daily Note 생성
→ Task(todos-manager) ← NEW!
→ Todos 자동 싱크 ← NEW!
역할:
- ✅ 전날 작업 체크 (기존)
- ✅ 서브에이전트 호출 (추가)
- ✅ Todos 자동 싱크 (추가)
3. 서브에이전트 = 실행 엔진
todos-manager 서브에이전트:
1. Daily Note 읽기
2. active-todos.md 읽기
3. 매칭 & 체크
4. 아카이빙
5. 그룹핑
6. 리포트
역할:
- ✅ 복잡한 로직 캡슐화
- ✅ 재사용 가능한 모듈
- ✅ 독립적인 테스트 가능
4. Task 도구 = 호출 메커니즘
/daily-review.md:
Task(
subagent_type="todos-manager",
description="Daily Note와 Todos 자동 싱크",
prompt="..."
)
특징:
- ✅ 슬래시 커맨드 → 서브에이전트 호출
- ✅ 명확한 지시 전달 (prompt)
- ✅ 결과 자동 반환
5. Single Source of Truth
Before:
/daily-note (완료 기록) ← 여기 씀
/todos (수동 업데이트) ← 여기도 따로 업데이트
→ 싱크 오류 발생
After:
/daily-note (완료 기록) = Single Source of Truth ← 여기만 씀
↓
/daily-review (자동 연결)
↓
/todos (자동 업데이트)
→ 싱크 에러 0%
설계 원칙
원칙 1: 단일 책임 (Single Responsibility)
서브에이전트:
- todos-manager: Todos 관리만
- youtube-content-analyzer: YouTube 분석만
- seo-optimizer: SEO 최적화만
왜 중요한가?
- ✅ 테스트 쉬움
- ✅ 유지보수 쉬움
- ✅ 재사용 가능
원칙 2: Config 분리 (Separate Constants)
config:
active_todos: /home/rhim/.../active-todos.md
completed_todos: /home/rhim/.../completed-todos.md
daily_notes: /home/rhim/.../41-daily/
왜 중요한가?
- ✅ 경로 변경 시 config만 수정
- ✅ 하드코딩 제거
- ✅ 다른 환경 적용 쉬움
원칙 3: 최소 권한 (Least Privilege)
tools: Read, Edit, Write, Grep, Glob
왜 중요한가?
- ✅ 보안 강화
- ✅ 의도하지 않은 동작 방지
- ✅ 명확한 역할 정의
원칙 4: 명확한 인터페이스
슬래시 커맨드:
/daily-review → "어제와 오늘의 변경사항 분석"
/todos → "전체 Todo 보기"
/todos cleanup → "수동 정리"
서브에이전트:
description: "Manage PKM todos system - sync, archive, group"
왜 중요한가?
- ✅ 사용자 예측 가능
- ✅ 자동 발견 쉬움
- ✅ 문서화 불필요
확장 가능성
다른 조합 예시
예시 1: /backup (슬래시 커맨드)
Task(
subagent_type="backup-manager",
prompt="전체 프로젝트 백업 및 Git 커밋"
)
용도:
- 주요 파일 백업
- Git 자동 커밋
- 변경사항 요약
예시 2: /publish (슬래시 커맨드)
Task(
subagent_type="ghost-validator",
prompt="이미지 검증"
)
→
Task(
subagent_type="seo-optimizer",
prompt="SEO 최적화"
)
→
Task(
subagent_type="ghost-publisher",
prompt="Ghost 발행"
)
용도:
- 블로그 발행 자동화
- 서브에이전트 체이닝
예시 3: /weekly-review (슬래시 커맨드)
Task(
subagent_type="todos-analyzer",
prompt="이번 주 완료 통계"
)
→
Task(
subagent_type="report-generator",
prompt="Weekly 리포트 생성"
)
용도:
- 주간 리뷰 자동화
- 완료율 분석
- 인사이트 추출
실전 적용 가이드
Step 1: 반복 작업 식별
질문:
- 매일/매주 반복하는 작업이 있나?
- 10분 이상 걸리는 수작업이 있나?
- 자주 깜빡하는 작업이 있나?
예시:
✅ Daily Review
✅ Todos 관리
✅ 블로그 발행
✅ 주간 리포트
Step 2: 워크플로우 분해
예시: Daily Review
1. Git 로그 분석 (자동화 가능)
2. Telegram 수집 (자동화 가능)
3. Todos 싱크 (자동화 가능) ← 서브에이전트
4. Daily Note 생성 (자동화 가능)
5. 최종 검토 (수동)
Step 3: 슬래시 커맨드 생성
---
description: 매일 아침 루틴 자동화
allowed-tools: Read, Write, Task, Bash
---
1. Git 분석
2. Telegram 수집
3. Task(subagent_type="todos-manager")
4. Daily Note 생성
Step 4: 서브에이전트 생성
---
name: todos-manager
description: Todos 관리 자동화
tools: Read, Edit, Write
---
# 구체적인 프로세스 정의
Step 5: 테스트 및 개선
1. 소규모 테스트 (1주일)
2. 문제점 파악
3. 서브에이전트 개선
4. 프로덕션 적용
📚 공식 문서 준수
이 시스템은 Claude Code 공식 베스트 프랙티스를 따릅니다:
✅ Task 도구로 서브에이전트 호출
Task(
subagent_type="agent-name",
description="...",
prompt="..."
)
출처: Claude Code Subagents 공식 문서
✅ allowed-tools로 권한 제한
---
allowed-tools: Read, Write, Edit, Task, Bash
---
출처: Claude Code Slash Commands 공식 문서
✅ Config 분리
config:
path1: /home/user/...
path2: /home/user/...
출처: Subagent Best Practices
🎓 핵심 정리
슬래시 커맨드 + 서브에이전트 = 완전 자동화
/daily-review (트리거)
↓
Task 도구 (연결)
↓
todos-manager (실행)
↓
완전 자동화
설계 원칙
- 단일 책임: 서브에이전트는 하나의 역할만
- Config 분리: 경로/설정은 config 섹션에
- 최소 권한: 필요한 도구만 허용
- 명확한 인터페이스: description 명확하게
효과
- 시간 절약: 95% (10분 → 30초)
- 에러 제거: 싱크 오류 0%
- 파일 관리: 62% 크기 감소
- 스트레스 감소: 자동화로 인지 부하 최소화
작게 시작 → 점진적 확장
Phase 1: 슬래시 커맨드 하나
Phase 2: 서브에이전트 하나
Phase 3: Task 도구로 연결
Phase 4: 필요하면 추가
다음 편 예고
"서브에이전트는 프로젝트 안에서만 일해요.
외부 세계와 연결하려면? Skills가 필요한다."
다음 편에서는 Skills를 배워요:
- Google Calendar 일정 자동 조회
- Gmail 이메일 검색
- 웹 크롤링 자동화
슬래시 커맨드 vs 서브에이전트 vs Skills 완전 비교도 함께!
📝 참고 자료
이전 글
- "복잡한 일을 맡기는 AI 직원" (서브에이전트 사용편)
- "내 업무 전용 AI 만들기" (서브에이전트 만들기편)
- "YouTube 영상이 30분 만에 블로그 글이 되는 과정" (실전편)