[Claude Code 스킬] 출력 스타일(Output styles) — 코딩 도우미의 '기본 성격'을 갈아끼우기 | DAKER 커뮤니티
무엇
출력 스타일(Output styles)은 Claude Code의 시스템 프롬프트 자체를 갈아끼우는 설정이다. 아는 것(지식)이 아니라 응답하는 방식 — 역할, 말투, 기본 출력 형식 — 을 바꾼다. 커스텀 스타일을 만들면 기본값으로 Claude Code의 내장 소프트웨어 엔지니어링 지시(변경 범위 잡는 법, 주석 규칙, 검증 절차)가 통째로 빠지고 그 자리에 내 지시가 들어간다.
비유하자면 CLAUDE.md가 책상 위에 업무 매뉴얼을 올려두는 것이라면, 출력 스타일은 직무기술서를 다시 쓰는 것이다. 코딩은 그대로 시키면서 말투만 바꾸고 싶다면 프론트매터에 keep-coding-instructions: true 한 줄을 넣어 엔지니어링 지시를 남겨두면 된다.
언제 쓰나
같은 요청을 매 턴 반복할 때 — "설명은 3줄로", "항상 다이어그램 먼저" 같은 지시를 프롬프트마다 붙이고 있다면 스타일로 굳힐 신호.
소프트웨어 엔지니어가 아닌 역할로 쓸 때 — 글쓰기 보조, 데이터 분석가, 문서 리뷰어. 이때는 keep-coding-instructions를 켜지 않는다.
학습 목적 — 내장 Explanatory / Learning 스타일.
내장 스타일은 Default 포함 4종이다.
Default — 기존 소프트웨어 엔지니어링 시스템 프롬프트.
Proactive — 사소한 결정에서 멈춰 묻지 않고 합리적으로 가정하고 즉시 실행. 계획보다 행동을 선호.
Explanatory — 작업 중간중간 "Insights" 해설을 끼워 구현 선택과 코드베이스 패턴을 설명.
Learning — 해설에 더해 코드 일부를
TODO(human)마커로 남겨 사용자가 직접 채우게 하는 협업 모드.
사용법
메뉴에서 고르기. 선택 결과는 프로젝트 로컬 설정 파일에 저장된다.
# /config 실행 후 Output style 항목 선택
/config
# 주의: 단독 /output-style 커맨드는 v2.1.73에서 deprecated,
# v2.1.91에서 제거됐다. 이제는 /config 또는 설정 키를 쓴다.메뉴 없이 설정 파일에 직접 박아도 된다.
// .claude/settings.local.json
{
"outputStyle": "Explanatory"
}커스텀 스타일은 프론트매터 + 지시문으로 된 마크다운 파일 한 장이다. 파일 이름이 곧 스타일 이름이 된다(프론트매터 name으로 덮어쓰기 가능).
---
name: Diagrams first
description: 모든 설명을 다이어그램으로 시작한다
keep-coding-instructions: true
---
코드, 아키텍처, 데이터 흐름을 설명할 때는 먼저 Mermaid 다이어그램으로
구조를 보여주고 그 다음 산문으로 설명한다.
## 다이어그램 규칙
제어 흐름은 flowchart TD, 요청 경로는 sequenceDiagram을 쓴다.
노드는 15개를 넘기지 않는다.저장 위치는 세 단계다. 유저 ~/.claude/output-styles, 프로젝트 .claude/output-styles, 그리고 관리형 정책 디렉토리. 프로젝트 스타일은 작업 디렉토리부터 저장소 루트까지의 모든 .claude/output-styles/에서 로드되고, v2.1.178부터는 같은 이름이 겹치면 작업 디렉토리에 가까운 쪽이 이긴다.
팁
1. 바꿔도 그 턴에는 안 먹는다. 시스템 프롬프트는 세션 시작 때 한 번만 읽힌다. 스타일을 바꿨는데 아무 변화가 없다면 십중팔구 이것 — /clear 하거나 새 세션을 열어야 반영된다.
2. 서브에이전트에는 걸리지 않는다. 서브에이전트는 자기 시스템 프롬프트로 돌기 때문이다. 예외는 fork로, 부모의 시스템 프롬프트를 통째로 물려받는다.
3. Proactive와 auto 모드를 헷갈리지 말 것. Proactive는 "가정하고 바로 실행하라"는 지시일 뿐 권한 모드를 바꾸지 않는다. 도구 실행 전 권한 프롬프트는 그대로 뜬다. 브레이크는 두고 액셀 성향만 바꾸는 셈.
4. 토큰은 스타일마다 다르다. 시스템 프롬프트가 길어지면 입력 토큰이 늘지만 프롬프트 캐싱이 첫 요청 이후를 덜어준다. 반면 Explanatory와 Learning은 설계상 응답이 길어져 출력 토큰이 늘어난다.
5. 플러그인도 스타일을 배포한다. output-styles/ 디렉토리로 묶어 배포하며, force-for-plugin: true면 사용자가 고르지 않아도 플러그인이 켜진 동안 자동 적용되고 사용자의 outputStyle 설정을 덮는다. 여러 개가 걸리면 먼저 로드된 하나만 적용된다.