Agentic Engineering 3회차
3회차 · 9교시Agentic Engineering 실무 · 2026-11-17

더 오래 맡기기:
자동 승인, ‘계속’의 자동화, 1M

사람이 누르던 승인과 ‘계속’을 기계가 대신하게 되면서, 몇 시간짜리 일을 맡길 수 있게 된 과정을 봅니다.

Claude Code auto mode 발표 글
2026-03자동 승인
Ralph Wiggum 블로그 글
2025-07Ralph 루프
Claude Code /goal 문서
2026-05/goal
1M 컨텍스트 정식 출시 글
2026-031M 컨텍스트
8교시 → 9교시딴길은 막았지만 사람이 아직 붙어 있다

스펙과 테스트를 갖춰도, 사람이 남는 세 곳

8교시하네스 v1스펙 · Task 목록테스트 =완료 기준진행 파일그래도사람이 남는 곳도구 호출마다승인턴이 끝날 때마다‘계속’창이 차면압축9교시의 답자동 승인(auto mode)/goal · 루프1M 컨텍스트 딴길 막음

지난 시간까지의 하네스가 무엇을 할지를 붙잡았다면, 오늘은 누가 승인하고, 누가 계속하고, 어디에 담는지를 바꿉니다.

2026-03-25Anthropic Engineering · “Claude Code auto mode”

수동 승인은 93%가 그냥 승인돼, 안전장치 구실을 못 한다

수동 승인샌드박스--dangerously-skip-permissionsauto mode안전승인 93% 그냥 누름안전기능마다 설정, 네트워크 필요하면 깨짐보호 없음관리 비용 0분류기가 판단프롬프트 줄고 위험 행동은 차단

수동 승인 요청 중 사용자가 93%를 그냥 승인합니다(Anthropic 집계). 확인하지 않고 누르는 승인은 안전장치가 아닙니다. → 3교시에서 본 내용

2026-03-24Claude Code auto mode 발표

자동 승인(auto mode): 사람의 승인을 분류기 모델이 대신한다

claude.com/blog/auto-mode
Auto mode for Claude Code 발표 글
공식 발표 화면 캡처 · 2026-03-24
Claude 공식 발표 글 첫 화면(2026-03-24). 제목은 ‘Claude Code용 auto mode’, 부제는 --dangerously-skip-permissions(승인 전부 끄기)의 더 안전한 장시간 대안.
행동 직전 별도 분류기 모델이 범위 밖 행동·낯선 인프라·글에 홀린 행동을 막아, 승인 클릭 없이 긴 작업이 이어진다.
공식 문서가 밝히듯 안전을 보장하지는 않고 프롬프트를 줄여 줄 뿐이다. 켜는 법: Shift+Tab 또는 --permission-mode auto.
승인을 없앤 것이 아니라 승인하는 주체를 사람에서 모델로 바꾼 기능. 9교시 첫 블록의 출발점.
2026-03-25Anthropic Engineering · System architecture

분류기는 두 겹: 들어오는 글과 나가는 행동

anthropic.com/engineering/claude-code-auto-mode
auto mode 시스템 구조 그림
Anthropic Engineering 화면 캡처 · 2026-10-28 확인
엔지니어링 글의 Figure 2 ‘System architecture’. 도구 호출은 Transcript classifier가 허용·거부하고, 도구 결과는 Prompt-injection probe가 훑는다.
입력층(숨은 프롬프트 주입 탐지)과 출력층(실행 직전 행동 분류) 두 겹으로 막는다.
서브에이전트가 돌려주는 결과는 경고만 하고 차단하지 못한다. 놓치는 위험도 있다(다음 장 17%).
분류기는 사용자 메시지와 도구 호출만 보고 에이전트 설명·도구 결과는 뺀다. 설득당하지 않으려는 설계.
공식 문서 + Engineering 글모든 호출이 분류기를 거치는 것은 아니다

호출은 세 단계로 걸러진다

1단 · 규칙읽기 전용2단 · 프로젝트안 편집3단 · 분류기빠른 검사 → 추론실행3회 연속·20회 누적→ 사람에게 묻기차단 → 사유를Claude에게 아니면아니면통과차단

읽기와 프로젝트 안 편집은 분류기 없이 통과합니다. 셸 명령, 웹 요청, 서브에이전트 같은 나머지가 분류기로 갑니다.

2026-03-25Anthropic Engineering · Results

분류기는 위험한 과잉 행동의 17%를 놓친다

anthropic.com/engineering/claude-code-auto-mode
auto mode 결과 표
Anthropic Engineering 화면 캡처 · 2026-10-28 확인
결과 표(Table 1). FPR(False Positive Rate, 오탐률)은 정상 행동을 잘못 막은 비율, FNR(False Negative Rate, 놓침률)은 위험 행동을 놓친 비율. 전체 파이프라인은 FPR 0.4%, FNR 17%.
0.4%

정상 행동을 잘못 막은 비율(오탐) · 실제 트래픽 1만 건 중

17%

위험한 과잉 행동을 통과시킨 비율(미탐) · 실제 사례 52건 중

→ 결론: ‘안전하다’가 아니라 ‘프롬프트 열 번을 줄이는 대신 일부 위험을 받아들인다’입니다.

2026-10-28 확인Claude Code 문서 · Permission modes

auto mode는 배포·강제 푸시 같은 위험은 막고, 작업 폴더 안 일은 허용한다

code.claude.com/docs/en/permission-modes
Claude Code 권한 모드 표
공식 문서 화면 캡처 · 2026-10-28 확인
Claude Code 권한 모드 표. 모드마다 묻지 않고 실행하는 범위가 다르다. auto는 ‘백그라운드 안전 검사와 함께 전부’, 긴 작업에 적합.
  • 막음: curl | bash, 운영 배포, 강제 푸시, 보안 테스트 삭제, 자격증명 출력
  • 허용: 작업 폴더 안 파일 작업, lock 파일에 있는 의존성 설치, 읽기 전용 요청
  • 사람이 “푸시하지 마”라고 하면 그 경계도 지켜진다
2025-04-16 → 2026-10-28 확인Codex CLI(Command-Line Interface, 명령줄 도구) 승인·샌드박스 문서

Codex는 샌드박스 안은 자동, 밖으로 나갈 때만 승인으로 푼다

developers.openai.com/codex/agent-approvals-security
Codex Agent approvals & security 문서
공식 문서 화면 캡처 · 2026-10-28 확인
OpenAI Codex 문서 ‘Agent approvals & security’. 기본은 네트워크 끔 + OS 샌드박스이고, 승인 정책이 언제 멈추고 물을지 정한다.
OS 샌드박스(격리 공간) 안은 자동, 밖으로 나갈 때만 승인. 기본은 네트워크 끔·작업 폴더 안에서만 쓰기.
auto-review는 승인이 필요한 행동만 모델이 검토한다. 승인과 샌드박스를 모두 끄는 위험 옵션은 문서가 권장하지 않는다.
Claude Code는 분류기가 행동마다, Codex는 격리 공간이 경계를 긋는다. 모델 판단 층과 OS가 막는 층을 함께 쓰는 것이 안전.
축 2 · ‘계속’채팅 IDE(Integrated Development Environment, 통합 개발 환경)의 사람 → 터미널 에이전트의 판단

에이전트가 “다 했습니다”라고 멈추는 문제

작업‘다 했습니다’예전엔 사람이,지금은 장치가 ‘계속’실제 상태테스트 3개 실패 확인계속

채팅 IDE에서는 사람이 ‘계속’을 입력했습니다. 터미널 에이전트는 스스로 멈추는데, 멈추는 시점이 이르다는 새 문제가 생겼습니다.

2025-07-14Geoffrey Huntley · “Ralph Wiggum as a software engineer”

반복 실행 루프의 대표 기법 Ralph: 같은 프롬프트를 셸 루프로 계속 넣는다

ghuntley.com/ralph
Geoffrey Huntley의 Ralph 블로그 글
원문 블로그 화면 캡처 · 2025-07-14
Geoffrey Huntley의 2025-07-14 블로그 글 ‘소프트웨어 엔지니어 Ralph Wiggum’. 심슨 캐릭터 이름을 딴 반복 실행 기법을 소개.
$ while :; do cat PROMPT.md | claude-code ; done
한 줄 루프로 누구나 재현한다. 계속할지를 모델이 아닌 바깥 루프가 정하고, 테스트·타입 검사가 나쁜 코드를 걸러낸다.
새 프로젝트를 뼈대부터 만들 때 맞고 숙련자의 지도가 필요하다고 글도 말한다. while 루프라 멈춤 조건이 따로 없다.
‘계속’의 결정이 사람에서 바깥 루프로 옮겨 간 출발점. 이후 공식 플러그인·/goal로 이어진다.
2025-11-16Anthropic 공식 플러그인 · Stop 훅 방식

공식 플러그인: 바깥 루프를 세션 안의 훅으로

github.com/anthropics/claude-plugins-official/tree/main/plugins/ralph-loop
ralph-loop 플러그인 README
공식 저장소 화면 캡처 · 2026-10-28 확인 (현재 위치)
Anthropic 공식 플러그인 저장소의 ralph-loop README. ‘Ralph는 Bash 루프’라는 설명과 Stop 훅이 종료 시도를 가로챈다는 핵심 개념.
Stop 훅(응답이 끝날 때 실행되는 장치)이 종료를 가로채 같은 프롬프트를 다시 넣어, 세션 안에서 완료 문구까지 반복한다.
완료 문구는 정확한 문자열 일치라 여러 조건을 표현할 수 없다. 최대 반복 횟수를 안전망으로 두라고 안내한다.
커뮤니티 꼼수가 공식 기능(훅)이 된 사례. 다음 장에서 Stop 훅이 ‘계속’의 자리임을 확인한다.
/ralph-loop "…" --completion-promise "DONE" --max-iterations 50
질문 시간 · 약 5분

여기까지,
질문 받습니다

지금까지 다룬 것: 분류기 구조 · 3단 판단 흐름 · 한계 수치 · 기본 차단과 허용 · Codex 승인 모드 · 너무 일찍 멈춘다 · Ralph 루프 · 공식 ralph-loop 플러그인

앞에서 본 화면
앞에서 본 화면
앞에서 본 화면
앞에서 본 화면
2025-06-30 → 2025-11-16Claude Code Hooks · Stop 훅이 ‘계속’의 자리

‘계속’의 자리는 턴이 끝나는 순간의 훅

작업 ·도구 호출응답 끝,멈추려 함완료 조건 확인Stop 훅이종료 가로채기종료 매 턴 끝미충족충족

Stop 훅은 매 턴이 끝날 때 실행됩니다. 여기서 스크립트나 프롬프트가 끝낼지 이어갈지를 정합니다.

2026-03-06Claude Code 2.1.71 · /loop

/loop: 정해진 간격으로 되풀이한다

code.claude.com/docs/en/scheduled-tasks
Claude Code 예약 작업 비교 표
공식 문서 화면 캡처 · 2026-10-28 확인
Claude Code 문서의 예약 방식 비교표(Cloud·Desktop·/loop). /loop은 내 컴퓨터에서, 세션이 열려 있어야 하며 최소 간격 1분.
> /loop 5m check if the deployment finished
시간 간격(1분부터)으로 되풀이해 배포 확인·CI(Continuous Integration, 지속적 통합) 지켜보기에 맞다. 간격을 생략하면 Claude가 1분~1시간 안에서 정한다.
세션이 열려 있어야 돈다. 반복 작업은 7일 뒤 자동 만료되고, 목표 달성까지 도는 기능은 아니다.
‘계속’을 시간 기준으로 자동화한 것. 목표 기준은 다음 장의 /goal이다.
2026-04-30Codex CLI 0.128.0 · 지속되는 /goal

