프로 워크플로우 & 파워 무브
- 병렬 서브에이전트를 오케스트레이션하고 — 스크립트 기반 동적 워크플로우로 넘어갈 시점을 파악하세요
- 훅을 결정론적 접착제로 삼으세요: 저장 시 린트, 종료 게이트, 금지된 쓰기 차단
- 반복하는 프롬프트를 커스텀 슬래시 커맨드, 스킬, 출력 스타일로 전환하세요
- CI에서 무인으로 실행되는 MCP 스택과 헤드리스 파이프라인(claude -p)을 구축하세요
- 탐색 → 계획 → 실행 → 검토 루프를 규율 있게 돌리고, 컨텍스트를 가볍게 유지하세요
- CLAUDE.md를 코드처럼 다루세요: 짧게, 가지치기하고, 고신호로
이 페이지는 프리미티브들이 개별 기능이기를 멈추고 워크플로우가 되기 시작하는 곳입니다. 서브에이전트나 훅이 무엇인지 이미 안다면, 지렛대는 그것들을 어떻게 쌓느냐에 있습니다: 계획 모드 패스를 시작하는 슬래시 커맨드, 작업을 팬아웃하는 서브에이전트, 테스트가 통과할 때까지 턴이 끝나지 못하게 하는 훅, 그리고 CI에서 전체를 실행하는 헤드리스 호출. 이것들을 함께 엮어봅시다.
멘탈 모델: 누가 계획을 쥐고 있는가?
아래의 모든 파워 무브는 하나의 질문에 대한 서로 다른 답입니다 — 누가 계획과 중간 결과를 쥐고 있는가? 새로운 동적 워크플로우 기능에 대한 Anthropic 자체의 프레이밍이 이를 깔끔하게 정리합니다:
| 도구 | 다음에 무엇이 실행될지 누가 결정하는가 | 결과가 어디에 있는가 | 규모 |
|---|---|---|---|
| 서브에이전트 | Claude가, 턴마다 | Claude의 컨텍스트 윈도우 | 턴당 몇 개 |
| 스킬 | Claude가, 프롬프트를 따라 | Claude의 컨텍스트 윈도우 | 서브에이전트와 동일 |
| 에이전트 팀 | 리드 에이전트가, 턴마다 | 공유 태스크 리스트 | 소수의 오래 지속되는 동료들 |
| 동적 워크플로우 | 스크립트가 | 스크립트 변수 | 수십에서 수백 |
이 진행 과정이 전체 게임입니다: 하나의 Claude로 시작하고, 컨텍스트를 보호하기 위해 서브에이전트에 위임하며, 하나의 대화가 조율할 수 있는 것보다 더 많은 에이전트가 필요한 작업일 때만 계획을 코드 안으로 옮기세요.
무브 1 — 병렬 서브에이전트, 그다음 워크플로우로 졸업
서브에이전트는 자체 컨텍스트 윈도우와 범위가 지정된 툴셋을 가진 별도의 Claude입니다; 그것은 전사(transcript)가 아니라 결과를 반환합니다. 파워 유저의 습관은 독립적인 작업을 팬아웃하는 것입니다:
여러 모듈에 걸쳐 리뷰를 팬아웃하기
Review the changes in auth/, billing/, and api/ — use the code-reviewer subagent on each, in parallel. Report only correctness bugs and missing tests.
세 명의 리뷰어가 동시에 실행되며, 각자 diff에 대해 자기 컨텍스트를 소모하고, 여러분의 메인 세션은 세 개의 원시 diff 대신 세 개의 깔끔한 리포트를 봅니다. 함정: 병렬성은 독립적인 하위 작업에만 도움이 됩니다. 단계 B가 단계 A의 출력을 필요로 한다면 순차적으로 실행하세요; 같은 파일에 쓴다면 git 워크트리에서 격리하세요.
작업이 단일 대화를 벗어날 때 — 500개 파일 마이그레이션, 코드베이스 전체 버그 스윕, 여러 출처에 걸쳐 교차 검증된 리서치 — **동적 워크플로우**로 졸업하세요. Claude가 JavaScript 오케스트레이션 스크립트(팬아웃 → 리듀스 → 합성)를 작성하고, 런타임이 최대 16개의 동시 에이전트로 백그라운드에서 실행하며, 최종 답만 여러분의 컨텍스트에 도착합니다. ultracode 키워드로 하나를 트리거하거나 그냥 평범한 말로 요청하세요:
동적 워크플로우 시작하기
ultracode: audit every API endpoint under src/routes/ for missing auth checks, then cross-check each finding with a second agent before reporting
킬러 기능은 단지 더 많은 에이전트가 아니라 — 스크립트가 반복 가능한 품질 패턴을 적용할 수 있다는 것입니다. 예를 들어 어떤 발견도 보고되기 전에 독립적인 에이전트들이 서로의 발견을 적대적으로 검토하게 하는 것처럼요. 번들된 /deep-research <question>을 실행해 이 패턴을 실시간으로 확인해보세요: 그것은 각 주장에 대해 투표하고 교차 검증을 통과하지 못하는 것들을 걸러냅니다.
- 좋은 워크플로우 실행을 커맨드로 저장하세요: /workflows를 열고, 실행을 선택한 뒤, s를 누르세요. 이후 모든 세션에서 /your-name이 됩니다.
- 먼저 슬라이스로 비용을 가늠하세요 — 전체 리포지토리가 아니라 디렉터리 하나로. 한 번의 실행은 단일 대화보다 훨씬 더 많은 에이전트(그리고 토큰)를 생성할 수 있습니다.
무브 2 — 훅: 결정론적 접착제
CLAUDE.md 지침은 권고적입니다 — Claude는 대개 그것을 따릅니다. 훅은 결정론적입니다 — 루프의 고정된 지점에서 스크립트를 실행하며, 매번 보장됩니다. 무언가가 예외 없이 반드시 일어나야 할 때 훅을 손에 잡으세요.
가장 지렛대가 큰 세 가지 훅 패턴:
- Claude가 파일을 편집한 후, 포매터나 린터를 자동으로 실행해 코드베이스가 절대 흔들리지 않게 하세요. 피드백도 Claude에게 되돌아 흐르므로, 스스로 교정합니다.
- Stop 훅은 테스트/빌드 스크립트를 실행하고 통과할 때까지 턴이 끝나는 것을 막습니다. 이것이 무인 실행을 작업이 단지 '완료된 것처럼 보일' 때 멈추는 대신 올바르게 끝내게 해주는 것입니다.
- 보호된 경로(마이그레이션, 생성된 파일, 시크릿)에 대한 쓰기를 Claude의 의도와 무관하게 발생하기 전에 거부하세요.
JSON을 직접 손으로 작성할 필요는 없습니다. Claude에게 훅을 작성해달라고 요청하세요:
Claude에게 훅을 작성시키기
Write a hook that runs eslint --fix after every file edit, and a second hook that blocks any Write or Edit to the db/migrations/ folder. Add them to .claude/settings.json and show me the config.
- 계속 차단하는 Stop 훅은 세션이 교착 상태에 빠지지 않도록 여러 번 연속 차단된 후에는 무시됩니다 — 여러분의 게이트는 안전 레일이지 무한 루프가 아닙니다.
- 훅은 여러분 셸의 권한으로 실행됩니다. 커밋하기 전에 어떤 훅 스크립트든 CI 설정과 똑같이 검토하세요.
무브 3 — 커스텀 슬래시 커맨드, 스킬 & 출력 스타일
두 번 프롬프트하는 것은 무엇이든 프리미티브가 되어야 합니다. 결정은 간단합니다: 스킬은 지식, 훅은 보장, MCP는 행동, 슬래시 커맨드는 진입점입니다.
슬래시 커맨드(또는 disable-model-invocation: true가 있는 스킬)는 손으로 트리거하는 반복 가능한 워크플로우를 패키징합니다. $ARGUMENTS는 그것을 매개변수화합니다:
.claude/skills/fix-issue/SKILL.md
--- name: fix-issue description: Triage and fix a GitHub issue end-to-end disable-model-invocation: true --- Fix GitHub issue $ARGUMENTS: 1. gh issue view to read the issue 2. Search the codebase for the relevant files 3. Write a failing test that reproduces the bug 4. Implement the fix, then run tests and lint until green 5. Commit with a descriptive message and open a PR
/fix-issue 1234로 실행하세요. Claude가 스스로 손대기보다는 여러분이 의도적으로 트리거하고 싶은, 부작용이 있는 것에는 disable-model-invocation: true를 사용하세요.
출력 스타일은 세션 전체에 걸쳐 Claude가 어떻게 소통하는지를 바꿉니다 — 전문가를 위한 간결함, 가르치기 위한 설명이 포함된 장황함, 또는 여러분의 도구가 파싱할 수 있는 구조화된 형식. 커스텀 슬래시 커맨드(무엇을)와 출력 스타일(어떻게)을 짝지으면 상호작용의 양쪽 끝을 모두 형성한 것입니다.
공식 문서에서 가장 덜 활용되는 파워 무브: 큰 기능에 앞서 Claude가 여러분을 인터뷰하게 한 다음, 작성된 스펙으로부터 빌드하기 위해 새 세션을 시작하세요.
인터뷰로 스펙 만들기, 그다음 깨끗한 컨텍스트에서 빌드
I want to build [brief description]. Interview me in detail using the AskUserQuestion tool — technical implementation, UI/UX, edge cases, tradeoffs. Dig into the hard parts I might not have considered. When we've covered everything, write a complete, self-contained spec to SPEC.md.
무브 4 — MCP 스택 구축
MCP 서버는 Claude가 실제로 일을 하기 위해 JSON-RPC를 통해 호출하는 실행 가능한 프로세스입니다 — 데이터베이스 쿼리, Sentry 읽기, Figma 디자인 가져오기, Linear 이슈 등록. 파워 유저의 "스택"은 찾을 수 있는 전부가 아니라, 작고 의도적인 집합입니다:
스택에 서버 추가하기
claude mcp add --transport stdio sentry -- npx -y @sentry/mcp-server claude mcp add --transport http linear https://mcp.linear.app/sse
MCP 스택을 빠르게 유지하는 두 가지 원칙:
- CLI가 존재하면 CLI를 선호하세요.
gh,aws,gcloud,sentry-cli는 서비스와 대화하는 가장 컨텍스트 효율적인 방법입니다 — Claude가 이미 그것들을 알고 있고, 매 턴마다 툴 스키마를 로드하지 않습니다. 좋은 CLI가 없는 서비스나, 구조화되고 타입이 지정된 접근을 원하는 곳에는 MCP를 남겨두세요. - 서버 목록을 가볍게 유지하세요. 연결된 모든 서버의 툴 정의는 미리 컨텍스트를 소모합니다. 적극적으로 사용하지 않는 서버는 잘라내세요; 비대해진 툴 목록은 여러분의 실제 지침을 밀어냅니다.
더 깊은 이유는 컨텍스트 엔지니어링을 참조하세요 — CLAUDE.md를 지배하는 것과 같은 주의력 예산(attention-budget) 논리가 여러분의 툴 목록도 지배합니다.
무브 5 — 헤드리스 & Agent SDK 파이프라인
claude -p "prompt"는 Claude를 비대화식으로 실행합니다 — 세션 없이, 파싱 가능한 출력으로 — 이것이 CI, 프리커밋 훅, 배치 작업으로 가는 문입니다. 이것이 헤드리스 / Agent SDK 표면입니다.
공식 베스트 프랙티스 가이드에서 나온 고전적인 파일 전반 팬아웃 패턴:
헤드리스 배치 마이그레이션
# 1. Have Claude generate the work list first, then loop: for file in $(cat files.txt); do claude -p "Migrate $file from React to Vue. Return OK or FAIL." \ --allowedTools "Edit,Bash(git commit *)" done
두 개의 플래그가 무거운 일을 합니다: --output-format json(또는 stream-json --verbose)은 결과를 기계 판독 가능하게 만들고, --allowedTools는 아무도 지켜보지 않을 때 Claude가 무엇을 건드릴 수 있는지를 정확히 범위 지정합니다. 어디로든 파이프하세요:
파이프라인 단계로서의 Claude
cat error.log | claude -p "Cluster these errors by root cause, output JSON" \ --output-format json | jq '.[] | select(.severity=="high")'
- 2,000개에 루프를 풀어놓기 전에 항상 2–3개 항목에서 프롬프트를 테스트하세요. 다듬은 다음, 규모를 키우세요.
- 무인 실행에는 검증이 내장되어야 합니다 — Stop 훅이나 프롬프트 내 테스트 단계 — 그렇지 않으면 그럴듯하지만 틀린 출력을 대규모로 생산하는 것을 방금 자동화한 셈입니다.
무브 6 — 계획 모드 규율 & 컨텍스트 엔지니어링
가장 신뢰할 수 있는 단 하나의 품질 지렛대는 리서치와 실행을 분리하는 것입니다. Anthropic의 베스트 프랙티스 가이드에서 나온 4단계 루프:
- 계획 모드로 진입하세요. Claude는 파일을 읽고 질문에 답하지만 아무것도 변경하지 않습니다. 정확한 디렉터리를 가리키세요: 'read /src/auth and explain how sessions work.'
- 상세한 구현 계획을 요청하세요. 승인하기 전에 직접 편집하세요 — 여러분이 교정한 계획이 대충 훑어본 계획을 이깁니다.
- 계획 모드에서 빠져나오세요. Claude가 계획에 맞춰 코딩하고 여러분이 지정한 검증을 실행합니다.
- 새 컨텍스트를 가진 서브에이전트가 계획 대비 diff를 검토하게 하고, 빈틈을 메운 뒤, 커밋하고 PR을 여세요.
규율에 대해서는 계획 모드를 참조하고, diff가 한 문장에 들어맞을 때는 건너뛰세요 — 계획에는 오버헤드가 있습니다. 이것이 효과가 있는 이유는 컨텍스트 경제입니다: 윈도우가 채워질수록 성능이 저하되므로, 2,000토큰 컨텍스트에서의 50토큰 지침은 같은 지침이 50,000토큰 속에 묻힌 것보다 훨씬 강하게 착지합니다. 실전 습관:
- 관련 없는 작업 사이에는
/clear; 더 나은 프롬프트를 가진 깨끗한 세션이 길고 오염된 세션을 이깁니다. - 두 번의 교정 실패 후에는 교정을 멈추세요 —
/clear하고 배운 것으로 프롬프트를 다시 쓰세요. - 리서치를 서브에이전트에 위임해 파일 읽기가 여러분의 컨텍스트가 아니라 그들의 컨텍스트에서 일어나게 하세요.
"셋업을 레벨업하기" 경로
다른 아무것도 하지 않더라도, 이것들을 순서대로 하세요:
- 스타터로 /init을 실행한 뒤, '이것을 제거하면 Claude가 실수를 하게 될까?'라는 테스트를 통과하지 못하는 모든 줄을 잘라내세요. 비대한 파일은 Claude가 중요한 규칙을 무시하게 만듭니다.
- PostToolUse 린트/포맷 훅과 테스트에 게이트를 거는 Stop 훅을 추가하세요. 이제 루프가 여러분을 기다리는 대신 스스로 닫힙니다.
- 두 번 타이핑한 워크플로우를 고르세요 — fix-issue, write-tests, ship-pr — 그리고 그것을 .claude/skills/ 또는 .claude/commands/에 넣으세요.
- 매주 사용하는 서버만 추가하세요; 존재하는 곳에서는 MCP보다 gh/aws CLI를 선호하세요. 나머지는 잘라내세요.
- 여러 파일에 걸치거나 익숙하지 않은 변경에는 계획 모드를 사용하고, 새 컨텍스트를 가진 검토 서브에이전트로 마무리하세요.
- 프리커밋 훅이나 --allowedTools를 가진 작은 배치 작업에서 claude -p를 실행하세요. 그래서 Claude를 단지 채팅이 아니라 파이프라인 단계로 경험해보세요.
CLAUDE.md 마스터리
CLAUDE.md는 모든 대화의 시작에 로드되므로, 여러분이 통제하는 가장 고빈도 컨텍스트입니다 — 따라서 과적재로 망치기 가장 쉬운 것이기도 합니다.
| CLAUDE.md에 넣을 것 | 빼둘 것 |
|---|---|
| Claude가 추측할 수 없는 Bash 커맨드 | Claude가 코드를 읽어서 찾아내는 것 무엇이든 |
| 기본값과 다른 코드 스타일 규칙 | Claude가 이미 아는 표준 관례 |
| 테스트 러너 + 단일 테스트 실행 방법 | 전체 API 문서(대신 링크하세요) |
| 리포지토리 예절(브랜치/PR 네이밍) | 자주 바뀌는 정보 |
| 뻔하지 않은 함정과 환경 특이 사항 | "깨끗한 코드를 작성하라" 같은 뻔한 말 |
그것을 코드처럼 다루세요: 동작이 잘못될 때 검토하고, 정기적으로 가지치기하며, @path/to/file 임포트와 디렉터리별 CLAUDE.md 파일을 사용해 모노레포의 각 부분이 관련된 것만 받게 하세요. 가끔 관련 있는 지식은 스킬로 옮겨, 매 턴에 세금을 물리는 대신 필요할 때 로드되게 하세요.
스스로 점검하기
0/4- 진행 과정 자체가 스킬입니다: 하나의 Claude → 병렬 서브에이전트 → 스크립트 기반 동적 워크플로우, 누가 계획을 쥐어야 하는지에 따라 선택됩니다.
- 훅은 결정론적 접착제입니다 — 저장 시 린트, 종료 게이트, 금지된 쓰기 차단 — 매번 일어나야 하는 것을 위한.
- 반복하는 프롬프트를 슬래시 커맨드/스킬로 패키징하고, 출력 스타일로 전달을 형성하며, MCP 스택을 가볍게 유지하세요(CLI를 선호).
- --allowedTools를 가진 헤드리스 claude -p는 Claude를 CI/파이프라인 단계로 바꿉니다; 무인 실행에는 항상 검증을 내장하세요.
- 계획 모드 규율에 더해 공격적인 컨텍스트 경제(/clear, 서브에이전트 리서치, 가지치기한 CLAUDE.md)가 여러분이 가진 가장 높은 신뢰도의 지렛대입니다.
출처 & 더 읽을거리
- Best practices for Claude Code — Anthropic의 공식 가이드: 탐색→계획→실행 루프, CLAUDE.md 규칙, 훅, 서브에이전트, 헤드리스 팬아웃, 검증.
- Orchestrate subagents at scale with dynamic workflows — 동적 워크플로우,
ultracode키워드,/deep-research, 누가-계획을-쥐는가 비교 표에 대한 공식 문서. - Effective context engineering for AI agents — 유한한 예산으로서의 컨텍스트와 적시(just-in-time) 검색에 대한 Anthropic 엔지니어링.
- hesreallyhim/awesome-claude-code — 스킬, 훅, 슬래시 커맨드, 에이전트 오케스트레이터, 플러그인의 대규모 커뮤니티 큐레이션 목록.
- qdhenry/Claude-Command-Suite — 전문적인 슬래시 커맨드와 에이전트의 잘 알려진 라이브러리(예:
/dev:code-review). - GWUDCAP/cc-sessions — 워크플로우 강제를 위한 훅과 태스크/git 관리를 시연하는, 견해가 뚜렷한 확장 세트.
- VoltAgent/awesome-claude-code-subagents — 특화된 서브에이전트 정의의 대규모 커뮤니티 컬렉션.