6 6
7> 소프트웨어 엔지니어링 이상의 용도로 Claude Code 적응시키기7> 소프트웨어 엔지니어링 이상의 용도로 Claude Code 적응시키기
8 8
9출력 스타일은 Claude가 응답하는 방식을 변경하며, Claude가 알고 있는 내용을 변경하지 않습니다. 이들은 시스템 프롬프트를 수정하여 역할, 톤, 출력 형식을 설정하면서 스크립트 실행, 파일 읽기 및 쓰기, TODO 추적과 같은 핵심 기능을 유지합니다. 매 턴마다 동일한 음성이나 형식을 다시 요청하거나 Claude가 소프트웨어 엔지니어 이외의 역할을 하기를 원할 때 사용합니다.9출력 스타일은 Claude가 응답하는 방식을 변경하며, Claude가 알고 있는 내용을 변경하지 않습니다. 이들은 시스템 프롬프트를 수정하여 역할, 톤, 출력 형식을 설정합니다. 매 턴마다 동일한 음성이나 형식을 다시 요청하거나 Claude가 소프트웨어 엔지니어 이외의 역할을 하기를 원할 때 사용합니다.
10
11사용자 정의 출력 스타일은 지침을 시스템 프롬프트에 추가하고 Claude Code의 기본 제공 소프트웨어 엔지니어링 지침을 유지할지 여부를 선택할 수 있게 합니다. Claude가 여전히 코딩하고 있지만 통신 방식을 변경할 때(예: 항상 다이어그램으로 답변)는 유지합니다. Claude가 쓰기 어시스턴트나 데이터 분석가와 같이 소프트웨어 엔지니어링을 수행하지 않을 때는 제외합니다.
10 12
11프로젝트, 규칙 또는 코드베이스에 대한 지침은 대신 [CLAUDE.md](/ko/memory)를 사용합니다.13프로젝트, 규칙 또는 코드베이스에 대한 지침은 대신 [CLAUDE.md](/ko/memory)를 사용합니다.
12 14
16 18
17세 가지 추가 기본 제공 출력 스타일이 있습니다:19세 가지 추가 기본 제공 출력 스타일이 있습니다:
18 20
19* **Proactive**: Claude가 즉시 실행하고, 일상적인 결정을 위해 일시 중지하는 대신 합리적인 가정을 하며, 계획보다 행동을 선호합니다.21* **Proactive**: Claude가 즉시 실행하고, 일상적인 결정을 위해 일시 중지하는 대신 합리적인 가정을 하며, 계획보다 행동을 선호합니다. 이는 [자동 모드](/ko/permission-modes#eliminate-prompts-with-auto-mode)와 동일한 지침을 적용하지만 권한 모드를 변경하지 않으므로, 도구가 실행되기 전에 여전히 권한 프롬프트를 볼 수 있습니다.
20 이는 [자동 모드](/ko/permission-modes#eliminate-prompts-with-auto-mode)와 동일한 지침을 적용하지만 권한 모드를 변경하지 않으므로, 도구가 실행되기 전에 여전히 권한 프롬프트를 볼 수 있습니다.
21 22
22* **Explanatory**: 소프트웨어 엔지니어링 작업을 완료하는 동안 교육용 "Insights"를 제공합니다. 구현 선택 사항과 코드베이스 패턴을 이해하는 데 도움이 됩니다.23* **Explanatory**: 소프트웨어 엔지니어링 작업을 완료하는 동안 교육용 "Insights"를 제공합니다. 구현 선택 사항과 코드베이스 패턴을 이해하는 데 도움이 됩니다.
23 24
24* **Learning**: 협업 방식의 학습 모드로, Claude는 코딩하면서 "Insights"를 공유할 뿐만 아니라 사용자가 작은 전략적 코드 조각을 직접 작성하도록 요청합니다. Claude Code는 구현할 코드에 `TODO(human)` 마커를 추가합니다.25* **Learning**: 협업 방식의 학습 모드로, Claude는 코딩하면서 "Insights"를 공유할 뿐만 아니라 사용자가 작은 전략적 코드 조각을 직접 작성하도록 요청합니다. Claude Code는 구현할 코드에 `TODO(human)` 마커를 추가합니다.
25 26
26## 출력 스타일의 작동 방식
27
28출력 스타일은 Claude Code의 시스템 프롬프트를 직접 수정합니다.
29
30* 사용자 정의 출력 스타일은 `keep-coding-instructions`가 true가 아닌 한 코딩 관련 지침(테스트를 통한 코드 검증 등)을 제외합니다.
31* 모든 출력 스타일은 시스템 프롬프트 끝에 추가된 자체 사용자 정의 지침을 가집니다.
32* 모든 출력 스타일은 대화 중에 Claude가 출력 스타일 지침을 준수하도록 상기시키는 알림을 트리거합니다.
33
34토큰 사용량은 스타일에 따라 다릅니다. 시스템 프롬프트에 지침을 추가하면 입력 토큰이 증가하지만, prompt caching은 세션의 첫 번째 요청 이후 이 비용을 줄입니다. 기본 제공 Explanatory 및 Learning 스타일은 설계상 Default보다 더 긴 응답을 생성하므로 출력 토큰이 증가합니다. 사용자 정의 스타일의 경우, 출력 토큰 사용량은 지침이 Claude에게 생성하도록 지시하는 내용에 따라 달라집니다.
35
36## 출력 스타일 변경27## 출력 스타일 변경
37 28
38`/config`를 실행하고 **Output style**을 선택하여 메뉴에서 스타일을 선택합니다. 선택 사항은 [로컬 프로젝트 수준](/ko/settings)의 `.claude/settings.local.json`에 저장됩니다.29`/config`를 실행하고 **Output style**을 선택하여 메뉴에서 스타일을 선택합니다. 선택 사항은 [로컬 프로젝트 수준](/ko/settings)의 `.claude/settings.local.json`에 저장됩니다.
49 40
50## 사용자 정의 출력 스타일 만들기41## 사용자 정의 출력 스타일 만들기
51 42
52사용자 정의 출력 스타일은 frontmatter와 시스템 프롬프트에 추가될 텍스트가 포함된 Markdown 파일입니다:43사용자 정의 출력 스타일은 Markdown 파일입니다: frontmatter는 메타데이터용이고, 그 다음에 시스템 프롬프트에 추가할 지침이 있습니다.
53 44
54```markdown theme={null}45<Steps>
55name: My Custom Style46 <Step title="Markdown 파일 만들기">
56description:47 세 가지 수준 중 하나에 저장합니다. 파일 이름이 스타일 이름이 되며, frontmatter에서 `name`을 설정하지 않는 한 그렇습니다.
57 A brief description of what this style does, to be displayed to the user
58 48
59# Custom Style Instructions49 * 사용자: `~/.claude/output-styles`
50 * 프로젝트: `.claude/output-styles`
51 * 관리형 정책: [관리형 설정 디렉토리](/ko/settings#settings-files) 내의 `.claude/output-styles`
52 </Step>
60 53
61You are an interactive CLI tool that helps users with software engineering54 <Step title="Frontmatter 및 지침 추가">
62tasks. [Your custom instructions here...]55 Claude Code의 소프트웨어 엔지니어링 지침을 유지할지 여부를 결정합니다. Claude가 통신 방식을 변경하지만 여전히 동일한 방식으로 코딩하기를 원하면 `keep-coding-instructions: true`를 설정합니다. Claude가 소프트웨어 엔지니어링을 수행하지 않을 경우 제외합니다.
63 56
64## Specific Behaviors57 이 예제는 Claude의 코딩 동작을 유지하면서 모든 설명 앞에 다이어그램을 배치합니다:
65 58
66[Define how the assistant should behave in this style...]59 ```markdown theme={null}
67```60 ---
61 name: Diagrams first
62 description: Lead every explanation with a diagram
63 keep-coding-instructions: true
64 ---
68 65
69이러한 파일은 세 가지 수준에 저장할 수 있습니다:66 When explaining code, architecture, or data flow, start with a Mermaid diagram showing the structure, then explain in prose.
70 67
71* 사용자: `~/.claude/output-styles`68 ## Diagram conventions
72* 프로젝트: `.claude/output-styles`69
73* 관리형 정책: [관리형 설정 디렉토리](/ko/settings#settings-files) 내의 `.claude/output-styles`70 Use `flowchart TD` for control flow and `sequenceDiagram` for request paths. Keep diagrams under 15 nodes.
71 ```
72 </Step>
73
74 <Step title="스타일로 전환">
75 `/config`를 실행하고 **Output style** 아래에서 스타일을 선택합니다. 새 세션을 시작할 때 적용됩니다.
76 </Step>
77</Steps>
74 78
75[플러그인](/ko/plugins-reference)도 `output-styles/` 디렉토리에 출력 스타일을 포함할 수 있습니다.79[플러그인](/ko/plugins-reference)도 `output-styles/` 디렉토리에 출력 스타일을 포함할 수 있습니다.
76 80
77### Frontmatter81### Frontmatter
78 82
79출력 스타일 파일은 메타데이터 지정을 위한 frontmatter를 지원합니다:83출력 스타일 파일은 다음 frontmatter 필드를 지원합니다:
80 84
81| Frontmatter | 목적 | 기본값 |85| Frontmatter | 목적 | 기본값 |
82| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------- | :--------- |86| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------- | :--------- |
83| `name` | 출력 스타일의 이름(파일 이름이 아닌 경우) | 파일 이름에서 상속 |87| `name` | 파일 이름이 아닌 경우 출력 스타일의 이름 | 파일 이름에서 상속 |
84| `description` | `/config` 선택기에 표시되는 출력 스타일의 설명 | 없음 |88| `description` | `/config` 선택기에 표시되는 출력 스타일의 설명 | 없음 |
85| `keep-coding-instructions` | Claude Code의 시스템 프롬프트의 코딩 관련 부분을 유지할지 여부 | false |89| `keep-coding-instructions` | Claude Code의 기본 제공 소프트웨어 엔지니어링 지침 유지 | `false` |
86| `force-for-plugin` | 플러그인 출력 스타일만 해당: 사용자가 선택하지 않아도 플러그인이 활성화될 때마다 이 스타일을 자동으로 적용합니다. 사용자의 `outputStyle` 설정을 재정의합니다. 여러 활성화된 플러그인이 이를 설정하면 먼저 로드된 것이 우선합니다. | false |90| `force-for-plugin` | 플러그인 출력 스타일만 해당: 사용자가 선택하지 않아도 플러그인이 활성화될 때마다 이 스타일을 자동으로 적용합니다. 사용자의 `outputStyle` 설정을 재정의합니다. 여러 활성화된 플러그인이 이를 설정하면 먼저 로드된 것이 우선합니다. | `false` |
87 91
88## 관련 기능과의 비교92## 출력 스타일의 작동 방식
93
94출력 스타일은 Claude Code의 시스템 프롬프트를 직접 수정합니다.
89 95
90### 출력 스타일 vs. CLAUDE.md vs. --append-system-prompt96* 모든 출력 스타일은 시스템 프롬프트 끝에 추가된 자체 사용자 정의 지침을 가집니다.
97* 모든 출력 스타일은 대화 중에 Claude가 출력 스타일 지침을 준수하도록 상기시키는 알림을 트리거합니다.
98* 사용자 정의 출력 스타일은 `keep-coding-instructions`가 `true`로 설정되지 않는 한 범위 지정, 주석 작성, 작업 검증 방법과 같은 Claude Code의 기본 제공 소프트웨어 엔지니어링 지침을 제외합니다.
91 99
92Claude가 코딩 어시스턴트로서의 역할을 중단할지 아니면 기본 역할을 유지하고 더 많이 학습할지에 따라 선택합니다. 출력 스타일은 Claude Code의 시스템 프롬프트에서 소프트웨어 엔지니어링 부분을 사용자의 역할과 음성으로 바꾸므로, Claude가 글쓰기 편집자나 데이터 분석 어시스턴트와 같은 다른 정체성을 채택해야 할 때 사용합니다. CLAUDE.md와 `--append-system-prompt`는 모두 Claude Code의 기본 정체성을 유지하고 여기에 추가하므로, Claude가 프로젝트 규칙이나 추가 지침을 따르는 코딩 어시스턴트로 남아야 할 때 사용합니다.100토큰 사용량은 스타일에 따라 다릅니다. 시스템 프롬프트에 지침을 추가하면 입력 토큰이 증가하지만, prompt caching은 세션의 첫 번째 요청 이후 이 비용을 줄입니다. 기본 제공 Explanatory 및 Learning 스타일은 설계상 Default보다 더 긴 응답을 생성하므로 출력 토큰이 증가합니다. 사용자 정의 스타일의 경우, 출력 토큰 사용량은 지침이 Claude에게 생성하도록 지시하는 내용에 따라 달라집니다.
93 101
94메커니즘도 다릅니다. 출력 스타일은 시스템 프롬프트를 직접 편집합니다. CLAUDE.md는 시스템 프롬프트 이후에 사용자 메시지로 내용을 추가합니다. `--append-system-prompt`는 아무것도 제거하지 않고 시스템 프롬프트의 끝에 내용을 추가합니다.102## 관련 기능과의 비교
95 103
96### 출력 스타일 vs. [Agents](/ko/sub-agents)104여러 기능이 Claude Code의 동작을 사용자 정의합니다. 출력 스타일은 시스템 프롬프트를 직접 수정하고 모든 응답에 적용됩니다. 다른 기능들은 기본 시스템 프롬프트를 변경하지 않고 지침을 추가하거나 특정 작업으로 범위를 지정합니다.
97 105
98모든 세션에서 주 대화가 응답하는 방식을 변경하려면 출력 스타일을 사용합니다. 주 대화가 위임하는 별도로 범위가 지정된 도우미가 필요할 때는 [subagent](/ko/sub-agents)를 사용합니다. 출력 스타일은 주 에이전트 루프의 시스템 프롬프트에만 영향을 미칩니다. 에이전트는 특정 작업을 처리하며 자신의 모델, 도구, 호출 시기에 대한 컨텍스트를 가질 수 있습니다.106| 기능 | 작동 방식 | 사용 시기 |
107| :----------------------- | :--------------------------------------- | :-------------------------------------- |
108| 출력 스타일 | 시스템 프롬프트를 수정합니다 | 매 턴마다 다른 역할, 톤, 또는 기본 응답 형식을 원할 때 |
109| [CLAUDE.md](/ko/memory) | 시스템 프롬프트 이후에 사용자 메시지를 추가합니다 | Claude가 항상 프로젝트 규칙과 코드베이스 컨텍스트를 알아야 할 때 |
110| `--append-system-prompt` | 아무것도 제거하지 않고 시스템 프롬프트에 추가합니다 | 단일 호출을 위한 일회성 추가를 원할 때 |
111| [Agents](/ko/sub-agents) | 자신의 시스템 프롬프트, 모델, 도구를 가진 subagent를 실행합니다 | 초점이 맞춰진 작업을 위해 별도로 범위가 지정된 도우미를 원할 때 |
112| [Skills](/ko/skills) | 호출되거나 관련성이 있을 때 작업별 지침을 로드합니다 | 재사용 가능한 워크플로우가 있을 때 |
99 113
100### 출력 스타일 vs. [Skills](/ko/skills)114## 관련 리소스
101 115
102출력 스타일은 Claude가 응답하는 방식(형식, 톤, 구조)을 수정하며 선택되면 항상 활성화됩니다. Skills는 `/skill-name`으로 호출하거나 관련성이 있을 때 Claude가 자동으로 로드하는 작업별 프롬프트입니다. 일관된 형식 지정 기본 설정에는 출력 스타일을 사용하고, 재사용 가능한 워크플로우 및 작업에는 skills를 사용합니다.116* [Settings](/ko/settings): `outputStyle` 필드가 있는 위치 및 설정 우선순위 작동 방식
117* [Permission modes](/ko/permission-modes): Proactive 스타일은 권한 모드를 변경하지 않고 자동 모드를 미러링합니다
118* [Plugins](/ko/plugins): skills, hooks, agents와 함께 출력 스타일을 패키징하고 배포합니다
119* [Debug your configuration](/ko/debug-your-config): 출력 스타일이 적용되지 않는 이유를 진단합니다