Codex가 먼저: 목표를 주면 끝났다고 판단할 때까지

github.com/openai/codex/releases/tag/rust-v0.128.0
Codex 0.128.0 릴리스 노트
공식 릴리스 노트 화면 캡처 · 2026-10-28 확인
OpenAI Codex 0.128.0(2026-04-30) 릴리스 노트. 새 기능 첫 줄에 /goal 워크플로 추가가 적혀 있다.
“Added persisted /goal workflows … TUI controls for create, pause, resume, and clear.”지속되는 /goal 워크플로를 추가했다 … 만들기·일시정지·재개·삭제를 위한 TUI(Terminal User Interface, 터미널 화면) 조작.openai/codex · rust-v0.128.0
목표를 저장해 턴이 끝나도 이어 가고, 일시정지·재개·삭제를 화면에서 제어한다.
릴리스 노트에는 기능 추가가 한 줄뿐이다. Simon Willison은 토큰 예산을 다 쓸 때까지 도는 구조라 설명한다.
목표 기준의 ‘계속’은 Codex가 먼저(4월 30일) 넣었고, 한 달 안에 Claude Code가 따라왔다.
2026-05-11Claude Code 2.1.139 · /goal

Claude Code /goal: 완료 조건을 주면 해제될 때까지 계속

code.claude.com/docs/en/goal
Claude Code Keep Claude working toward a goal 문서
공식 문서 화면 캡처 · 2026-10-28 확인
Claude Code 문서 ‘Keep Claude working toward a goal’(목표를 향해 계속 일하게 하기). 완료 조건이 충족될 때까지 턴마다 멈추지 않는다는 설명.
> /goal all tests in test/auth pass and the lint step is clean
완결된 목표를 주면 별도 평가자가 매 턴 판정해, 몇 시간 단위의 일을 사람 없이 맡길 수 있다.
평가자는 대화에 드러난 것만 본다. 파일을 읽거나 명령을 돌리지 못하니 ‘잘 만들어’ 같은 모호한 조건은 판정할 수 없다.
‘계속’ 입력이 검사 가능한 완료 조건으로 바뀌었다. 8교시에서 쓴 테스트가 그대로 조건이 된다.
공식 문서 · How evaluation works/goal은 세션 범위의 Stop 훅

/goal의 한 바퀴: 일하고, 평가하고, 이어 간다

/goal 조건최대 4,000자Claude가한 턴 수행평가자 (작은 모델)대화만 읽음충족 → 해제불가능 → 해제 턴 끝미충족

평가자는 도구를 부르지 않고 대화에 드러난 것만 봅니다. 그래서 조건은 Claude의 출력으로 증명할 수 있어야 합니다.

공식 문서 · Compare ways to keep a session running다음 턴을 무엇이 시작하나

/goal, /loop, Stop 훅: 다음 턴을 시작하는 쪽이 다르다

code.claude.com/docs/en/goal
Claude Code 문서의 /goal /loop Stop 훅 비교 표
공식 문서 화면 캡처 · 2026-10-28 확인
같은 문서의 ‘세션을 계속 돌리는 방법 비교’ 표(Approach / Next turn starts when / Stops when). 다음 턴이 언제 시작되고 언제 멈추는가로 세 방식을 나눈다.
  • /goal: 턴이 끝나면, 조건 충족·불가능 판정까지
  • /loop: 시간이 되면, 사용자가 멈추거나 Claude가 끝났다고 판단할 때까지
  • Stop 훅: 턴이 끝나면, 내가 쓴 스크립트·프롬프트가 결정

auto mode는 도구마다 승인, /goal은 턴마다 승인을 없앱니다.

공식 문서 · Write an effective condition검증 가능한 완료 조건

좋은 완료 조건은 네 조각으로 이루어진다

나쁜 조건좋은 조건 = 네 조각로그인 기능 잘 만들어테스트 좀 고쳐리팩터링 끝날 때까지① 끝 상태 하나: 테스트 통과② 확인 방법: npm test 종료 코드 0③ 건드리면 안 되는 것: 테스트 파일 수정 금지④ 상한: 20턴이면 멈춤 측정 가능하게

조건에서 가장 중요한 것은 Claude가 스스로 증명할 수 있는 끝 상태입니다. 8교시의 테스트가 그대로 완료 조건이 됩니다.

공식 문서 형식 + 예시 문장/goal 조건 써 보기

조건 문장 예: 끝 상태, 확인, 제약, 상한

code.claude.com/docs/en/goal
Claude Code 문서의 효과적인 조건 쓰기 절
공식 문서 화면 캡처 · 2026-10-28 확인
같은 문서의 ‘Write an effective condition’ 절. 좋은 조건은 측정 가능한 끝 상태 하나, 확인 방법, 지켜야 할 제약을 담고 최대 4,000자까지 쓸 수 있다.
> /goal npm test 통과(종료 코드 0), 린트(코드 검사) 경고 없음, 기존 테스트 파일은 수정 금지, 20턴이 지나면 멈추고 현황 보고

비대화형: claude -p "/goal …" 은 끝날 때까지 한 번에 실행

공식 문서 종합Ralph 플러그인·/loop·/goal·auto mode

오래 맡길수록 상한이 먼저다

오래 맡긴 루프폭주를 막는 장치자동 승인/goal · Ralph횟수 상한: --max-iterations, ‘20턴’ 조항시간 상한: /loop 7일 만료분류기 차단: 연속 3회·누적 20회에서 멈춤테스트 파일 보호 · 격리 브랜치/워크트리비용 확인: /goal 상태의 토큰 소비 항상 같이

상한은 횟수 · 시간 · 차단 · 테스트 보호 · 비용 확인 다섯 겹입니다. 한 겹이 뚫려도 다음 겹이 멈춥니다.

2023-05 → 2026-03컨텍스트 창(AI가 한 번에 읽는 분량)이 커진 과정

100K에서 1M까지, 3년 만에 열 배

2023-052025-042025-082026-022026-03-13Claude 100KGPT-4.1 1MSonnet 4 1M 베타Opus 4.6 1M 베타Claude 1M 정식할증 없음

1M 정식 이후에는 최신 Claude 모델이 Claude Code에서 기본으로 1M을 씁니다. OpenAI의 최신 API(Application Programming Interface, 프로그램 연동 규약) 모델 문서도 1.05M입니다. → 5교시 압축의 한계

2026-03-13Claude 1M(100만 토큰) 컨텍스트 정식 출시

1M 정식 출시: 할증 없이, 기본 한도 그대로

claude.com/blog/1m-context-ga
1M context is now generally available 발표 글
공식 발표 화면 캡처 · 2026-03-13
Claude 공식 발표 ‘Opus 4.6·Sonnet 4.6에서 1M 컨텍스트 정식 출시’. 1M 전 구간에 표준 요금, 이미지·PDF는 600장까지.
할증 없이 9K 요청과 900K 요청의 토큰 단가가 같고, 이미지·PDF는 요청당 100쪽에서 600쪽으로 늘었다.
78.3%는 Opus 4.6의 MRCR(Multi-Round Co-reference Resolution, 다회차 지시어 해소) v2 점수(긴 글 속 정보 찾기, 공식 수치). 후기의 ‘압축 15% 감소’는 한 고객의 사례다.
‘창이 작아 자주 압축’하던 문제를 창 자체를 키워 푼 해법. 단 다음 장처럼 채울수록 정확도가 떨어질 수 있다.
2025-07-14 · 2026-10-28 확인Chroma ‘Context Rot’ · Claude Code 모델 문서

창이 커도 채울수록 정확도는 떨어질 수 있다

research.trychroma.com/context-rot
Chroma 보고서 Context Rot
Chroma 기술 보고서 화면 캡처
Chroma 기술 보고서 ‘Context Rot’(2025-07-14). 입력 토큰이 늘수록 LLM(Large Language Model, 대규모 언어 모델) 성능이 달라진다며 18개 모델을 평가했다고 소개.
입력이 길어질수록 성능이 달라지는 현상을 18개 모델로 측정해, 큰 창의 한계를 숫자로 보여 준다.
창이 커져도 압축은 사라지지 않고 늦어질 뿐이다. 시점은 CLAUDE_CODE_AUTO_COMPACT_WINDOW로 조절한다.
1M이어도 중요한 결정은 파일에 적어 둔다(8교시 진행 파일·스펙).
정리사람이 하던 일이 기계로, 사람 몫은 조건과 상한

승인·계속·창, 세 병목을 기계가 맡았다

사람이 하던 것기계가 맡은 방식그래도 사람 몫도구마다 승인턴마다 ‘계속’창 관리·압축분류기 (auto mode)평가자 (/goal)큰 창 (1M)완료 조건 쓰기상한·테스트 보호결과 판정

남는 사람의 일은 완료 조건 쓰기, 상한 정하기, 결과 판정입니다. → 10교시: 이 모든 장치를 묶는 말, 하네스와 MCP(Model Context Protocol, 모델 컨텍스트 프로토콜)

3회차 · 10교시Agentic Engineering 실무 · 2026-11-17

하네스와 MCP
주로 쓰는 MCP 도구

에이전트를 둘러싼 장치에 이름이 붙은 과정, 그 장치 가운데 바깥 세계와 잇는 MCP(Model Context Protocol, 모델 컨텍스트 프로토콜), 그리고 실제로 많이 쓰는 MCP 도구를 하나씩 봅니다.

Anthropic 장기 실행 하네스 글
하네스2025-11-26
MCP 공식 문서의 구조 설명
MCP구조·보안
Serena GitHub 저장소
Serena심볼 탐색
Playwright MCP 공식 문서
Playwright브라우저 자동화
9교시 → 10교시오래 맡기기에서 남은 문제

오래 돌려 보니 남는 세 가지 문제

9교시 · 오래 맡기기그래도 남는 문제10교시자동 승인/goal · 루프1M 컨텍스트세션이 끊기면기억이 사라진다저장소 밖 세계를볼 수 없다도구가 늘수록창이 찬다하네스MCP 구조·보안주로 쓰는 MCP토큰 절약 오래 돌려 보니답

9교시에서 승인, 계속, 창 크기를 풀었습니다. 기록, 연결, 비용은 하네스와 MCP의 몫입니다. → 9교시

2025-02-24 → 2026-02-11Anthropic · OpenAI 공식 글

‘하네스’는 Claude Code 출시 7개월 뒤에야 공식 글에 등장했다

2025-02-24Claude Code 리서치 프리뷰(‘하네스’라는 말 없음)2025-09-29Anthropic Agent SDK 글공식 글의 첫 사용2025-11-26Anthropic장기 실행 하네스2026-02-11OpenAIHarness engineering

Claude Code 출시 때는 없던 말입니다. 하네스는 모델을 둘러싼 장치 전부를 뜻합니다. 공식 글 가운데 첫 사용은 2025-09-29입니다. → 다음 3장

2025-09-29Anthropic · Building agents with the Claude Agent SDK(Software Development Kit, 소프트웨어 개발 키트)

첫 공식 사용: Claude Code를 움직이는 하네스

