# A축 5편 증적 — tradermonty/claude-trading-skills

작업 2026-09-22 01:30~03:00 KST. 주문은 전부 weltiq 페이퍼.

## 재사용한 기록 (다시 설치하지 않았다)

B축 2회차(`reports/b/02/`)가 이 도구의 참가 회차다. 설치·디스패처·레짐 산출·1차/2차 결정·수식화·슬롯 8개는
그 기록을 그대로 썼다. 저장소 클론은 `/private/tmp/b02-tools/claude-trading-skills` (HEAD `999402e`, 2026-09-19).

| | 파일 |
|---|---|
| 후보 거르기 | `b/02/10-candidate-screen.md` |
| 자기 디스패처 | `b/02/31-ct-catalog.txt` · `32-ct-pick-{prompt,answer}.txt` |
| 레짐 1·2차 | `b/02/33-ct-crypto-regime.{json,md}` · `81-ct-crypto-regime.{json,md}` |
| 1·2차 결정 | `b/02/34-ct-decision-answer.txt` · `84-ct-decision-answer.txt` · `55-decision-diff.md` |
| 수식화 | `b/02/85-ct-formalize-idea.txt` · `85-ct-formalize.json` (doc `add21b5…`) |
| 슬롯 8개 | `b/02/86-entrants-and-slots.json` |

## 이 편에서 새로 돌린 것

| 파일 | 무엇 |
|---|---|
| `01-github.json` | GitHub API — ★2,870 · MIT · pushed 2026-09-21 (관측 2026-09-22) |
| `02-crypto-regime-fresh.{md,json,log}` | crypto-regime-analyzer **3회차 실행** (빈 캐시). 81.8/100, 5분 48.88초, 429 백오프 3회 |
| `05-navigator.json` | trading-skills-navigator 재실행 — `status: fallback` |
| `shots/07-docs-site.png` | 저장소 문서 사이트 (이 도구의 유일한 그림 화면 — 대시보드는 없다) |
| `10-export-ct_*.json` | B축 2회차 A 계통 슬롯 4개 `export` (조회만, 건드리지 않음) |
| `20~22-backtest-*.json` | doc `add21b5…` 24h·168h·336h, doc `9f3c415a…` 336h·720h 리플레이 |
| `30-checkpoint.py` · `31-cp1-*` | trade-memory-loop 에 실행 저널을 가공 없이 물려준 호출 |
| `40-gates.json` | 중지 조건 없이 슬롯 생성 → 422 |
| `41~44-slot-*.json` | 자체 슬롯 `a05-loop-r1`(entry_blocked) · `a05-loop-r2`(체결) |
| `45-thesis-gate.json` | 근거 게이트 재현 시도 — AI 크레딧 소진으로 **미확인** |
| `50-postmortem-run.log` · `51-signals-from-weltiq.json` | signal-postmortem 스크립트 실행 |
| `52-fees-compare.json` | 같은 체결 × 다른 요율 |
| `98-usage.json` · `00/99-openrouter-*.json` | 지출 |

## 슬롯 위생

한 번에 1개만. 만든 것 `ct_887e2db5317396a1` · `ct_7101c950e97fedfd` · `ct_bb5ac5dfea97c923` — **전부 정지·삭제**.
보호 대상 12개(1회차 4 · 2회차 8)는 `export` 조회만 했고 정지·삭제하지 않았다. 작업 후 running 15개 중
그 12개가 그대로 있음을 확인.

## 지출

OpenRouter 호출 1건(`openai/gpt-5.6-luna`) **$0.00462855**. 키 전체 사용량은 15.557685 → 16.703349 로
$1.145664 늘었으나 같은 키를 쓰는 다른 작업과 섞인 값이다. weltiq AI 크레딧은 6.6 → 3.5556 (formalize 실패 포함).

## 못 한 것

- **닫힌 매매 0건.** 이 도구의 두 규칙을 30일치 1분봉으로 리플레이해도 진입 1건·청산 0건. 그래서
  `signal-postmortem` 의 전제 조건이 끝내 채워지지 않았다 — 글에 그대로 적었다
- **S7 중지 조건 발동 미확인** — 손실이 그 선까지 가지 않았다
- **근거(thesis) 게이트 미확인** — 크레딧 소진
- **Claude Code 의 스킬 발동 표시 UI 미확인** — 이 글은 스킬 자동 발동에 기대지 않고 `SKILL.md` 를 원문으로 실어 보내 돌렸다. 3절의 '떴는지 아는 법'은 저장소 파일과 실제 출력에서 확인한 것만 적었다

