해리 시스템 인수인계 마스터 문서
작성일: 2026-04-24 · 대상: 해리의 Claude Code + Hermes + 주변 생태계 전부를 새 운영자에게 넘기기 위한 통합 문서
0. 이 시스템은 뭘 하는가
해리(비개발자 투자자)가 매일 받는 투자 의사결정 인텔리전스 자동화 체계. 세 층으로 구성:
- Claude Code (~/.claude/) — 대화 인터페이스 + 스킬·플러그인·훅 + 서브에이전트 오케스트레이션
- Hermes (~/hermes-repo → ~/.hermes/) — 크론으로 매일 돌아가는 데이터 수집·분석·알림 엔진 (채권/원유/블로그/트위터/텔레그램 수집 → 볼트 축적 → DM 발송)
- 주변 도구 — codex-proxy(ChatGPT 프록시), cmux(tmux 기반 병렬 세션), cowork(장기 큐), launchd(백그라운드 서비스), Telegram 봇 3종
데이터는 이중 볼트 (~/knowledge/ 해리 고유 · ~/knowledge-agent/ AI 작업장)에 자동 축적.
1. 전체 구조도 (한 장)
┌───────────────────────────────────────────────────────────────────────┐
│ 외부 인터페이스 │
│ Telegram 봇 3종 Gmail Google Drive DART KIS yfinance │
│ @openclaw_harybot (대화) @RONforMAC_Bot (알림) @ronclawBot (Codex) │
└───────────────┬────────────────────────────────────┬──────────────────┘
│ │
▼ ▼
┌──────────────────────────────┐ ┌─────────────────────────────────┐
│ Claude Code (~/.claude) │ │ Hermes Gateway (ai.hermes.gateway)│
│ • 스킬 65 + 커맨드 12 │ │ port :18789 launchd plist │
│ • 플러그인 6 + 훅 22 │ │ • cron_ticker (60s 주기) │
│ • MCP 서버 17 │ │ • 72 크론 잡 실행 │
│ • 메모리 58 │ │ • 텔레그램 webhook 라우팅 │
│ • 커스텀 에이전트 7 │ │ │
└──────────┬───────────────────┘ └──────┬──────────────────────────┘
│ │
│ 서브에이전트 · cmux · codex │ 실행: ~/.hermes/ (런타임)
│ │ 원본: ~/hermes-repo/ (GitHub)
▼ ▼ 배포: ./scripts/deploy_to_runtime.sh
┌──────────────────────────────┐ ┌─────────────────────────────────┐
│ cmux (tmux 7 surface) │ │ 파이프라인 스크립트 250+ │
│ surface 1: 감독 │ │ • 채권(bond_*) 13 │
│ surface 2-3: Claude Opus │ │ • 원유/에너지 5 │
│ surface 4-7: Codex GPT-5.4 │ │ • 데이터 수집 16 (블로그·트위터·│
│ ↓ │ │ 텔레그램·네프콘·뉴스레터) │
│ chatgpt-codex-proxy │ │ • 분석·인텔리전스 8 │
│ port :18642 (v0.5.0) │ │ • 볼트 운영 11 │
└──────────────────────────────┘ └──────┬──────────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ 이중 볼트 │
│ ~/knowledge/ (해리 고유) │
│ 000 선언 · 100 수신함 · 300 지식망│
│ 400 투자판단 · 700 실험실 │
│ ~/knowledge-agent/ (AI 작업장) │
│ 100-inbox · 200-atomic │
│ 300-connected · 400-reports │
│ _staging (승격 대기) │
└─────────────────────────────────────┘
2. 각 섹션 상세 (4 분할 문서)
본 마스터는 요약이고, 상세는 별도 파일로 나눠져 있음:
| 파일 | 내용 | 줄 수 |
|---|---|---|
| 260424_handover_skills.md | 스킬이란? 개념 · 실제 SKILL.md 전문 2개 · 에이전트 포맷 · 해리 top 10 · 신규 작성 템플릿 · 플러그인↔스킬 매핑 · 출처(GitHub URL) 컬럼 포함 · 65 스킬 카탈로그 | 731 |
| 260424_handover_plugins_hooks.md | 플러그인 6 · 훅 22 · MCP 17 · 메모리 58 · 훅 작성 실전 · MCP 추가 절차 · 메모리 4타입 실예시 · 장애 런북 5건 | 566 |
| 260424_handover_hermes.md | 레포↔런타임 · 크론 72개 전체 표 · 파이프라인 250+ · 볼트 · .env 전체 키 목록 · jobs.json 스키마 · 의존성 체인 5개 · 장애 런북 5건 · v0.7.0 이슈 6개 상세 | 864 |
| 260424_handover_ecosystem.md | codex-proxy · cmux · cowork · launchd · 외부 API | 173 |
| 260424_handover_twitter_workflow.md | 해리가 트위터 글 Claude에 던지는 워크플로 · twitter-apply 스킬 원리 · 볼트 경로 3종 · frontmatter 예시 · 인수자 재현 절차 | 427 |
합계 약 2,700줄. 실행 단위 디테일(.env·크론 전체·장애 런북·이슈 상세·SKILL.md 예시·출처 URL·트위터 워크플로) 모두 포함되어 외부자가 실제로 기동·확장·복구 가능한 수준.
3. 핵심 숫자 한 장 요약
| 영역 | 규모 |
|---|---|
| 스킬 | 65개 (~/.claude/skills) |
| 슬래시 커맨드 | 12개 (/ideas /today /close /ghost 등) |
| 커스텀 에이전트 | 7개 |
| 플러그인 | 6 (superpowers · claude-mem · telegram · figma · code-review-graph · everything-claude-code) |
| 훅 스크립트 | 22 (SessionStart 8 · PreToolUse 6 · PostToolUse 6 · Stop 5 · Notification 2 · UserPromptSubmit 1) |
| MCP 서버 | 17 (Google 3 · 플러그인 2 · 커스텀 Node 4 · stealth-browser · npm 4 · 미인증 3) |
| 메모리 | 58 파일 1,446줄 (feedback 42 · project 14 · 기타 2) |
| Hermes 크론 | 72개 (활성 65 · 비활성 7) |
| 파이프라인 스크립트 | 250+ (런타임은 .bak 포함 374) |
| launchd 서비스 | 31+ 활성 (ai.hermes. · com.openclaw. · com.ron. · com.hermes.) |
| Telegram 봇 | 3종 |
4. 카테고리별 스킬 맵 (요약판)
| 카테고리 | 대표 스킬 | 목적 |
|---|---|---|
| 투자분석 (16) | company-research · valuation · equities · fixed-income · volatility-modeling · risk-analysis · diversification · asset-allocation · stock-correlation · bet-sizing | 기업·산업·포트폴리오·리스크 분석 |
| 코드 품질 (12) | vibesubin · vibesubin-audit-security · vibesubin-refactor-verify · vibesubin-codex-fix · vibesubin-setup-ci · vibesubin-ship-cycle | 레포 건강 점검·리팩터·CI·릴리즈 |
| 시스템 운영 (7) | infra-ops · error-resolve · pipeline-debug · pipeline-create · cmux-orchestrator · skill-improve · skill-creator | 서버·크론·파이프라인·스킬 관리 |
| 외부 데이터 (8) | twitter-reader · telegram-reader · discord-reader · toss-securities · hormuz-strait · yfinance-data · korean-law-search · coupang-product-search | 소셜·증권·외부 정보 수집 |
| 볼트 (2) | vault-write · vault-query | 노트 쓰기·질의 |
| 창작/문서 (2) | simon-writing · slides | 김서준 스타일 에세이·프레젠테이션 |
| 기타 (9) | delivery-tracking · fine-dust-location · kakaotalk-mac · hwp · graphify · options-payoff · performance-metrics · return-calculations · statistics-fundamentals | 생활·문서·계산 보조 |
상세는 260424_handover_skills.md 참조.
5. 매일 자동으로 일어나는 일 (크론 요약)
| 시각 (KST) | 잡 | 결과 |
|---|---|---|
| 새벽 02:30 | (구) bond_daily_report → 09:00 이전 | 황대진 메일 파싱 → latest.json |
| 06:20 | twitter_collector | 146 계정 트윗 → ~/knowledge-agent/100-inbox/112 twitter-reports/ |
| 09:00 | bond_daily_report (신) | 당일 크레딧 메일 파싱 + 신선도 가드 |
| 11/17/23시 | blog_monitor | ranto28 + ssh_fedinsight 블로그 RSS → blog-insights/ |
| 07:45·13:45 | analyst_channel_collector | 애널리스트 텔레그램 채널 |
| 03·09·15·21시 | channel_collector · nepcon_collector | 텔레그램 118 · 네프콘 산업뉴스 |
| 15:40 | bond_market_close | 장마감 DM (신선도 가드 포함) |
| 기타 65+ | 매크로·섹터뉴스·펀더멘털·원유·Fed 유동성·볼트 정리 등 |
6. 볼트 규칙 (중요)
~/knowledge/ — 해리 고유 지식
- AI 원칙적으로 쓰기 금지 (읽기만). 단, 해리와의 대화에서 도출된 분석은 해리가 명시 요청 시 직접 쓰기 허용(스테이징 거치지 말고 바로).
- 폴더:
000 선언/(편집 금지) ·100/120 수신함·300 지식망·400/420~442 투자판단·700 실험실 - 스키마 준수 필수:
000 선언/003 v4-스키마.md참조 후 노트 위치·frontmatter 결정
~/knowledge-agent/ — AI 작업장 (자유 쓰기)
- 에이전트 리포트, 수집 데이터, 시그널, 분석 초안
- 구조:
100-inbox/·200-atomic/·300-connected/·400-reports/·500-signals/·_staging/(해리 승격 대기)
양방향 공유 프로토콜
- Claude Code → Hermes:
~/knowledge-agent/400-reports/YYMMDD_{source}_{topic}.md - Hermes → Claude Code:
~/knowledge-agent/100-inbox/...(agent-vault MCP로 Hermes가 씀)
7. 민감 정보 · 치환 필요 항목 (인수 시 반드시 재발급)
| 항목 | 위치 | 인수자가 할 일 |
|---|---|---|
| Anthropic API 키 | ~/.claude/.env, ~/.hermes/.env |
본인 키 발급 |
| ChatGPT 로그인 (codex-proxy) | ~/chatgpt-codex-proxy 세션 |
본인 ChatGPT Plus 구독 + 재로그인 |
| Telegram 봇 토큰 3개 | TELEGRAM_BOT_TOKEN* env |
봇 새로 만들기 (@BotFather) + 토큰 재발급 |
| Telegram 오너 ID | TELEGRAM_OWNER_ID |
본인 텔레그램 user_id |
| Gmail OAuth | Claude 지원 내장 | /configure 재인증 |
| Google Drive/Calendar | Claude 지원 내장 | /configure 재인증 |
| DART API 키 | DART_API_KEY env |
open.dart.fss.or.kr 에서 발급 |
| KIS API | KIS_APP_KEY/KIS_APP_SECRET env |
한국투자증권 개발자센터 |
| Cloudflare 터널 | virtual-insanity.net | CF 계정 + 터널 토큰 새로 |
| Obsidian Vault 경로 | OBSIDIAN_VAULT_PATH |
본인 볼트 경로로 변경 |
토큰 값은 본 문서에 노출 안 됐음. 모든 값은 .env 와 ~/Library/Keychains에 격리.
8. 인수인계 체크리스트 (순서대로)
Phase 1: 환경 기초 (Day 1)
- [ ] macOS + Python 3.11 + Node.js 20+ 설치
- [ ] Claude Code CLI 설치 (
curl anthropic.com/install.sh) - [ ] GitHub 계정 준비 + hermes-repo fork 또는 clone
- [ ]
~/.claude/디렉터리 복사 (hooks · skills · plugins · settings.json) - [ ]
.env재작성 (위 7번 항목 참조)
Phase 2: Hermes (Day 1~2)
- [ ]
~/hermes-repo클론 - [ ]
~/.hermes디렉터리 생성 (최소workspace/scripts·cron·logs·memory서브폴더) - [ ]
./scripts/deploy_to_runtime.sh --dry-run후 실제 실행 - [ ] launchd plist 복사:
~/Library/LaunchAgents/ai.hermes.gateway.plist등 →launchctl load - [ ] 게이트웨이 헬스체크:
curl localhost:18789/health
Phase 3: 외부 연결 (Day 2~3)
- [ ] Telegram 봇 3종 생성 + webhook 등록 (게이트웨이 URL)
- [ ] Gmail · Drive · Calendar OAuth (Claude MCP)
- [ ] DART · KIS API 키 발급 + env
- [ ] codex-proxy 설치 (
~/chatgpt-codex-proxy) +com.openclaw.codex-proxy.plist로드 + ChatGPT 로그인
Phase 4: 볼트 (Day 3~4)
- [ ] Obsidian 설치 +
~/knowledge/복사 (또는 신규 생성) - [ ]
~/knowledge-agent/복사 (또는 신규 생성, 빈 100-inbox/400-reports 구조만) - [ ] Obsidian vault 설정 + MCP 연결
Phase 5: 검증 (Day 4~5)
- [ ] 크론 실행 확인:
launchctl list | grep ai.hermes - [ ] 첫 리포트 생성 확인 (bond_daily_report 09:00 수동 실행 →
python3 ~/.hermes/workspace/scripts/pipeline/bond_daily_report.py --dry) - [ ] 스킬 5개 샘플 테스트 (/today /ideas /context 등)
- [ ] 해리 스타일 메모리
~/.claude/projects/.../memory/MEMORY.md58건 복사 + 본인 스타일에 맞게 수정
9. 기록해둘 "노하우" (메모리 feedback_* 중 하이라이트)
이 시스템에서 운영 중 발견한 중요한 규칙들. 전체 42개는 ~/.claude/projects/-Users-ron/memory/ 에서 feedback_*.md 로 볼 수 있음:
배포 관련
- worktree 심링크 함정 — 병렬 작업마다
git worktree add ~/wt/<name>격리 필수. 안 하면 tracked 파일 덮어쓰기 발생 (실제 사고 사례 있음) - hermes-repo ↔ .hermes 별개 사본 — 머지 후 반드시
./scripts/deploy_to_runtime.sh. 안 하면 크론이 구버전 실행 (4-23 사고로 드러남) - cron 시간 < 메일 도착 시간 순서 안 맞으면 silent fallback 위험. 신선도 가드 필수
작업 방식
- 서브에이전트 병렬 — 3단계 이상 작업은 항상 서브에이전트로. 메인 세션은 총괄/검사
- Plan Mode 서브에이전트 전파 —
EnterPlanMode해제 전 서브에이전트는 쓰기 거부.ExitPlanMode선행 필수 - 확인 없이 단정 금지 — "됐다" 하기 전에 반드시 실측 검증
소통
- 쉬운 말로 설명 — 해리는 비개발자. 기술 용어 대신 비유
- 아첨 금지 — "물론이죠!" "좋은 질문!" 필러 금지. 바로 실행 + 결과 보고
- 비교 우위 표현 금지 — "우리가 앞서있다" 같은 문구 금지
도구
- @RONforMAC_Bot 채널 설정 변경 금지 (DM 알림 전용)
- 알림 등급: CRITICAL→DM · INFO→알림센터 · LOG→로그만
- 모델/가격 추측 금지 — 검색 확인 후 확정
10. 자주 하는 실수 & 방지책
| 실수 | 방지책 |
|---|---|
| PR 머지만 하고 런타임 배포 안 함 | 머지 직후 ./scripts/deploy_to_runtime.sh 필수 |
| 병렬 서브에이전트 간 git checkout 충돌 | 에이전트마다 worktree 격리 |
| 비밀번호·토큰 커밋 | .gitignore 에 .env 루트 절대 경로 + pre-commit |
| 크론이 돌긴 했는데 데이터 stale | 신선도 가드 추가 (bond_daily_report 패턴 참조) |
| 메인 세션이 코드 직접 수정 | cmux/서브에이전트에 배분. 메인은 기획·검증만 |
11. 지금 활성 릴리즈 목록 (참고)
hermes: v0.1.0 ~ v0.6.0 (6개 완주) - v0.3.0 Code Split I / v0.4.0 Code Split II / v0.5.0 Types & Tests / v0.6.0 Docs - 다음: v0.7.0 Phase 2 Rework (7 이슈 열림)
chatgpt-codex-proxy: v0.3.0 ~ v0.5.0 (3개 완주, 열린 이슈 0)
12. 질문 답변 우선순위 (인수자가 헷갈릴 때)
~/.claude/CLAUDE.md— 최상위 운영 규칙~/.hermes/docs/DEPLOYMENT.md— 배포 절차~/hermes-repo/docs/ARCHITECTURE.md— Hermes 구조~/hermes-repo/docs/CRON_JOBS.md— 크론 카탈로그- 본 4 분할 문서 (260424_handover_*.md)
- 메모리 MEMORY.md 58건
끝
본 문서는 2026-04-24 시점 스냅샷이다. 시스템은 계속 진화하니, 인수 시점에는 반드시 실측으로 차이 확인:
ls ~/.claude/skills/ | wc -l # 스킬 수
ls ~/.claude/plugins/cache/ | wc -l # 플러그인 수
gh issue list --repo Choi-Hyeonwoo/hermes --state open | wc -l # 진행 중 이슈
git -C ~/hermes-repo log --oneline -10 # 최근 커밋
질문이 생기면: 본 마스터 → 분할 섹션 → 각 도구 공식 문서 순서로 조사.