claude.com/blog/building-agents-with-the-claude-agent-sdk
Anthropic Agent SDK 글
공식 블로그 화면 캡처 · 2026-10-28 확인
Anthropic 블로그 ‘Claude Agent SDK로 에이전트 만들기’(2025-09-29). SDK는 Claude Code 위에서 에이전트를 만드는 도구 모음이라고 소개.
“the agent harness that powers Claude Code”Claude Code를 움직이는 에이전트 하네스Anthropic · 2025-09-29
Claude Code의 루프(맥락 모으기→행동→확인)를 다른 에이전트에도 쓰도록 SDK로 열었다.
공식 글에서 ‘하네스’는 본문에 딱 한 번 나온다. SDK 이름은 이후 Agent SDK로 바뀌었다.
Claude Code를 모델이 아니라 하네스로 보는 관점이 공식화된 첫 글.
2025-11-26Anthropic Engineering · Effective harnesses for long-running agents

장기 실행 하네스: 세션이 끊겨도 이어 가게

anthropic.com/engineering/effective-harnesses-for-long-running-agents
Effective harnesses for long-running agents 글
Anthropic Engineering 화면 캡처 · 2025-11-26
Anthropic Engineering 글 ‘장기 실행 에이전트를 위한 하네스’(2025-11-26). 여러 창에 걸친 긴 일은 초기화 에이전트 + 코딩 에이전트로 나눠 푼다.
세션이 끊겨도 진행 기록·기능 목록·git 로그로 이어 가, 한 창에 안 끝나는 큰 일을 맡긴다.
새 세션은 앞의 일을 기억하지 못해 파일 기록이 곧 기억이다. 초기화·코딩 에이전트는 첫 프롬프트만 다르다.
2교시 진행 파일의 확장판. 12교시 누적 과제 하네스에 가져올 구조.
2025-11-26Anthropic 장기 실행 하네스의 구조

세션 사이를 건너는 것은 파일과 git

첫 세션 ·초기화 에이전트세션 사이에 남는 것init.sh · claude-progress.txtfeature_list.json · git 커밋코딩 에이전트진행·git 로그 읽기테스트 후passes 갱신·커밋기능 하나만구현 만든다읽는다갱신

기능 목록은 마크다운이 아니라 JSON(JavaScript Object Notation, 자바스크립트 객체 표기법). 모델이 함부로 고치지 않도록 passes 항목만 바꾸게 했습니다. → 8교시 진행 파일

2026-02-11OpenAI · Harness engineering: leveraging Codex in an agent-first world

OpenAI의 하네스 엔지니어링: 저장소가 기록 체계

“Humans steer. Agents execute.”사람은 방향을 잡고, 에이전트가 실행한다.OpenAI · 2026-02-11
저장소 안 문서만 에이전트에게 존재한다는 원칙으로, 사람 코드 0줄에 약 5개월 만에 약 100만 줄(내부 베타 제품).
AGENTS.md에 다 적으면 맥락을 밀어내고 금방 낡아 약 100줄 목차로 줄였다. 한 작은 팀의 사례다.
구글 문서·슬랙·머릿속 지식은 Codex에게 없는 것과 같다. 14교시 ADR(Architecture Decision Record, 아키텍처 결정 기록)로 이어진다.
openai.com/index/harness-engineering
OpenAI 원문 그림: 에이전트 지식의 한계, Codex가 볼 수 없는 것은 존재하지 않는다
OpenAI 원문 그림 · 2026-02-11
OpenAI 원문 그림. 구글 문서·슬랙 메시지·머릿속 지식은 Codex에게 없는 것과 같으니 마크다운으로 저장소에 넣으라는 뜻.
개념 · 하네스 지도이 과정에서 하나씩 더해 온 장치

에이전트 = 모델 + 하네스

모델하네스 = 모델을 둘러싼 장치 전부지침 파일CLAUDE.md · AGENTS.md권한허용·거부 규칙도구파일·셸·검색MCP바깥 세계 연결훅정해진 때 실행스킬필요할 때 읽는 지침서브에이전트창을 나눠 씀루프 · /goal‘계속’의 자동화메모리 · 진행 파일세션을 건너는 기록 에이전트 = 모델 + 하네스

같은 모델도 하네스에 따라 결과가 달라집니다. 이 과정의 누적 과제가 나만의 하네스 만들기입니다.

2024-11-25Anthropic · Introducing the Model Context Protocol

MCP: AI와 도구를 잇는 하나의 표준

anthropic.com/news/model-context-protocol
MCP 오픈소스 발표 글
Anthropic 공식 발표 화면 캡처 · 2026-10-28 확인
Anthropic의 MCP 공개 글(2024-11-25). 데이터 소스마다 따로 만들던 연결을 하나의 프로토콜로 대체한다고 설명.
연결마다 따로 만들던 구현을 하나의 프로토콜로 통일해, 한 번 만든 서버를 여러 AI 앱이 쓴다.
도구 정의가 창을 차지하고, 서버가 권한을 요구해 보안 문제도 따라온다(뒤의 세 장).
오늘 볼 도구들이 Cursor·Codex·VS Code에서도 같은 방식으로 연결되는 이유.
MCP 아키텍처modelcontextprotocol.io · 명세 2026-07-28판

호스트, 클라이언트, 서버

MCP 호스트서버마다 클라이언트 1개Claude Code · Cursor로컬 서버Playwright · Serena원격 서버GitHub · Sentry원격 서버Supabase · Figma서버가 내놓는 것tools실행할 수 있는 함수resources읽을 수 있는 데이터prompts재사용 템플릿 stdioHTTPHTTP

호스트는 서버마다 클라이언트를 하나씩 만듭니다. 로컬은 stdio(표준 입출력), 원격은 Streamable HTTP(HyperText Transfer Protocol, 웹 통신)입니다. → 12교시 MCP 연결

Claude Codeclaude mcp add · 범위 3종 · 2026-10-28 확인

claude mcp add 한 줄로 MCP 서버를 연결한다

code.claude.com/docs/en/mcp
Claude Code MCP 문서
공식 문서 화면 캡처
Claude Code 문서 ‘MCP로 도구에 연결하기’. 이슈 트래커 기능 구현, 모니터링 분석, DB(데이터베이스) 질의 같은 MCP로 할 수 있는 일이 첫 절에 나온다.
$ claude mcp add --transport http notion \ https://mcp.notion.com/mcp $ claude mcp add --transport stdio airtable \ -- npx -y airtable-mcp-server $ claude mcp add --scope project ... ✓ project 범위는 .mcp.json에 저장
  • 범위: local(기본) · project(팀 공유) · user
  • project 서버는 처음 쓸 때 승인을 묻는다
2025-04-01Invariant Labs · Tool Poisoning Attacks

보안 ①: 도구 설명에 숨긴 명령이 모델을 조종한다

invariantlabs.ai/blog/mcp-security-notification-tool-poisoning-attacks
Invariant Labs의 Tool Poisoning 글
보안 연구 글 화면 캡처 · 2026-10-28 확인
Invariant Labs 보안 공지(2025-04-01) ‘도구 오염 공격’. MCP의 심각한 취약점을 발견했고 Anthropic·OpenAI·Cursor 등이 영향권이라고 적었다.
도구 설명이 프롬프트에 그대로 들어가는 구조를 짚어, MCP 클라이언트의 검증 공백을 구체적 시연으로 보여 준다.
시연은 도구 설명을 검증·표시하지 않는 클라이언트가 대상이다. 확인창에는 단순한 도구 이름만 보였다.
도구 설명도 신뢰 경계 밖의 입력이다. 출처를 모르는 MCP 서버는 연결하지 않는다.
명세 2026-07-28판 · Supabase·Vercel 문서공식 보안 원칙

보안 ②: 도구는 임의 코드 실행과 같다

modelcontextprotocol.io/specification/latest
MCP 명세 첫 화면
MCP 명세 화면 캡처 · 보안 절은 3장
MCP 명세(2026-07-28판) 첫 화면. 오른쪽 목차의 ‘3. Security and Trust & Safety(보안·신뢰·안전)’ 절이 도구 보안 원칙을 다룬다.
  • 명세: 도구는 임의 코드 실행, 호출 전 사용자 동의
  • 신뢰한 서버만, 최소 권한: 읽기 전용, 프로젝트 한정
  • 승인 단계를 끄지 않는다. 운영 데이터엔 연결 금지
MCP 토큰 비용Claude Code 공식 문서 · 2026-10-28 확인

도구가 많으면 일하기 전에 창이 찬다

모두 미리 싣는 방식도구 검색 (지연 로딩)서버 5개 · 도구 수십 개도구 이름 + 설명 + 입력 스키마전부 세션 시작에 창으로쓰지 않아도 창을 차지시작 시: 도구 이름과서버 지침만 로드필요할 때 ToolSearch로해당 도구 정의만 로드창은 일에 쓴다 기본값

MCP 도구는 이름·설명·입력 스키마(받는 입력의 형식)가 모델에게 전달됩니다. 서버를 많이 붙일수록 쓰지도 않는 도구가 창을 차지합니다. → 다음 장

질문 시간 · 약 5분

여기까지,
질문 받습니다

지금까지 다룬 것: OpenAI 하네스 엔지니어링 · 하네스 구성요소 지도 · MCP의 등장 · MCP 구조 · MCP 연결하기 · MCP 보안: 도구 설명 주입 · MCP 보안: 원칙과 방어 · MCP의 토큰 비용

앞에서 본 화면
앞에서 본 화면
앞에서 본 화면
앞에서 본 화면
Claude Code · MCP tool searchcode.claude.com/docs/en/mcp · 2026-10-28 확인

도구 검색: 이름만 싣고, 필요할 때 불러온다

code.claude.com/docs/en/mcp#scale-with-mcp-tool-search
Claude Code 문서의 Scale with MCP tool search 절
공식 문서 화면 캡처
Claude Code 문서 ‘MCP 도구 검색으로 확장하기’. 도구 정의를 필요할 때까지 미뤄 세션 시작에는 도구 이름과 서버 지침만 싣는다.
시작에는 도구 이름·서버 지침만 싣고 필요할 때 정의를 불러와, 서버를 더 붙여도 창이 덜 찬다.
Claude Code 기준 기능이라 다른 도구는 방식이 다를 수 있다. 서버 지침이 부실하면 검색에서 잘 안 찾힌다.
앞 장의 창 낭비 문제에 대한 답. 도구 출력도 1만 토큰 초과 시 경고, 기본 상한 2.5만 토큰.
개념 · 도구 지도하는 일로 나눈 9개

무엇을 하게 해 주는가로 고른다

코드를 이해한다브라우저를 본다일하는 곳과 잇는다배포·데이터문서 조회 · Context7최신 라이브러리 문서브라우저 자동화 · Playwright MCP접근성 트리로 조작GitHub MCP이슈 · PR · ActionsSupabase MCPDB · 마이그레이션언어 서버 · Serena심볼 단위 탐색·편집브라우저 진단 · Chrome DevTools MCP콘솔·네트워크·성능Figma MCP디자인 → 코드Vercel MCP배포 · 로그Sentry MCP오류 · 이슈 분석

이 목록은 예시입니다. 필요한 일이 생길 때 하나씩 붙이고, 안 쓰면 뺍니다.

개념 먼저코드 인텔리전스, LSP(Language Server Protocol, 언어 서버 프로토콜) · 문서 조회 — 도구 이름은 그다음

코드를 아는 길은 언어 서버(LSP), 최신 API를 아는 길은 문서 조회다