---

## 독자판 재편 때 기사에서 내린 것 (2026-09-24)

기사를 v2 독자판(≤3,000어절)으로 줄이면서 본문에서 뺀 실측·서술을 여기 옮겨 적는다. 숫자는 그대로다.

### 스킬을 부르는 법 — 기사 3절의 ①②③④ 원문

**① 어디에 두면 Claude 가 인식하나**

| 쓰는 곳 | 두는 자리 |
|---|---|
| Claude Code — 나만 쓸 때 | `~/.claude/skills/<스킬이름>/` |
| Claude Code — 이 프로젝트에서만 | 프로젝트 안의 `.claude/skills/<스킬이름>/` |
| Claude 웹앱 | `skill-packages/<이름>.skill` 파일을 **Customize > Skills** 에 업로드 |

- **폴더를 통째로** 옮겨야 한다. `SKILL.md` 한 장이 아니라 `scripts/`·`references/`·`requirements.txt` 까지 한 덩어리다. 스크립트가 빠지면 점수를 못 낸다
- **74개를 다 넣지 마라.** 후보가 많을수록 엉뚱한 게 뜬다
- 최상위 `skills` 디렉터리를 세션 도중에 처음 만들었다면 Claude Code 재시작. 이미 있던 디렉터리에 폴더만 추가한 경우는 재시작 불필요
- 웹앱 개인 계정은 설정 > Capabilities 에서 "코드 실행·파일 생성"을 먼저 켜야 업로드한 스킬이 돈다

**② 어떻게 말을 걸어야 뜨나** — 스킬 파일 맨 위 `description:` 이 그대로 발동어다. 원문 둘:

```yaml
# skills/crypto-regime-analyzer/SKILL.md
description: ... Use when user asks about crypto market conditions, whether it's
  alt season, BTC dominance, crypto risk-on vs risk-off, funding rates, or whether
  crypto exposure should be increased or reduced.
```

```yaml
# skills/trader-memory-core/SKILL.md
description: ... Trigger when user says "register thesis", "track this idea",
  "thesis status", "review due", "close position", "postmortem", or "trading journal".
```

**③ 떴는지 아닌지를 무엇으로 아나** — 셋. (a) 파일이 떨어졌나: `crypto-regime-analyzer` 는 `--output-dir` 에
`crypto_regime.json`·`crypto_regime.md` 두 개, `trader-memory-core` 는 `state/theses/*.yaml`.
(b) 정해진 한 줄이 나왔나: `CRYPTO REGIME: <ZONE> (score <N>/100) — <posture>`.
(c) 첫 실행이 오래 걸렸나: 빈 캐시면 5분 48.88초. 3초 만에 오면 캐시이거나 스크립트가 안 돈 것.
안 떴을 때는 스킬 이름을 박아서 다시 부른다.

**④ 어느 것이 언제 뜨나**

| 이것을 | 이런 말에 | 내놓는 것 |
|---|---|---|
| `trading-skills-navigator` | "어디서 시작해?", "어느 스킬 써야 해?" | 워크플로 추천. **크립토는 못 알아듣는다** |
| `crypto-regime-analyzer` | "지금 크립토 risk-on 이야?", "알트 시즌이야?" | 0~100 점수 + 여섯 부품 + `crypto_regime.{json,md}` |
| `trader-memory-core` | "이 아이디어 기록해 줘", "포지션 닫았어" | `state/theses/*.yaml` 논지 객체. 포지션이 열려 있어도 쓴다 |
| `signal-postmortem` | "이 매매 복기해 줘" | 사후 분석 레코드. **닫힌 매매가 있어야 한다** |

`trade-memory-loop` 은 스킬이 아니라 `workflows/trade-memory-loop.yaml` 절차서다. `description` 이 없어 말로 불러도 저절로 안 뜬다.

### 수수료 갈아 끼우기 원문 (`52-fees-compare.json`)

```
체결 1건 · 회전 9,982.08 USDT · 실제 수수료 9.98208123 (10.0bp) · 메이커 비중 0
  binance-spot  maker 10bp / taker 10bp → 9.98208123   (실제 대비 0.0%)
  bybit-spot    maker 10bp / taker 10bp → 9.98208123   (실제 대비 0.0%)
주석: BNB 수수료 할인 미적용 (비용을 크게 잡은 쪽 — 보수적)
가정: 같은 가격·같은 수량, 체결 자체는 다시 시뮬레이션하지 않음
```

