/fable-migrate [경로] [--apply]

이행 감사

쓰던 프로젝트의 모델을 Fable 5로 바꾸기 전·직후에 실행 — 구모델용 지시·설정이 일으킬 400 오류·refusal·품질 저하를 미리 찾아 고친다

/plugin marketplace add tasksolver/fableit
/plugin install fable-prompt-kit@fableit
claude — /fable-migrate

사용자: /fable-migrate

Claude: 저장소를 스캔합니다… CLAUDE.md, .claude/skills 2건, src/prompts.ts 발견. Fable 5 가이드라인 기준으로 진단합니다.

Claude: ## 이행 진단 리포트 | 파일 | 발견 | 최고 심각도 | |---|---|---| | CLAUDE.md | 3건 | 중간 | | src/prompts.ts | 2건 | 높음 |

Claude: ### 1. 무효 API 파라미터 — src/prompts.ts:42 > 인용: "temperature: 0.3" 문제: Fable 5는 샘플링 파라미터 전송 시 400 오류. 수정안: 해당 줄 삭제. 자동 적용: 가능 적용할 항목을 알려주시거나 --apply로 재실행하세요.

언제 쓰나 — 세 가지 상황

전제는 하나입니다: "이 프로젝트에는 이전 모델(Opus·Sonnet) 시절에 작성된 지시문·설정이 남아 있다." 그 유산은 Fable 5에서 세 방식으로 문제를 일으킵니다 — 코드 속 temperature: 0.3 같은 파라미터는 400 오류로 앱을 즉시 멈추고, "추론 과정을 그대로 보여줘" 류 지시는 refusal을 유발하며, "반드시 테스트 돌려 확인해"·"먼저 A, 그다음 B" 같은 과잉 지시는 오류 없이 조용히 품질만 떨어뜨립니다.

  1. 전환 직전 — 모델을 Fable 5로 바꾸기 전에 미리 돌려서 터질 것·나빠질 것을 먼저 고침
  2. 전환 직후 — 모델만 바꿨는데 400 오류·refusal·품질 저하가 생겼을 때 원인 규명
  3. 자산 감사 — 언제 작성됐는지 모를 CLAUDE.md·스킬을 그대로 쓰고 있을 때 일괄 점검

반대로 유산이 없는 신규 프로젝트라면 이 스킬이 아니라 /fable-snippets(권장 스니펫 설치)가 맞습니다.

무엇을 하는가

/fable-migrate는 프로젝트 자산 — CLAUDE.md, 스킬·에이전트 정의, 코드 속 시스템 프롬프트와 API 호출 — 을 스캔해 Fable 5 안티패턴을 찾아냅니다. 공식 마이그레이션 가이드의 권고를 실제 코드베이스에 적용하는 도구입니다.

진단하는 안티패턴 (심각도순):

안티패턴왜 문제인가
추론 전사 지시 (reflection)reasoning_extraction refusal 유발 → Opus 폴백 반복
무효 API 파라미터 (thinking: disabled, budget_tokens, temperature 등)400 오류
짧은 타임아웃·블로킹 하네스정상적인 긴 턴이 절단됨
step-by-step 스캐폴딩Fable 5에서 출력 품질 저하
검증 리마인더·페르소나 과장효과 없음 — 지시 인플레이션

사용법

text
/fable-migrate              # 저장소 전체 스캔
/fable-migrate src/agents   # 특정 경로만
/fable-migrate --apply      # 안전한 수정(높음·기계적 삭제)까지 자동 적용

기본 동작은 리포트만 — 어떤 항목을 적용할지 물어봅니다. --apply를 붙여도 프로젝트 의도 판단이 필요한 항목(단계 구조 재작성 등)은 제안만 합니다.

잘 쓰는 팁

  • 이행 후 개별 프롬프트를 다듬을 때는 /prompt-enhance를, 진단만 원하면 /guideline-check를 이어 쓰세요
  • 깨끗한 신규 프로젝트라면 이 스킬 대신 /fable-snippets 커맨드로 공식 권장 스니펫을 설치하는 것이 빠릅니다
  • 다른 프로바이더(OpenAI 등) 코드는 자동으로 건너뜁니다

관련 가이드