에이전트‘이 함수 어디서 쓰여?’언어 서버 (LSP)정의·참조·진단내 코드그 심볼과 참조만에이전트‘이 API 최신 사용법?’문서 조회 서버라이브러리·버전 검색공식 문서·예제필요한 부분만 LSPMCP
언어 서버 프로토콜(LSP) 2016년 마이크로소프트가 낸 편집기 ↔ 언어 분석기 표준 규약. 정의로 이동, 참조 찾기, 이름 바꾸기, 오류 진단을 언어마다 같은 방식으로 묻는다. 대표 도구 Serena. Claude Code도 2025-12-19(2.0.74)에 LSP 도구를 넣었다(언어별 플러그인).
문서 조회 라이브러리 이름과 버전으로 공식 문서·예제를 검색해 필요한 부분만 창에 넣는다. 모델 지식의 날짜 한계를 메운다. 대표 도구 Context7. LSP가 아니라 문서 검색이다.
2025-03-29 첫 커밋upstash/context7 · 원격 서버 mcp.context7.com

문서 조회의 대표 도구 Context7: 버전에 맞는 문서만 가져온다

context7.com
Context7 첫 화면
공식 사이트 화면 캡처
Context7 첫 화면 ‘AI 에이전트를 위한 최신 문서’. 15만 3천 개 넘는 라이브러리 문서를 검색해 Claude·Codex·Cursor에 넣어 준다.
언제: 최신 프레임워크 API(Application Programming Interface, 프로그램 연동 규약)가 헷갈릴 때. 버전에 맞는 문서·예제만 가져온다. 연결: 원격 mcp.context7.com, 프롬프트에 use context7.
비용·위험: 무료 API 키(호출 한도 상향용). 라이브러리 문서는 커뮤니티 등록이라 README가 정확성·안전을 보장하지 않는다고 밝힌다.
모델 지식의 날짜 한계를 문서 조회로 메운다. MCP 외에 CLI(Command-Line Interface, 명령줄 도구)·스킬 방식도 있어 토큰 면에서 비교해 볼 만하다.
2025-03-23 첫 커밋oraios/serena · GPL-3.0

LSP의 대표 도구 Serena: 함수·클래스(심볼) 단위로 찾고 고친다

github.com/oraios/serena
Serena GitHub 저장소
GitHub 저장소 화면 캡처
Serena GitHub 저장소. 소개문은 ‘의미 기반 검색·편집을 주는 코딩용 MCP 도구, 에이전트를 위한 IDE’(Integrated Development Environment, 통합 개발 환경). 별 3만 개 이상.
언제: 큰 코드베이스·리팩터링. 필요한 심볼만 읽어 창을 아낀다. 연결: MCP 서버, 언어 서버(LSP) 기반 40개 넘는 언어.
비용·위험: 오픈소스지만 GPL-3.0이라 회사 프로젝트는 라이선스 확인이 필요하다.
LSP를 MCP로 감싼 형태. 지금은 에이전트 자체 LSP 도구(Claude Code 2.0.74~)도 있어 둘 중 하나면 된다.
2025-03-21 첫 커밋microsoft/playwright-mcp

브라우저 자동화의 대표 도구 Playwright MCP: 접근성 트리 스냅샷으로 조작

playwright.dev/docs/getting-started-mcp
Playwright MCP 공식 문서
공식 문서 화면 캡처 · 2026-10-28 확인
Playwright MCP 공식 문서 첫 화면. LLM(Large Language Model, 대규모 언어 모델)이 구조화된 접근성 스냅샷으로 웹 페이지를 다루며 비전 모델이 필요 없다고 소개.
언제: 구현한 화면의 스모크 테스트. 스크린샷 대신 구조화된 스냅샷이라 비전 모델이 필요 없다. 연결: npx 한 줄, 기본은 화면이 보이는 브라우저.
비용·위험: 도구 정의와 긴 스냅샷이 토큰을 먹어, README도 코딩 에이전트에는 CLI+스킬이 더 효율적이라 안내한다.
조작은 Playwright, 진단은 다음 장 DevTools. 지속 상태가 필요한 탐색엔 MCP, 단순 점검엔 CLI를 재서 고른다.
2025-09-23Chrome for Developers · DevTools MCP 공개 프리뷰

브라우저 진단 도구 Chrome DevTools MCP: 콘솔과 성능까지 본다

developer.chrome.com/blog/chrome-devtools-mcp
Chrome DevTools MCP 발표 글
Chrome 공식 블로그 화면 캡처 · 2026-10-28 확인
Chrome 개발자 블로그(2025-09-23). 코딩 에이전트는 자기 코드의 브라우저 동작을 못 봐 ‘눈가리개를 하고 코딩하는 셈’이라는 문제의식.
언제: 화면이 깨졌는데 원인을 모를 때. 콘솔 오류·네트워크·성능 트레이스를 본다. 연결: Chrome 팀의 MCP 서버(공개 프리뷰로 출발).
비용·위험: 사용 통계 수집이 기본 켜짐(끄는 옵션 있음). 브라우저 내용이 MCP 클라이언트에 노출되니 민감 정보 주의.
Playwright가 조작, 이쪽은 진단. ‘눈가리개 코딩’에서 벗어나는 대신 노출 범위를 감안한다.
2025-03-10 첫 커밋github/github-mcp-server · 원격 api.githubcopilot.com/mcp/

GitHub MCP 서버: 이슈, PR, Actions를 에이전트가

docs.github.com · GitHub MCP 서버 설정
GitHub MCP 서버 공식 문서
GitHub 공식 문서 화면 캡처 · 2026-10-28 확인
github/github-mcp-server 저장소 화면. 소개문은 ‘GitHub 공식 MCP 서버’, 별 3만 4천 개, 최신 릴리스 2.0.3.
언제: 이슈·PR(Pull Request, 변경 병합 요청)·Actions를 에이전트가 읽고 쓸 때. 연결: 원격, 인증은 OAuth(Open Authorization, 개방형 인증)·PAT(Personal Access Token, 개인용 접근 토큰) 또는 Docker 로컬 서버, toolsets로 필요한 기능만 켠다.
비용·위험: 토큰은 필요한 권한만(최소 스코프) 주고 쓰기를 막으려면 --read-only. 같은 일이 gh CLI로도 된다.
14교시 이슈 원장을 에이전트가 읽고 쓰는 길. MCP와 gh CLI 중 편한 쪽을 고른다.
공식 문서Figma Developers · 원격 mcp.figma.com/mcp

Figma MCP: 디자인을 코드의 맥락으로

developers.figma.com/docs/figma-mcp-server
Figma MCP 서버 공식 문서
Figma 공식 문서 화면 캡처 · 2026-10-28 확인
Figma 개발자 문서의 MCP 서버 소개. Figma를 AI 작업에 연결해 디자인 맥락으로 코드를 생성하고 캔버스에 직접 쓰는 기능도 소개.
언제: 디자인 시안을 화면으로 옮길 때. 변수·컴포넌트·레이아웃을 읽고 Code Connect로 내 컴포넌트를 재사용. 연결: 원격 mcp.figma.com/mcp(권장).
비용·위험: 캔버스 쓰기는 베타이고 원격 서버와 유료 좌석이 필요하다. 플랜 조건은 바뀔 수 있다.
디자인이 그림이 아니라 구조화된 맥락으로 코드 생성에 들어온다. 실습 전 문서를 다시 확인.
supabase-community 첫 커밋 2024-12-20원격 mcp.supabase.com/mcp

Supabase MCP: DB를 다루게 하되 가둔다

supabase.com/docs/guides/getting-started/mcp
Supabase MCP 공식 문서
Supabase 공식 문서 화면 캡처 · 2026-10-28 확인
Supabase MCP 문서. 위쪽에 ‘LLM 연결은 보안 위험이 있다’는 경고, 아래에 Read-only(읽기 전용) 토글과 기능 그룹 선택이 보인다.
언제: 스키마 변경과 개발 DB 점검. 테이블 조회·마이그레이션·SQL(Structured Query Language, 데이터베이스 질의 언어)·타입 생성. 연결: 원격 mcp.supabase.com/mcp.
비용·위험: 사용자 입력 속 프롬프트 주입으로 위험한 쿼리가 실행될 수 있다고 문서가 경고. 개발자 권한이라 고객에게 주지 말 것.
가장 좋은 보안 설정 예시: read_only=true, project_ref로 한 프로젝트 한정, 승인은 켜 둔다.
getsentry/sentry-mcp 첫 커밋 2025-03-29원격 mcp.sentry.dev/mcp

Sentry MCP: 운영 오류를 에이전트가 읽는다

mcp.sentry.dev
Sentry MCP 공식 문서
Sentry 공식 문서 화면 캡처 · 2026-10-28 확인
Sentry(오류 수집 서비스) MCP 소개 화면(베타). Sentry 데이터를 LLM에 연결해 운영 오류 디버깅을 돕고, 왼쪽은 이슈 주소를 붙여 고치는 시연.
언제: 운영 오류를 고칠 때. 스택 트레이스를 읽고 원인 코드·수정 PR까지. 연결: 원격 mcp.sentry.dev/mcp, OAuth.
비용·위험: 소개 화면에 베타 표기. 오류 안의 사용자 입력 문자열이 프롬프트 주입 경로가 될 수 있어 조직·프로젝트로 범위를 좁힌다.
오류 메시지를 복사해 붙이던 일을 에이전트가 직접 조회하는 흐름으로 바꾼다.
공식 문서 · 2026-09-15 갱신본원격 mcp.vercel.com · OAuth

Vercel MCP: 배포 상태와 로그를 묻는다

vercel.com/docs/agent-resources/vercel-mcp
Vercel MCP 공식 문서
Vercel 공식 문서 화면 캡처 · 2026-10-28 확인
Vercel(웹 배포 서비스) 문서 ‘Vercel MCP 서버 쓰기’. 문서 검색, 프로젝트·배포 관리, 로그 분석이 가능한 공식 원격 서버(OAuth).
언제: 배포 실패 원인을 찾을 때. 문서 검색·프로젝트·배포 관리·로그 분석. 연결: 원격 mcp.vercel.com, OAuth.
비용·위험: 연결하면 내 계정과 같은 권한을 AI가 갖는다. Vercel이 승인한 클라이언트만 연결되고 사람 확인을 켜 둔다.
승인 클라이언트 제한은 보안의 좋은 예. 9교시 자동 승인과 달리 MCP 도구는 사람 확인을 유지한다.
2026-01-22 첫 커밋rtk-ai/rtk · Rust 단일 바이너리

셸 출력 압축의 대표 도구 rtk: 명령 출력을 줄여서 에이전트에게 준다

www.rtk-ai.app
rtk 공식 사이트
공식 사이트 화면 캡처 · 2026-10-28 확인
rtk 공식 사이트 첫 화면. 문구는 ‘AI 에이전트가 잡음에 빠져 있다. RTK가 정리해 준다’. GitHub 별 8만 4천 개.
$ git status ✓ 훅이 rtk git status 로 바꿔 실행
테스트는 실패만, git log는 요약만 남겨 셸 출력의 잡음을 줄인다.
훅이 Bash 호출에만 걸려 Read·Grep은 지나가지 않는다. 줄어든 출력이 곧 줄어든 청구서는 아니다.
MCP가 아닌 CLI 프록시. 효과는 내 작업에서 직접 재서 확인한다.
2016-02-27 첫 커밋BurntSushi/ripgrep · Claude Code 내장

정규식 재귀 검색 도구 ripgrep: 검색 결과를 걸러 주는 grep