차이 0. 현물 기본 요율이 두 거래소 다 10bp 라 갈아 끼울 게 없다. VIP 티어·BNB 할인은 이 계산에 안 들어갔다.
15편에서 같은 계산을 선물(USDT-M, 5bp)로 했을 때는 거래소 간 차이가 났다.

### 진입 거절 → 재시도 주문/체결 원문 (`42`·`43`·`44-slot-*.json`)

```
ORDERS  2
  9/22 01:58  BTCUSDT  buy          market       0.116  price_above_85350  filled
  9/22 01:58  BTCUSDT  sell (close) stop_market  0.116                     canceled
FILLS   1
  9/22 01:58  BTCUSDT  buy  0.116  86052.42438150  fee 9.98208123 USDT
```

거절 계산: 0.116 × 86,026.32 × 1.01 = 10,078.84 > 자본 10,000 → `insufficient_balance`.

### signal-postmortem 출력 원문 (`50-postmortem-run.log`)

배치 모드:

```json
{ "postmortem_id": "pm_wq_ct_20ebbf0a25071446",
  "ticker": "BTCUSDT",
  "source_skill": "claude-trading-skills/crypto-regime-analyzer",
  "predicted_direction": "LONG",
  "entry_price": 86151.8843265,
  "realized_returns": {},
  "exit_price": 86151.8843265,
  "exit_date": "2026-09-27",
  "holding_days": 5,
  "outcome_category": "NEUTRAL",
  "regime_at_signal": "RISK_ON",
  "regime_at_exit": "UNKNOWN" }
```

단독 레코딩 모드 (`--signal-id sig_BTCUSDT_2026-09-22_a05 --exit-price 86065.905 --exit-date 2026-09-22`):

```json
{ "entry_price": 0.0, "realized_returns": {}, "exit_price": 86065.905,
  "outcome_category": "NEUTRAL" }
```

### 되먹임 요청에 돌아온 규칙 원문 (`31-cp1-answer.txt`)

```
EXECUTABLE RULE
entry_direction: above / entry_level: 86050 / retest: yes (0.25%, 30봉)
stop_loss: 84600 / take_profit: 88800 / time_exit_bars: none / quantity_btc: 0.10
why: This is the unchanged checkpoint-0 rule because the position is still open and
     the trade-memory workflow cannot validly generate a replacement rule before closure.
```

`time_exit_bars` 칸을 열어 주고 "이 엔진은 N봉 뒤 청산을 받는다"고 알려 줬는데도 `none` 이 들어왔다.

### 상주 실행의 상태

B축 2회차의 A 계통 슬롯 넷도 같은 상태였다 — 2026-09-22 00:11 에 `price_retest_86050` 신호로 0.10 BTC 씩
사고 그대로 보유 중. 리플레이 다섯 판과 상주 슬롯이 전부 같은 `doc_hash` 를 지났고, 실전 구간은
`live_orders: false` 로 아직 닫혀 있다.

### 안 돌린 시나리오 (기사에서는 「돌려 본 것 한눈에」 표로 접었다)

- **S6 고리 한 바퀴** — 5-3 에서 했다. 닫힌 매매 0건으로 뒷부분은 서 있다
- **S7 중지 조건 발동** — 손실이 그 선까지 안 가서 **미확인**. 중지 조건이 없으면 슬롯이 아예 안 뜬다는 것은 확인
- **S8 끊고 다시 붙이기** — 안 했다
- **S1·S2 종목 보기** — 시세 스킬이 있지만(미국 주식용) 이 글은 국면 분석만 썼다. 안 돌렸다
- **S3 내 기록 복기** — 5-2 가 그 자리를 통째로 다룬다
- **S4 여러 종목 훑기** — 스크리너가 전부 미국 주식용(CANSLIM·VCP·배당), 이번 대상은 비트코인이라 해당 없음
- **S10 나란히 돌려 비교** — B축 2회차가 그 글이다

### 짝이 되는 글

같은 도구가 B축 2회차 "손실을 −2% 안에서 막으면서 수익을 내줘"(24시간)의 참가자 A 다
(`docs/tutorials/b/02-mission-btc-drawdown-24h.md`). 독자판에서는 내부 용어 규칙(R2)상 이 연결을 본문에 적지 않았다.

### 근거(thesis) 게이트 미확인 사유

쓰려던 규칙 문서에 B축 회차에서 붙여 둔 근거가 이미 달려 있었고, 새 문서를 만들어 다시 시험하려다
AI 크레딧이 떨어졌다(`45-thesis-gate.json`). 독자판에는 필자 사정(R11)이라 사유를 적지 않고 미확인으로만 남겼다.
