평가자는 도구를 부르지 않고 대화에 드러난 것만 봅니다. 그래서 조건은 Claude의 출력으로 증명할 수 있어야 합니다.
공식 문서 · Compare ways to keep a session running다음 턴을 무엇이 시작하나
/goal, /loop, Stop 훅: 다음 턴을 시작하는 쪽이 다르다
code.claude.com/docs/en/goal
공식 문서 화면 캡처 · 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
공식 문서 화면 캡처 · 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 상태의 토큰 소비항상 같이
상한은 횟수 · 시간 · 차단 · 테스트 보호 · 비용 확인 다섯 겹입니다. 한 겹이 뚫려도 다음 겹이 멈춥니다.
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 원문 그림 · 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
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로 도구에 연결하기’. 이슈 트래커 기능 구현, 모니터링 분석, 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에 저장
개념 먼저코드 인텔리전스, 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 첫 화면 ‘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
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
공식 문서 화면 캡처 · 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 공식 블로그 화면 캡처 · 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 공식 문서 화면 캡처 · 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 공식 문서 화면 캡처 · 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 공식 문서 화면 캡처 · 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 공식 문서 화면 캡처 · 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 공식 문서 화면 캡처 · 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
공식 사이트 화면 캡처 · 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 공식 문서 화면 캡처 · 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)필요한 부분만 가져옴일에 쓸 창더 긴 세션
도구는 필요한 만큼만. 서버 수, 도구 수, 출력 길이를 직접 재고 줄이는 것이 순서입니다.
1단계 · 시작할 때2단계 · 스킬을 고른 뒤3단계 · 필요할 때만name + description스킬당 약 100토큰모든 스킬이항상 목록에 있음SKILL.md 본문5,000토큰 안팎 권장지침 전체가대화에 들어옴scripts · references크기 제한 없음읽거나 실행한 만큼만컨텍스트에 쓰임맞으면가리키면
Claude Code에서는 설명은 1,536자까지만 목록에 오르고(넘으면 잘림), 대화가 압축된 뒤에는 스킬당 앞 5,000토큰만 다시 붙습니다.
명세 · Claude Code 문서크기 규칙 · 스킬을 두는 위치 · 호출 방식
스킬은 세 곳에 두고, 사람도 Claude도 부를 수 있다
agentskills.io/specification
오픈 표준 명세 화면 캡처 · 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
2025-10-16 · Agent Skills 발표
2025-10-16 발표 글 “Introducing Agent Skills”. Claude 앱·Claude Code·API(Application Programming Interface, 프로그램 연동 규약)에서 쓰는 Agent Skills를 소개한다.
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
제작자 블로그 화면 캡처 · 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마다 리뷰구현마다
속도보다 신중함 쪽이라 사소한 작업엔 과하다. 제3자 제작이라 Karpathy 공식 스킬이 아니다.
유명인 이름보다 누가 만들었는지 확인. 강사 스킬 지도에서는 구현·수정 단계에 넣었다.
2026-06-12Ponytail · DietrichGebert · 과잉 구현을 막는 사다리
Ponytail은 코드를 쓰기 전에 7단 사다리를 먼저 오르게 한다
github.com/DietrichGebert/ponytail
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로 모델과 사고 수준을 고릅니다.
범위와 단계를 먼저 읽어 저위험 작업에 기업용 절차를 얹지 않고, 완료 조건이 판정되면 끝낸다.
파일이 저장소에 있어도 설치·호출은 별개. 설치, 새 세션 발견, 지침 준수를 따로 확인해야 한다.
과열 방지 규칙을 품은 스킬. 저장소에 있다는 것과 쓰인다는 것은 다르다.
호출을 좌우하는 것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 저장소 첫 화면. 플러그인 폴더가 에이전트별로 나뉘어 있다.
스킬 = SKILL.md 폴더. 설명만 항상, 본문은 필요할 때
Superpowers는 방법론, Karpathy·Ponytail은 과열 방지, 공식 스킬은 도구 상자
내 스킬은 설명 한 문장부터 시험해서 고친다
→ 12교시: 내 작업 방식을 스킬 하나로, MCP 연결, 긴 작업 맡기기
3회차 · 12교시실습 3 · 2026-11-17
실습 3
하네스를 한 번 더 키운다: 스킬 · MCP · /goal 중 필요한 것
15단계워크트리·규칙
스킬예: issue-flow
MCPModel Context Protocol, 필요하면
/goal오래 맡기기
약 55분 · 프롬프트 + 스모크18단계 중 15단계(워크플로·워크트리 설정) · 이슈별 워크플로우 1–8단계를 스킬로
제 방식은 늘 같다: 질문 → 설계 승인 → 구현 → 스모크, 그리고 /goal로 이슈 하나
15 설계 대화격리·리뷰·CI·머지 규칙ADR-0003 + issue-flow 설계워크트리 · 스킬 · MCP · 상한사람 승인권한·블로커·상한 확인/goal로 이슈 하나완료 조건 + 상한 + 기록스모크스킬 호출 · MCP 연결 확인구현에이전트가 스킬·설정 작성
여러분이 보는 것은 코드가 아니라 내가 한 답, 에이전트가 정리한 결정, 스모크 결과 세 가지입니다.
이슈별 워크플로우 1–8단계11교시 스킬 · 목록에는 이름과 설명만 먼저 올라감
지난 시간에 매번 말로 시킨 순서가 스킬 후보다
이슈 분석 → ADR(Architecture Decision Record, 아키텍처 결정 기록) 점검 → 스펙 → 스펙 리뷰 → 계획 → 계획 리뷰 → 구현 → 구현 리뷰를 이슈마다 다시 설명했다
같은 설명을 세 번 쓰면 후보. 한 스킬 = 한 작업
스킬의 본문은 필요할 때만 읽힌다. 어떤 말에 불리는지가 호출을 좌우한다
← 11교시 · 스킬
세션 시작 시스킬 목록(이름+설명)설명과맞는가?내 요청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
공식 문서 화면 캡처 · 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에 남아 다음 판단의 기준이 된다.
워크트리를 만드는 명령은 에이전트가 이슈마다 알아서 실행합니다. 저는 결정이 맞는지만 봅니다.
승인 체크리스트내가 한 답 · 에이전트가 정리한 결정 · 스모크 시나리오, 이 세 가지만 본다
승인 전에 저는 다섯 가지만 확인한다
내가 한 답이 정리에 그대로 들어 있다(바뀐 답이 없다)
결정 요약에 이슈 하나당 작업 공간 하나와 겹칠 때의 규칙이 있다
스킬을 만든다면 어떤 말에 불려야 하는지가 한 문장으로 적혔고, PR·머지는 스킬 밖이다
예산이 떨어지면 통과가 아니라 중단·인계하고, MCP를 붙인다면 믿을 서버 하나다
스모크 시나리오 목록이 있고(고른 장치별: 스킬 호출 · 일부러 어기기 · 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
원문 블로그 화면 캡처 · 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, 지속적 통합)·머지와 스모크, 하네스를 한 번 더 키워 보기
증상별설치·문법이 아니라 하네스에게 다시 할 말
막힐 때: 하네스에게 이렇게 다시 말한다
증상
이렇게 다시 말한다
스모크에서 스킬이 안 불린다
“방금 왜 안 불렸는지 설명하고, 내가 실제로 할 말에 불리게 고친 뒤 같은 문장으로 다시 보여 줘.”