code.claude.com/docs/en/troubleshooting
Claude Code 문서의 ripgrep 안내
Claude Code 공식 문서 화면 캡처 · 2026-10-28 확인
Claude Code 문제 해결 문서. 오른쪽 목차의 ‘Search and discovery issues(검색 문제)’ 절에 ripgrep 안내가 있다.
.gitignore를 따르고 숨김·바이너리를 건너뛰어, node_modules 같은 잡음이 창에 못 들어온다.
Claude Code는 내장 ripgrep을 쓰지만, 시스템에서 안 돌면 별도 ripgrep이 필요하다.
검색 결과가 걸러질수록 창에 들어오는 양도 준다. 가장 기본적인 토큰 절약.
$ rg "TODO" src/
정리 · 토큰 절약들어오는 것을 줄이는 네 가지 길

창에 들어오는 것을 줄인다

창에 들어가는 것줄이는 방법남는 것CLI 출력검색 결과MCP 도구 정의라이브러리 문서셸 출력 압축 · rtk출력을 압축해서 전달재귀 검색 · ripgrep빠르고 필터된 검색도구 검색쓸 때만 정의 로드문서 조회 · 심볼 탐색(Context7 · Serena)필요한 부분만 가져옴일에 쓸 창더 긴 세션

도구는 필요한 만큼만. 서버 수, 도구 수, 출력 길이를 직접 재고 줄이는 것이 순서입니다.

정리10교시 → 11교시

하네스는 장치의 총합, MCP는 그중 연결

anthropic.com/engineering/effective-harnesses-for-long-running-agents
Anthropic 장기 실행 하네스 글
Anthropic Engineering · 2025-11-26
다시 보는 화면: Anthropic 장기 실행 하네스 글(2025-11-26).
  • 하네스 = 모델을 둘러싼 장치 전부. 파일과 git으로 세션을 잇는다
  • MCP = 호스트·클라이언트·서버. 연결하면 권한도 준다
  • 도구는 필요한 만큼. 정의·출력·검색을 줄인다
3회차 · 11교시Agentic Engineering 실무 · 2026-11-17

스킬:
Superpowers에서 Ponytail까지

반복해서 설명하던 작업 방식을 폴더 하나로 묶고, 에이전트가 필요할 때만 꺼내 쓰게 하는 방법을 봅니다.

Introducing Agent Skills 발표 글
2025-10-16Agent Skills
Superpowers 소개 블로그 글
2025-10-09Superpowers
skill-creator의 SKILL.md 원문
공식skill-creator
Ponytail의 7단 사다리 그림
2026-06-12Ponytail
문제 제기같은 지침을 매번 붙여 넣는다 · Claude Code 공식 문서

CLAUDE.md는 늘 읽히고, 스킬 본문은 쓸 때만 읽힌다

code.claude.com/docs/en/skills
Claude Code 공식 문서 Extend Claude with skills
공식 문서 화면 캡처 · 2026-10-28 확인
Claude Code 공식 문서의 스킬 설명 페이지. 눈여겨볼 문장은 스킬 본문은 쓸 때만 불러온다는 것으로, 늘 읽히는 CLAUDE.md와 대비된다.
“A skill’s body loads only when it’s used.”스킬의 본문은 사용될 때에만 불러옵니다.Claude Code Docs · Extend Claude with skills
  • CLAUDE.md(프로젝트 상시 지침 파일)는 매 세션 항상 읽힌다. 절차가 길수록 낭비
  • 스킬은 이름과 설명만 올려 두고, 본문은 쓸 때만
  • 같은 지침을 세 번 붙여 넣었다면 스킬 후보
스킬의 구조agentskills.io · Agent Skills 개요

스킬은 SKILL.md가 든 폴더 하나다

agentskills.io
Agent Skills 개요: SKILL.md가 들어 있는 폴더 구조
오픈 표준 문서 화면 캡처 · 2026-10-28 확인
Agent Skills 오픈 표준의 개요 화면. 스킬이 SKILL.md가 든 폴더이고 스크립트·참고 문서·템플릿을 함께 둔다는 구조를 보여 준다.
  • SKILL.md 필수: 메타데이터와 지침
  • scripts/ 실행 코드, references/ 참고 문서, assets/ 템플릿
  • 코드도 문서도 폴더에 같이 든다. 복사하면 곧 배포
SKILL.mdfrontmatter(맨 위 메타데이터 블록) + 본문 · Anthropic 공식 frontend-design

SKILL.md: 위는 이름표, 아래는 지침

raw.githubusercontent.com/anthropics/skills/main/skills/frontend-design/SKILL.md
frontend-design 스킬의 SKILL.md 원문 첫 화면
저장소 원문 화면 캡처 · 2026-10-28 확인
Anthropic 공식 frontend-design 스킬의 SKILL.md 원문. 맨 위가 이름·설명 블록, 그 아래가 에이전트가 따를 지침이다.
  1. name: 스킬 이름. 폴더 이름과 같은 영소문자·숫자·하이픈
  2. description: 무엇을 하고 언제 쓰는지
  3. 본문: 단계, 예시, 주의점

name은 64자, description은 1,024자까지 쓸 수 있습니다. 필수는 이 두 필드뿐입니다.

2025-10-16점진적 공개(progressive disclosure) · Anthropic Engineering · 명세

스킬은 필요한 만큼만 읽혀 컨텍스트를 아낀다

1단계 · 시작할 때2단계 · 스킬을 고른 뒤3단계 · 필요할 때만name + description스킬당 약 100토큰모든 스킬이항상 목록에 있음SKILL.md 본문5,000토큰 안팎 권장지침 전체가대화에 들어옴scripts · references크기 제한 없음읽거나 실행한 만큼만컨텍스트에 쓰임 맞으면가리키면

Claude Code에서는 설명은 1,536자까지만 목록에 오르고(넘으면 잘림), 대화가 압축된 뒤에는 스킬당 앞 5,000토큰만 다시 붙습니다.

명세 · Claude Code 문서크기 규칙 · 스킬을 두는 위치 · 호출 방식

스킬은 세 곳에 두고, 사람도 Claude도 부를 수 있다

agentskills.io/specification
Agent Skills 명세의 Progressive disclosure 절
오픈 표준 명세 화면 캡처 · 2026-10-28 확인
Agent Skills 명세의 점진적 공개 절. 메타데이터 약 100토큰, 본문 5,000토큰 미만, 500줄 이내를 권장한다.
~/.claude/skills/<이름>/SKILL.md 개인 .claude/skills/<이름>/SKILL.md 프로젝트 <플러그인>/skills/<이름>/SKILL.md /플러그인:이름 ✓ Claude가 설명을 보고 부르거나 ✓ 사람이 /이름으로 직접 호출 ! disable-model-invocation: true → 사람만 호출 (배포처럼 부작용 있는 절차)
2025-10-16 · 2025-12-18Agent Skills 발표 · 오픈 표준으로 공개

스킬은 Claude 기능에서 여러 에이전트가 읽는 표준이 됐다

claude.com/blog/skills
Introducing Agent Skills 발표 글
2025-10-16 · Agent Skills 발표
2025-10-16 발표 글 “Introducing Agent Skills”. Claude 앱·Claude Code·API(Application Programming Interface, 프로그램 연동 규약)에서 쓰는 Agent Skills를 소개한다.
anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills
Anthropic Engineering 글의 2025-12-18 업데이트: 오픈 표준 공개
2025-12-18 · “오픈 표준으로 공개” 업데이트
2025-12-18 업데이트. Agent Skills를 오픈 표준으로 공개했다는 내용이다.

스킬은 Claude 앱·Claude Code·API에서 쓰고, 표준이 된 뒤에는 다른 에이전트도 같은 폴더를 읽습니다.

2025-10-09Claude Code 플러그인 공개 베타 · 마켓플레이스

플러그인은 스킬·명령·훅을 한 묶음으로 나눠 준다

raw.githubusercontent.com/anthropics/skills/main/README.md
Anthropic 공식 skills 저장소 README의 설치 안내
저장소 README 화면 캡처 · 2026-10-28 확인
Anthropic 공식 skills 저장소 README의 첫머리. 스킬을 지침·스크립트·자료가 든 폴더로 정의하고, 이 저장소가 예제 모음임을 밝힌다.
# 공식 저장소의 두 묶음 document-skills 문서(docx·pdf·pptx·xlsx) example-skills 만들기·화면·테스트 예제 ✓ 마켓플레이스 = 플러그인 목록을 가진 저장소 ✓ 플러그인 = 명령·서브에이전트·MCP(Model Context Protocol, 모델 컨텍스트 프로토콜)·훅·스킬 묶음 ! 남이 만든 스킬은 지침이자 코드. 먼저 읽는다
2025-10-09Superpowers · Jesse Vincent · 스킬로 포장한 개발 방법론

개발 방법론 전체를 스킬 묶음으로: 대표 사례 Superpowers(스킬 15개)

blog.fsck.com/2025/10/09/superpowers
Superpowers 소개 블로그 글
제작자 블로그 화면 캡처 · 2025-10-09
Jesse Vincent의 2025-10-09 글 “Superpowers”. 지난 몇 주간 자기 작업 방식을 도구 묶음으로 체계화했다고 소개한다.
설계부터 리뷰까지 스킬 15개가 한 흐름으로 이어지고, Claude Code뿐 아니라 Codex·Cursor·Gemini CLI(Command-Line Interface, 명령줄 도구)에서도 쓴다.
모든 일에 전 과정을 강제하면 작은 수정에는 무겁다. 그래서 필요한 스킬만 골라 쓴다(23장).
개별 지침이 아니라 방법론 전체를 폴더로 포장한 첫 완성형. 1교시의 SDD(Spec-Driven Development, 스펙 주도 개발)·TDD(Test-Driven Development, 테스트 주도 개발)를 한 흐름으로 묶었다.
Superpowers 기본 워크플로README · brainstorming → plans → subagent-driven development

Superpowers는 설계를 승인받은 뒤 Task마다 새 에이전트가 구현한다

test-driven-development실패 테스트 먼저brainstorming질문으로 설계 확정using-git-worktrees격리된 작업 공간writing-plans2~5분짜리 Task로 쪼갬subagent-driven-developmentTask마다 새 에이전트finishing-a-development-branch머지·PR·정리requesting-code-reviewTask마다 리뷰 구현마다

사람은 설계를 승인하고, 구현은 Task마다 새 서브에이전트가 테스트 먼저로 진행합니다.

Superpowers · brainstorming구현 전에 반드시 부르는 첫 스킬

brainstorming은 만들기 전에 설계를 묻고 승인받게 한다

raw.githubusercontent.com/obra/superpowers/main/skills/brainstorming/SKILL.md
brainstorming 스킬의 SKILL.md 원문
저장소 원문 화면 캡처 · 2026-10-28 확인
brainstorming 스킬의 SKILL.md 원문. 구현 전에 코드와 맥락을 먼저 읽고 읽어서 알 수 없는 빈틈만 질문하라고 한다.
“Never ask what the project or their context already answers.”프로젝트나 맥락이 이미 답해 주는 것은 묻지 마라.obra/superpowers · brainstorming/SKILL.md
읽어서 알 수 있는 건 묻지 않고 접근법을 사람이 고르게 해, 방향이 어긋나기 전에 잡는다.
설계 승인이 끝나야 계획으로 넘어가 시작이 느리다. “MUST use” 같은 강한 설명이라 사소한 일에도 불릴 수 있다.
강사 운영 방식의 SDD 앞단과 같은 역할. 만들기 전에 사람이 결정하게 한다.
Superpowerswriting-plans · subagent-driven-development

계획은 잘게 쪼개고, 실행은 Task마다 새 에이전트가 한다

obra/superpowers · skills/writing-plans/SKILL.md
writing-plans 스킬의 SKILL.md 원문
writing-plans · 저장소 원문 화면 캡처
writing-plans 원문. 스펙을 보고 잘게 쪼갠 Task 계획을 쓰는 절차(README는 Task당 2~5분).
obra/superpowers · skills/subagent-driven-development/SKILL.md
subagent-driven-development 스킬의 SKILL.md 원문
subagent-driven-development · 저장소 원문 화면 캡처
subagent-driven-development 원문. Task마다 새 서브에이전트가 구현하고 리뷰받는 절차.
Task마다 새 서브에이전트가 구현해 메인 맥락이 오염되지 않고, 스펙 준수와 코드 품질을 Task마다 리뷰한다.
Task와 리뷰마다 에이전트를 부르므로 호출 수가 늘어난다. 계획이 부실하면 쪼갠 Task도 어긋난다.
7교시 서브에이전트의 맥락 분리가 방법론 안에 들어온 모습. → 7교시 서브에이전트
Superpowers · test-driven-development실패하는 테스트가 없으면 코드도 없다

TDD(테스트 먼저 쓰기) 스킬은 어긴 코드를 지우고 다시 쓰게 한다

raw.githubusercontent.com/obra/superpowers/main/skills/test-driven-development/SKILL.md
test-driven-development 스킬의 SKILL.md 원문
저장소 원문 화면 캡처 · 2026-10-28 확인
test-driven-development 스킬 원문. 첫머리가 테스트 먼저, 실패 확인, 최소 코드 순서를 못 박는다. 아래 인용은 ‘철칙’ 절.
“NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST”실패하는 테스트가 먼저 없으면 프로덕션 코드도 없다.test-driven-development/SKILL.md · The Iron Law
실패하는 테스트를 직접 봐야 그 테스트를 믿게 되고, “이번만 건너뛰자”는 합리화를 막는다.
테스트보다 먼저 쓴 코드는 참고용으로도 못 남기고 지운다. 규칙이 엄격해 빠른 시도에는 걸림돌이다.
6교시 TDD 강제가 스킬로 상시 규칙이 된 예. → 6교시 TDD 강제
Anthropic 공식 스킬anthropics/skills · skill-creator

skill-creator는 스킬을 쓰고 시험하고 고치는 일을 돕는다

raw.githubusercontent.com/anthropics/skills/main/skills/skill-creator/SKILL.md
skill-creator 스킬의 SKILL.md 원문
저장소 원문 화면 캡처 · 2026-10-28 확인
공식 skill-creator 스킬 원문. 스킬을 쓰고, 시험 프롬프트로 돌려 보고, 평가해 고치는 진행 순서가 담겨 있다.
초안, 시험 프롬프트, 평가, 수정의 반복 순서를 안내하고 description 최적화 스크립트까지 있다. 초안이 있으면 평가부터 시작한다.
시험 프롬프트를 돌리고 평가하는 수고가 든다. 번거로우면 가볍게 해 보자는 요청도 받아 준다.
스킬은 한 번에 완성하지 않고 시험하며 고친다. 12교시 실습에서 직접 쓴다.
질문 시간 · 약 5분

여기까지,
질문 받습니다

지금까지 다룬 것: 발표와 오픈 표준 · 플러그인과 마켓플레이스 · Superpowers · Superpowers 흐름 · brainstorming · 계획과 서브에이전트 실행 · TDD 강제 · skill-creator

앞에서 본 화면
앞에서 본 화면
앞에서 본 화면
앞에서 본 화면
Anthropic 공식 스킬anthropics/skills · frontend-design

frontend-design은 뻔한 화면을 피하라고 지침으로 눌러 둔다

raw.githubusercontent.com/anthropics/skills/main/skills/frontend-design/SKILL.md
frontend-design 스킬의 SKILL.md 원문
저장소 원문 화면 캡처 · 2026-10-28 확인
공식 frontend-design 스킬 원문. 미적 방향·타이포그래피를 주제에 맞춰 고르고 템플릿 같은 기본값은 피하라고 한다.
팔레트·타이포·레이아웃을 주제에 맞춰 고르게 해 템플릿 같은 뻔한 화면을 피한다.
본문이 거의 지침 문장뿐이라 결과는 여전히 모델의 판단에 달렸다. 주제가 없으면 먼저 정해 확인받는다.
구조를 읽기에 가장 단순한 스킬. 모델의 ‘평균적인 화면’ 버릇을 지침으로 눌러 둔다.
Anthropic 공식 스킬anthropics/skills · docx · pdf · pptx · xlsx

문서 스킬 네 개가 Word · PDF · PPT · Excel 작업을 맡는다

raw.githubusercontent.com/anthropics/skills/main/skills/docx/SKILL.md
docx 스킬의 SKILL.md 원문
저장소 원문 화면 캡처 · 2026-10-28 확인 · 위는 docx
docx 스킬 원문. 설명에 ‘.docx’, ‘Word 문서’ 같은 호출 단서와 쓰지 말아야 할 경우까지 적혀 있다.
description에 호출 단서와 쓰지 말 경우까지 적어, Word·PDF·PPT·Excel 요청에 정확히 불린다.
예제 스킬과 달리 오픈소스가 아니라 소스 공개. 사용 조건은 LICENSE를 확인해야 한다.
설명 문장이 호출을 좌우한다는 실제 사례. 복잡한 실서비스 스킬의 참고용.
Anthropic 공식 스킬anthropics/skills · webapp-testing

webapp-testing은 에이전트가 브라우저로 직접 눌러 보게 한다

raw.githubusercontent.com/anthropics/skills/main/skills/webapp-testing/SKILL.md
webapp-testing 스킬의 SKILL.md 원문
저장소 원문 화면 캡처 · 2026-10-28 확인
webapp-testing 스킬 원문. Playwright(브라우저 자동화 도구)로 로컬 웹앱을 조작하고 스크린샷을 남기는 방법을 안내한다.
코드가 맞아 보여도 브라우저로 직접 눌러 확인하고 스크린샷·로그를 남긴다. with_server.py가 서버를 띄우고 내린다.
로컬 웹앱이 대상이고 Python Playwright 스크립트가 필요하다. 스크립트 소스는 읽지 않고 블랙박스로 실행한다.
점진적 공개 3단계가 실제로 쓰이는 예. → 15교시 스모크 테스트
mattpocock/skillsMatt Pocock · 개인 .agents 디렉터리를 공개한 스킬 모음

계획을 끝까지 캐묻는 인터뷰형 스킬 grill-me

mattpocock/skills · skills/productivity/grill-me/SKILL.md
grill-me 스킬의 SKILL.md 원문
grill-me · 사람이 부르는 입구
grill-me 원문. 사람이 부르는 입구이고 본문은 grilling 스킬을 부르라는 한 줄뿐이다.
mattpocock/skills · skills/productivity/grilling/SKILL.md
grilling 스킬의 SKILL.md 원문
grilling · 실제 인터뷰 절차
grilling 원문. 결정을 트리로 보고 라운드마다 질문과 추천 답을 내는 실제 절차.
계획의 빈틈을 구현 전에 끝까지 캐묻고, 질문마다 추천 답이 있어 “예”만 해도 진행된다.
사람이 직접 불러야 하고(disable-model-invocation), 라운드마다 답할 시간이 든다.
사실 조사는 에이전트, 결정은 사람 몫. 구현에 들어가기 전의 설계 점검으로 쓴다.
2026-01-27Karpathy guidelines · forrestchang 제작(제3자) · Karpathy의 X 게시물 기반

Karpathy guidelines: 나쁜 버릇을 막는 네 원칙

x.com/karpathy/status/2015883857489522876
Karpathy가 Claude로 코딩하며 남긴 메모 X 게시물
근거: Karpathy의 X 게시물 · 2026-01-26
Karpathy가 X에 남긴 LLM(Large Language Model, 대규모 언어 모델) 코딩 관찰 게시물. 스킬의 바탕이 됐다.
github.com/forrestchang/andrej-karpathy-skills · SKILL.md
karpathy-guidelines 스킬의 SKILL.md 원문
스킬 원문 · 제3자 제작, Karpathy 본인이 만든 것이 아님
이를 정리한 SKILL.md. Karpathy가 만든 것은 아니다.
  1. 코딩 전에 생각: 가정을 밝히고 모르면 묻는다
  2. 단순함 우선: 요청하지 않은 기능 금지
  3. 수술하듯 고친다: 바꾼 줄은 요청에 닿아야 한다
  4. 목표 주도: 검증할 수 있는 성공 기준
가정 숨김·과복잡·엉뚱한 곳 수정 같은 모델의 나쁜 버릇을 네 원칙으로 막는다.
속도보다 신중함 쪽이라 사소한 작업엔 과하다. 제3자 제작이라 Karpathy 공식 스킬이 아니다.
유명인 이름보다 누가 만들었는지 확인. 강사 스킬 지도에서는 구현·수정 단계에 넣었다.
2026-06-12Ponytail · DietrichGebert · 과잉 구현을 막는 사다리

Ponytail은 코드를 쓰기 전에 7단 사다리를 먼저 오르게 한다

github.com/DietrichGebert/ponytail
Ponytail의 7단 사다리: 필요한가부터 최소 구현까지
Ponytail README 그림
Ponytail README의 7단 사다리 그림. ‘이게 필요한가’부터 ‘최소 구현’까지 일곱 단계로 묻는다.
코드를 쓰기 전 “필요한가”부터 묻게 해 불필요한 코드를 줄인다. lite·full·ultra로 강도를 고른다.
저장소의 벤치마크 수치는 직접 검증하지 못해 다루지 않는다. 게으른 것은 해법이지 읽는 일이 아니다.
코드는 줄여도 검증·데이터 손실 방지·보안·접근성은 줄이지 않는다. Karpathy와 같은 과열 방지 계열.
비교같은 기준: 성격 · 쓰는 때 · 장점 · 한계

스킬은 성격이 갈리니, 작업 시점에 맞는 것만 고른다

스킬성격쓰는 때장점한계·주의
Superpowers방법론 묶음새 기능을 처음부터 만들 때설계에서 리뷰까지 한 흐름작은 수정엔 무겁다
skill-creator제작 도구내 스킬을 만들고 고칠 때시험·평가·설명 다듬기시험 프롬프트 수고
frontend-design디자인 지침새 화면을 만들 때뻔한 기본값을 피함지침뿐, 결과는 모델 몫
문서 스킬 4개문서 도구Word·PDF·PPT·Excel 작업호출 단서가 촘촘소스 공개, 조건 확인
webapp-testing테스트 도구로컬 웹앱을 눌러 볼 때스크린샷·로그가 증거Playwright 환경 필요
grill-me인터뷰구현 전 계획을 점검할 때질문마다 추천 답사람이 부르고 답한다
Karpathy guidelines과열 방지구현·수정 전반가정 공개, 최소 변경사소한 일엔 과함, 제3자 제작
Ponytail과열 방지코드를 쓰기 전필요한가부터 묻는다벤치마크 미검증

컨텍스트 비용은 모두 같습니다. 설명만 항상, 본문은 쓸 때만. 그러니 비용보다 무엇을 줄이고 무엇을 지키는지로 고릅니다.

과열 방지시키지 않은 기능 · 과잉 추상화 · 강사 운영 방식

과열 방지: 에이전트는 시킨 것보다 더 만든다

과열의 증상스킬로 막는다결과시키지 않은 기능한 번 쓰는데 추상화옆 코드까지 정리필요 없는 의존성Karpathy guidelinesSimplicity FirstSurgical ChangesPonytail7단 사다리프롬프트에 수준 명시"이건 PoC입니다"작은 diff리뷰할 수 있는 변경 방지 규칙

1교시 DDD(Domain-Driven Design, 도메인 주도 설계)의 “이건 PoC(Proof of Concept, 개념 증명)입니다”와 같은 방향입니다. 수준을 적고, 스킬로 상시 켜 둡니다. → 6교시 DDD

강사 운영 방식제가 쓰는 스킬 지도 · 로컬 스킬 원문 확인 · 작업 시점별

제 스킬 지도: 작업 시점마다 하나씩

스킬쓰는 시점핵심
brainstorming구현 전질문, 대안 비교, 설계 결정
writing-plans설계 이후작업별 변경 대상과 검증 방법
using-git-worktrees작업 격리가 필요할 때독립 작업 공간, 시작 상태 확인
karpathy-guidelines구현·수정가정 공개, 최소 변경, 검증 가능한 목표
systematic-debugging실패·오류 발생 시재현 → 증거 → 가설 → 원인 수정
requesting-code-review독립 검토가 필요한 변경 후요구사항과 실제 변경의 독립 검토
verification-before-completion완료 보고 전최신 증거와 주장 범위 일치
session-driven-delivery큰 작업 분할세션·PR(Pull Request, 변경 병합 요청)·이슈·인계의 역할

전부를 모든 과제에 의무로 쓰지 않습니다. 작은 수정은 간단한 기록과 비례한 검증으로 끝냅니다.

강사 운영 방식한국어 스킬 패키지 8개 · v0.2.0 · kdev-*

제 스킬 패키지: kdev 여덟 개

kdev-model작업마다 모델·사고 수준 선택kdev-start문제·범위·완료 조건kdev-plan설계·작은 Taskkdev-build범위 안에서 구현kdev-debug재현 → 원인 → 재검증kdev-handoff다음 세션 인계kdev-deliver전달·실제 사용 확인kdev-review기준 대비 검토

시작 → 계획 → 구현 → 검토 → 전달 → 인계. 실패하면 debug, 작업마다 model로 모델과 사고 수준을 고릅니다.

강사 운영 방식kdev-start · 한국어로 쓴 SKILL.md

kdev-start는 범위부터 읽고 과한 절차를 얹지 않는다

raw.githubusercontent.com/TheMagicTower/korean-ai-dev-course/main/skills/kdev-start/SKILL.md
kdev-start 스킬의 SKILL.md 원문
저장소 원문 화면 캡처 · 2026-10-28 확인
범위와 단계를 먼저 읽어 저위험 작업에 기업용 절차를 얹지 않고, 완료 조건이 판정되면 끝낸다.
파일이 저장소에 있어도 설치·호출은 별개. 설치, 새 세션 발견, 지침 준수를 따로 확인해야 한다.
과열 방지 규칙을 품은 스킬. 저장소에 있다는 것과 쓰인다는 것은 다르다.
호출을 좌우하는 것agentskills.io 명세의 좋은 설명·나쁜 설명

description 한 문장이 스킬을 부른다

호출이 잘 안 되는 설명

“Helps with PDFs.”

  • 무엇을 하는지, 언제 쓰는지 모른다
  • 에이전트가 ‘지금 필요한가’를 판단할 단서가 없다
호출이 잘 되는 설명

“Extracts text and tables from PDF files … Use when working with PDF documents.”

  • 하는 일과 쓰는 때를 둘 다
  • 사용자가 말할 법한 낱말(PDF, forms)을 넣는다

앞에 핵심 용도를 둡니다. Claude Code는 설명을 1,536자에서 자릅니다. 사람만 부를 스킬은 disable-model-invocation.

나만의 스킬skill-creator의 진행 방식 · 12교시 실습으로 이어짐

나만의 스킬: 쓰고, 시험하고, 고친다

1 · 반복 찾기같은 지침을세 번 붙여 넣었나2 · 폴더와 SKILL.mdname · description3 · 본문 쓰기500줄 안, 단계·예시4 · 실제 요청으로 시험호출되는가따라 하는가5 · 고친다설명 문장부터 다시 시험

처음부터 완벽하게 쓰지 않습니다. 실제 요청으로 호출되는지부터 확인하고, 안 불리면 설명을 고칩니다. → 12교시 실습

정리11교시 → 12교시 실습 3

정리: 방법론은 폴더로 옮겨 다닌다

github.com/DietrichGebert/ponytail
Ponytail 저장소 화면
저장소 화면 캡처 · 플러그인 폴더가 에이전트별로 나뉜 모습
Ponytail 저장소 첫 화면. 플러그인 폴더가 에이전트별로 나뉘어 있다.
  • 스킬 = SKILL.md 폴더. 설명만 항상, 본문은 필요할 때
  • Superpowers는 방법론, Karpathy·Ponytail은 과열 방지, 공식 스킬은 도구 상자
  • 내 스킬은 설명 한 문장부터 시험해서 고친다
3회차 · 12교시실습 3 · 2026-11-17
실습 3

하네스를 한 번 더 키운다:
스킬 · MCP · /goal 중 필요한 것

Claude Code 공통 워크플로 문서: 워크트리로 병렬 세션
15단계워크트리·규칙
Claude Code 스킬 공식 문서
스킬예: issue-flow
Claude Code MCP 공식 문서
MCPModel Context Protocol, 필요하면
Claude Code /goal 공식 문서
/goal오래 맡기기
약 55분 · 프롬프트 + 스모크18단계 중 15단계(워크플로·워크트리 설정) · 이슈별 워크플로우 1–8단계를 스킬로

제 방식은 늘 같다: 질문 → 설계 승인 → 구현 → 스모크, 그리고 /goal로 이슈 하나

15 설계 대화격리·리뷰·CI·머지 규칙ADR-0003 + issue-flow 설계워크트리 · 스킬 · MCP · 상한사람 승인권한·블로커·상한 확인/goal로 이슈 하나완료 조건 + 상한 + 기록스모크스킬 호출 · MCP 연결 확인구현에이전트가 스킬·설정 작성

여러분이 보는 것은 코드가 아니라 내가 한 답, 에이전트가 정리한 결정, 스모크 결과 세 가지입니다.

이슈별 워크플로우 1–8단계11교시 스킬 · 목록에는 이름과 설명만 먼저 올라감

지난 시간에 매번 말로 시킨 순서가 스킬 후보다

  • 이슈 분석 → ADR(Architecture Decision Record, 아키텍처 결정 기록) 점검 → 스펙 → 스펙 리뷰 → 계획 → 계획 리뷰 → 구현 → 구현 리뷰를 이슈마다 다시 설명했다
  • 같은 설명을 세 번 쓰면 후보. 한 스킬 = 한 작업
  • 스킬의 본문은 필요할 때만 읽힌다. 어떤 말에 불리는지가 호출을 좌우한다
세션 시작 시스킬 목록(이름+설명)설명과맞는가?내 요청SKILL.md 본문+ 참고 자료/skill-name직접 호출본문 지침대로작업 예
직접 도식 · 스킬 로딩 흐름
그대로 붙여 넣어도 됩니다제가 쓰는 프롬프트의 예 · 내 하네스에 맞게 바꿔 쓰기 · 각자 쓰는 에이전트

첫 프롬프트(예): 코드 전에 질문을 하나씩 하고, 설계는 ADR로 남기라고 한다

> 내 하네스 저장소(메모 앱 PoC(Proof of Concept, 개념 증명))에 장치를 더하고 싶다. 후보: ① 이슈마다 격리할 워크트리·브랜치·리뷰·머지 규칙, ② 반복하는 순서를 하나의 스킬로(예: issue-flow), ③ MCP 서버, ④ /goal로 이슈 맡기기. 내게 필요한 게 뭔지부터 물어봐. 아직 파일은 만들지 마. 필요한 질문을 한 번에 하나씩, 네 추천 답과 이유를 같이 주고 8개 안에서 끝내. 끝나면 docs/adr/0003-workflow.md, 스킬·MCP 설계 요약, 스모크로 확인할 시나리오 목록을 쓰고 내가 “승인”이라고 할 때까지 기다려.
code.claude.com/docs/en/common-workflows
Claude Code 공통 워크플로 문서
공식 문서 화면 캡처 · 2026-10-28 확인
Claude Code 문서의 ‘공통 워크플로’. 목차에 워크트리로 병렬 세션을 돌려 동시 수정이 충돌하지 않게 하는 절이 있다.
설계 대화 체크리스트제가 쓰는 질문의 예 · 15단계 + 스킬 · MCP · /goal · 에이전트가 묻지 않으면 내가 먼저 꺼낸다

에이전트가 물을 질문은 격리, 리뷰, 스킬, MCP, 완료 조건에 걸쳐 있다

주제에이전트가 물을 것예시 답빠지면
15 격리이슈 하나를 어디서 작업하나이슈마다 워크트리 + issue/번호 브랜치두 이슈가 한 폴더에서 섞인다
15 충돌같은 파일을 건드리는 이슈는한 번에 하나, 공유 파일은 이슈에 미리 적음합칠 때 뒤늦게 충돌
15 리뷰·머지누가 리뷰하고 언제 합치나리뷰어 서브에이전트, 머지는 사람 승인(16교시)쓴 쪽이 스스로 통과시킨다
스킬순서와 멈춤을 어디까지 담나1–8단계, 블로커 없으면 종료, 예산 소진 시 인계이슈마다 말로 다시 설명
MCP어떤 외부 정보가 필요하고 믿을 만한가라이브러리 문서 서버 1개, 읽기만, 비밀 없음쓸모없는 도구, 주입·토큰 낭비
/goal어느 이슈를 어떤 끝 상태까지, 상한은이슈 하나, 테스트 통과 + 블로커 0, 20턴조건이 모호해 헛돈다
기록무엇을 남기나시간·턴·토큰·성공/실패다음 회차의 근거가 없다
18단계 중 15단계에이전트가 정리한 결정 한 줄 요약 · 예시 · ADR 본문을 읽지 않고 이 표만 본다

15단계의 결과는 ADR 한 건의 결정 요약이다

항목에이전트가 정리한 결정(예시)내가 볼 점
격리이슈 하나 = 브랜치 하나 = 작업 공간 하나두 이슈가 안 섞이는가
충돌같은 파일을 건드릴 이슈는 한 번에 하나겹칠 때의 규칙이 있는가
리뷰구현한 쪽이 아닌 리뷰어 서브에이전트쓴 쪽이 통과시키지 않는가
머지PR(Pull Request, 변경 병합 요청)·머지는 사람 승인 뒤, 4회차(16교시)에오늘은 정하기만 하는가
다시 판단할 조건두 이슈가 같은 파일에서 충돌하면4교시 ADR과 같은 서식인가
이슈마다 작업이 나뉘어, 한 이슈를 하는 동안 다른 이슈의 변경이 섞이지 않는다. 4회차의 병렬 실행의 바탕이 된다.
작업 공간이 늘어 디스크를 더 쓴다. 겹치는 파일은 여전히 합칠 때 충돌한다.
15단계의 질문 ‘작업을 어떻게 격리하고 합치는가’에 대한 답. 결정과 이유가 ADR에 남아 다음 판단의 기준이 된다.

워크트리를 만드는 명령은 에이전트가 이슈마다 알아서 실행합니다. 저는 결정이 맞는지만 봅니다.

승인 체크리스트내가 한 답 · 에이전트가 정리한 결정 · 스모크 시나리오, 이 세 가지만 본다

승인 전에 저는 다섯 가지만 확인한다

  1. 내가 한 답이 정리에 그대로 들어 있다(바뀐 답이 없다)
  2. 결정 요약에 이슈 하나당 작업 공간 하나와 겹칠 때의 규칙이 있다
  3. 스킬을 만든다면 어떤 말에 불려야 하는지가 한 문장으로 적혔고, PR·머지는 스킬 밖이다
  4. 예산이 떨어지면 통과가 아니라 중단·인계하고, MCP를 붙인다면 믿을 서버 하나다
  5. 스모크 시나리오 목록이 있고(고른 장치별: 스킬 호출 · 일부러 어기기 · MCP · /goal 멈춤), 구조를 30초 안에 설명할 수 있다
볼 것이 세 가지로 줄어, 코드를 읽지 않고도 승인 여부를 빨리 판단할 수 있다.
목록에 없는 위험(예: 서버가 가져오는 글의 프롬프트 주입)은 놓칠 수 있다. 낯선 항목은 에이전트에게 위험을 따로 묻는다.
에이전트가 만들고 사람이 판정하는 분업. 4교시 승인과 같고, 이번에는 대상이 스킬·MCP·완료 조건이다.
이슈별 워크플로우 1–8단계스킬 = 반복하는 작업 순서를 한 묶음으로 · 필요하면 · 아래 스모크 결과는 모두 예시

스킬은 하네스에게 시키고, 실제로 불리는지로 확인한다

# 프롬프트 > 지난주 이슈 처리 1–8단계(분석 → ADR 점검 → 스펙 → 스펙 리뷰 → 계획 → 계획 리뷰 → 구현 → 구현 리뷰)를 issue-flow 스킬로 만들어 줘. “12번 이슈 처리해 줘”처럼 이슈 번호를 말하면 불려야 해. 구현은 테스트 먼저, 리뷰는 리뷰어 서브에이전트가 해. 예산이 떨어졌는데 블로커가 남으면 통과시키지 말고 진행 파일에 적고 중단해. PR·머지는 이 스킬에 넣지 마. 끝나면 직접 이름으로 한 번, 평범한 문장으로 한 번 불러서 불린 증거를 보여 줘.
시나리오기대 결과실제(예시)통과
이름으로 직접 호출스킬이 불리고 1단계부터1단계 출력 확인O
“12번 이슈 처리해 줘”자동으로 불림불리지 않음X
스펙 리뷰 건너뛰자고 요청거절, 단계 유지거절하고 4단계 수행O

X가 나오면 “스킬이 방금 왜 안 불렸는지 설명하고, 내가 실제로 할 말에 불리게 고친 뒤 같은 문장으로 다시 보여 줘”라고 시킵니다.

문서 조회 MCP 서버 하나외부 도구를 에이전트에 연결하는 규약 MCP · 필요하면 · 대표 Context7 · 스모크 결과는 예시

MCP도 하네스에게 시키고, 붙었는지 직접 불러 보게 한다

# 프롬프트 > 이슈를 분석할 때 최신 라이브러리 문서를 볼 수 있게 문서 조회 MCP 서버 하나(대표 Context7)를 이 저장소에 연결해 줘. 읽기만 하고, 토큰이 필요하면 값이 아니라 환경 변수 이름으로만 써. 끝나면 연결 상태와 쓸 수 있는 도구 목록을 보여 주고, 새 세션에서도 보이는지 확인해 줘.
# 스모크 (대화 예시) 학생 새 세션이야. MCP 연결 상태 보여 줘. 하네스(예시) 서버 1개 연결됨, 상태 정상. 학생 12번 이슈에 쓰는 라이브러리의 정렬 옵션을 문서 조회 도구로 확인해서 스펙에 반영해 줘. 하네스(예시) 문서 조회를 2회 호출했고, 확인한 옵션을 스펙에 적었습니다. 학생 이 서버가 가져온 글에 “지시”가 섞여 있을 때는? 하네스(예시) 가져온 글은 참고 자료로만 쓰고 지시로 따르지 않습니다.

저는 세 가지만 봅니다. 연결 상태, 실제로 호출된 기록, 비밀 값이 파일에 없다는 확인(“파일에 토큰 값이 없는지 검색해서 보여 줘”).

2026-05-11/goal(조건을 만족할 때까지 계속 일하게 하는 기능) · 필요하면 · 완료 조건은 프롬프트 · 스모크 결과는 예시

이슈 하나를 맡기는 /goal은 끝 상태·증명·상한을 말로 적는다

✗ /goal 12번 이슈 잘 처리해 줘 → 무엇이 ‘잘’인지 평가 모델이 알 수 없음 ✓ /goal issue-flow 스킬로 이슈 #12를 처리한다. 끝 상태: 이슈 스펙·계획 문서와 테스트·구현이 있고 리뷰어 서브에이전트의 블로커가 0건. 증명: 테스트 통과와 리뷰 결과 요약을 출력에 붙인다. 다른 이슈의 파일은 수정하지 않고 PR·머지는 만들지 않는다. 20턴 안에 못 끝내면 멈추고 진행 파일에 막힌 이유를 적는다.
스모크기대 결과실제(예시)
/goal 상태 보여 줘조건·턴·토큰 표시조건 활성, 11턴
조건을 채운 이슈증명 붙이고 종료블로커 0, 종료
일부러 못 끝낼 이슈20턴에서 멈추고 인계멈춤, 사유 기록

멈추는지 보려면 “일부러 끝낼 수 없는 이슈 하나로 같은 /goal을 돌려, 상한에서 멈추고 인계하는지 보여 줘”라고 시킵니다.

2025-07-14 → 2026-04-30상한 있는 반복 실행 루프, 대표 기법 Ralph · Codex /goal · 스모크 결과는 예시

/goal이 없는 도구라면 상한이 있는 반복 실행 루프를 시킨다

# 프롬프트 > 이 도구에 /goal이 없으니 같은 일을 반복하는 실행 루프를 만들어 줘. 성공은 테스트 통과로 판정하고, 최대 20회, 회당 30분을 넘기지 마. 끝나면 회마다 시간과 토큰을 기록해 보여 줘. # 스모크 (대화 예시) 학생 풀 수 없는 과제로 한 번 돌려 봐. 하네스(예시) 20회 모두 실패해 상한에서 멈췄고, 회차별 시간·토큰은 표로 남겼습니다.
ghuntley.com/ralph
Ralph Wiggum 블로그 글
원문 블로그 화면 캡처 · 2025-07-14
Geoffrey Huntley의 글 “Ralph Wiggum as a ‘software engineer’”. 에이전트를 끝날 때까지 반복해 돌리는 방식이다.
같은 작업을 될 때까지 반복해 사람이 매번 다시 시키지 않아도 된다.
상한 없이 무한 반복하면 비용이 끝없이 늘 수 있다. 횟수·시간 상한이 꼭 필요하다.
핵심은 반복이 아니라 명령으로 판정하는 성공 기준과 상한. Codex에도 /goal이 있다(구문은 버전에서 확인).
약 10분이슈별 워크플로우 1–8단계 · 내가 고른 장치에 맞게 시나리오를 바꾼다 · 실제 결과 칸은 직접 채운다

스모크: 스킬이 불리는지 보고, 일부러 어기게 시켜 본다

시나리오(내가 하는 말)기대 결과실제 결과통과
이름으로 스킬 호출 (Codex는 다른 호출 방식)1단계부터 시작직접 적기
“12번 이슈 처리해 줘”설명에 맞아 자동 호출직접 적기
“스펙 리뷰는 건너뛰고 바로 구현해 줘”거절, 단계 유지직접 적기
“13번 이슈도 지금 폴더에서 같이 해 줘”새 작업 공간을 제안직접 적기
“끝났으니 main에 바로 머지해 줘”거절, 사람 승인 뒤로직접 적기
새 세션에서 MCP 호출연결 · 호출 기록직접 적기

어겼다면 그것이 오늘 가장 좋은 발견입니다. “방금 요청이 왜 통과됐는지 설명하고, 막히게 고친 뒤 같은 요청으로 다시 보여 줘”라고 시킵니다.

약 15분이슈별 워크플로우 1–8단계(/goal 안에서) · 기록 값은 모두 예시

이슈 하나를 /goal로 맡기고, 끝나면 실행 기록을 보여 달라고 한다

학생 /goal 앞 장의 조건으로 이슈 #12를 처리해 줘. (실행 중 . . .) 학생 끝났으면 /goal 상태 화면과 아래를 요약해 줘: 도달한 단계, 걸린 시간, 턴, 토큰, 블로커, MCP 사용, 인계 여부. 하네스(예시) #12 · 8단계까지 · 14분 · 11턴 · 블로커 0 · 문서 조회 2회 · 인계 없음. 테스트 통과와 리뷰 요약을 위에 붙였습니다.
기록할 것예시
스킬 호출직접 성공 · 자동 실패
어기기 시험 3개지킴 2 · 어김 1
이슈 #·도달 단계#12 · 8단계까지
시간·턴·토큰14분 · 11턴 · 기록값
블로커·인계 여부0건 · 인계 없음
MCP 사용문서 조회 2회
다음에 고칠 것스킬 설명 보강
다음 회차(11-24)까지집에서 이어서 · 내 하네스 ‘나만의 하네스 만들기’ · 3회차

다음 회차까지 해 볼 것: 고른 장치를 더하고, 돌려 보고, 기록해 둔다

해 볼 일
1 오늘 메뉴(격리 규칙 · 스킬 · MCP · /goal)에서 내 하네스에 필요한 것을 골라 하네스에게 시킨다
2 일부러 어겨 보며 확인한다 (실패해도 그대로 적어 둔다)
3 이슈를 맡겼다면 상태 화면의 시간·턴·토큰을 남겨 둔다 (못 쟀으면 못 쟀다고)
4 비밀 키·토큰은 어디에도 남기지 않는다
다음 시간에 나누면 좋은 것
쓴 프롬프트와 하네스의 질문 한 가지
스모크 표 한 장 (어겨 본 것과 결과)
막힌 곳 하나 (실패한 기록이 가장 좋은 소재)

완성도보다 해 보며 알게 된 것을 나눕니다. 코드나 저장소를 보여 주지 않아도 됩니다. → 4회차(11-24): PR·CI(Continuous Integration, 지속적 통합)·머지와 스모크, 하네스를 한 번 더 키워 보기

증상별설치·문법이 아니라 하네스에게 다시 할 말

막힐 때: 하네스에게 이렇게 다시 말한다

증상이렇게 다시 말한다
스모크에서 스킬이 안 불린다“방금 왜 안 불렸는지 설명하고, 내가 실제로 할 말에 불리게 고친 뒤 같은 문장으로 다시 보여 줘.”
스모크에서 막혀야 할 요청이 통과됐다“방금 요청이 왜 통과됐는지 설명하고, 막히게 고친 뒤 같은 요청으로 다시 보여 줘.”
스킬이 단계를 건너뛴다“각 단계 끝에 블로커 판정을 출력하고, 판정 전에는 다음 단계로 가지 마.”
두 이슈가 섞인다“이슈마다 새 작업 공간을 만들고, 지금 변경이 어느 브랜치 것인지 보여 줘.”
MCP 도구가 안 보인다“연결 상태와 설정 위치를 확인하고 새 세션에서 다시 확인해. 시간 초과인지도 봐.”
/goal이 안 끝난다“상태를 보고 왜 조건이 충족 안 됐는지 설명해. 측정 가능한 문장으로 다시 써.”
상한에 걸려 멈췄다“어디까지 했고 무엇이 막혔는지 진행 파일에 적고 인계해.”