작성자 주: 이 글에서는 코딩을 처음 접하는 분도 mattpocock/skills의 핵심 스킬 두 가지를 따라 해 볼 수 있도록 안내해요. 먼저 /grill-me로 요구사항을 명확히 한 다음, /tdd로 코드를 작성합니다. 각 단계에는 완료 기준도 함께 제시해요.
한 줄 요약: 먼저 /grill-me로 Agent가 요구사항을 명확히 파악하도록 한 다음, /tdd로 테스트를 하나씩 작성하며 코드를 완성하세요.
2026년 10월 22일 베이징 시간 기준, GitHub의 mattpocock/skills는 약 30만 개의 별을 받았고, MIT 라이선스로 배포되며 최신 버전은 v1.3.1이에요. 별 수가 많다는 건 관심이 높다는 뜻일 뿐, 여러분의 프로젝트에서도 반드시 잘 작동한다는 의미는 아니에요. 그래서 이 글에서는 설치 방법과 사용법, 그리고 정상적으로 작동하는지 확인하는 방법만 다루고, 효과를 부풀려 말하지 않겠습니다.
따라 하기만 하면 되는 실습을 준비했어요. ‘주문 흐름에 쿠폰 검증 추가하기’라는 작은 요구사항으로 설치부터 첫 테스트를 통과시키는 단계까지 진행해 볼게요.
- 목표: 스킬을 설치하고, /grill-me로 요구사항을 묻고 답하는 과정을 마친 다음, /tdd로 첫 번째 ‘실패→통과’ 테스트를 작성해요.
- 소요 시간: 설치에는 몇 분이면 충분해요(작성자는 “30초면 설치 완료”라고 설명해요). 요구사항 확인과 테스트 작성에 걸리는 시간은 답변 속도에 따라 달라집니다. 아래 시간은 편집자의 추정치이며, 전체 과정은 약 30분에서 1시간 정도예요.
- 준비 사항: 프로그래밍 Agent(Claude Code, Codex, GitHub Copilot, Gemini CLI, Cursor 등)를 사용 중이어야 해요. 자유롭게 실험할 수 있는 코드 저장소도 하나 준비해 주세요.
- 난이도: 입문. 대부분 그래픽 인터페이스와 대화창으로 진행하며, 터미널 명령은 선택 사항으로 안내해요.

mattpocock/skills 핵심 정리: grill-me와 tdd는 각각 무엇을 할까요?
mattpocock/skills는 Matt Pocock이 공개한 에이전트 스킬 모음으로, 저장소에는 “실무 엔지니어를 위한 스킬”이라고 소개되어 있어요. 저자는 README에서 이 스킬이 작고 조합하기 쉬우며 어떤 모델에도 적용할 수 있고, “수십 년간 쌓은 엔지니어링 경험을 바탕으로 한다”고 설명해요.
| 핵심 내용 | 설명 | 가치 |
|---|---|---|
| /grill-me | 질문을 하나씩 하고, 각 질문에 추천 답변을 함께 제시해요. 파일은 전혀 수정하지 않으며, 직접 입력해야만 실행돼요. | 작업에 착수하기 전에 에이전트와 요구사항을 맞추고, 미처 생각하지 못한 결정 사항을 드러내요. |
| /tdd | 테스트 경계(seam)를 먼저 정리해 확인을 기다린 다음, ‘레드 → 그린’ 방식으로 테스트를 하나씩 진행해요. | 모든 단계에서 피드백을 받을 수 있고, 리팩터링에도 견고한 테스트를 만들어요. |
| /setup-matt-pocock-skills | 저장소마다 한 번 실행해 이슈 트래커, 분류 라벨, 문서 저장 위치를 설정해요. | 엔지니어링 스킬이 작업 내용을 어디에 기록할지 알 수 있어요. |
| 설치 방법 | 플러그인(자동 업데이트)과 skills.sh(파일 편집 가능) 중 하나를 선택해요. | 두 가지를 모두 설치하면 각 스킬이 두 번씩 나타나요. |
grill-me와 tdd를 함께 사용해야 하는 이유
README에는 흔히 발생하는 몇 가지 실패 사례가 나와 있는데, 그중 두 가지가 이 두 스킬과 정확히 맞닿아 있어요. 첫 번째는 “에이전트가 내가 원하는 대로 하지 않았다”는 문제예요. 사용자와 에이전트 사이에 소통의 간극이 있다는 뜻이죠. 해결 방법은 한 차례 집중 질문을 진행하는 거예요. 에이전트가 거꾸로 질문을 던져 원하는 작업이 무엇인지 자세히 파악하게 하는 거죠. /grill-me 자체는 사실 “grilling 스킬을 호출하라”는 한 문장뿐이에요. 실제 질문 규칙은 grilling 스킬에 작성되어 있어요.
또 다른 문제는 “코드가 실행되지 않는다”는 거예요. 요구사항을 제대로 맞췄더라도, 에이전트가 코드의 실제 실행 결과를 확인할 수 없다면 눈을 가린 채 비행하는 것과 다름없어요. /tdd는 먼저 실패하는 테스트를 작성한 뒤, 그 테스트를 통과하는 데 필요한 코드만 작성해요. 이렇게 하면 에이전트가 매 단계에서 안정적인 피드백을 받을 수 있어요. 두 스킬을 이어서 사용하면 앞의 스킬은 “무엇을 만들지”를, 뒤의 스킬은 “제대로 만들었는지”를 해결해요.

mattpocock/skills 설치 후 grill-me와 tdd 실행하기: 5단계로 시작하기
1단계: mattpocock/skills 설치하기(그래픽 인터페이스 우선)
공식 문서에는 Claude Code, Codex, GitHub Copilot, Gemini CLI용 설치 방법이 안내되어 있고, 그 외 Agent는 skills.sh를 사용하면 돼요. README에는 이 스킬이 어떤 모델에서든 사용할 수 있다고 명시되어 있어요. 공식 문서에서는 Auggie, Droid, Goose 등을 아직 직접 테스트한 사람이 없다고 안내하며, 현재는 skills.sh를 사용하는 방법을 권장해요.
| 사용하는 Agent | 권장 설치 방법 | 자동 업데이트 여부 |
|---|---|---|
| GitHub Copilot(VS Code) | 명령 팔레트를 열고 Chat: Install Plugin From Source를 실행한 뒤 https://github.com/mattpocock/skills 입력 |
예, 매일 업데이트 |
| Claude Code | 공식 플러그인 마켓플레이스 claude-plugins-official에서 mattpocock-skills 설치 |
예, 기본으로 활성화 |
| Codex | 먼저 mattpocock/skills 플러그인 마켓플레이스를 추가한 뒤 플러그인 설치 |
예, 시작할 때 업데이트 |
| Copilot CLI | mattpocock 플러그인 마켓플레이스에서 설치 |
autoUpdate: true를 한 번 설정하면 자동 업데이트 |
| Gemini CLI | engineering과 productivity 디렉터리를 각각 설치 | 아니요, 명령을 다시 실행해야 함 |
| Cursor, OpenCode, Windsurf, Devin, Amp, Pi 등 | skills.sh | 아니요, 수동으로 업데이트해야 함 |
VS Code를 사용한다면 가장 간편해요. Ctrl+Shift+P(macOS에서는 Cmd+Shift+P)를 눌러 명령 팔레트를 열고 Chat: Install Plugin From Source를 입력하세요. Enter를 누른 다음 저장소 주소를 붙여 넣으면 돼요. 터미널 사용이 익숙하다면 아래 공식 설치 명령을 그대로 실행하면 돼요.
- Claude Code:
claude plugin install mattpocock-skills@claude-plugins-official을 실행하면 돼요. 기본적으로 자동 업데이트돼요. - Codex: 먼저
codex plugin marketplace add mattpocock/skills를 실행하고, 이어서codex plugin add mattpocock-skills@mattpocock을 실행하세요. 시작할 때마다 자동으로 업데이트돼요. - GitHub Copilot CLI: 먼저
copilot plugin marketplace add mattpocock/skills를 실행하고, 이어서copilot plugin install mattpocock-skills@mattpocock을 실행하세요. - Gemini CLI:
gemini skills install https://github.com/mattpocock/skills.git --path skills/engineering과gemini skills install https://github.com/mattpocock/skills.git --path skills/productivity를 각각 실행하세요. 자동 업데이트되지 않으므로 업데이트하려면 두 명령을 다시 실행하면 돼요. - 그 외 Agent(skills.sh):
npx skills@latest add mattpocock/skills -a cursor를 실행하세요.cursor를 사용 중인 Agent 이름으로 바꾸면 돼요. 예를 들면 opencode, devin, windsurf, amp, pi를 사용할 수 있어요.-a를 생략하면 직접 선택할 수 있어요. 업데이트하려면npx skills@latest update를 실행하고, 새 스킬이 추가되었을 때는add명령을 다시 실행하세요. - 스킬 하나만 설치:
npx skills@latest add mattpocock/skills --skill=<name>을 실행하세요.<name>을 스킬 이름으로 바꾸면 돼요.
Copilot CLI는 ~/.copilot/settings.json을 한 번 열어 다음 설정을 추가해야 해요. {"extraKnownMarketplaces": {"mattpocock": {"source": {"source": "github", "repo": "mattpocock/skills"}, "autoUpdate": true}}} 이 설정은 mattpocock 플러그인 마켓플레이스의 출처가 GitHub 저장소 mattpocock/skills임을 등록하고 자동 업데이트를 활성화해요. 공식 문서에 안내된 형식으로 작성한 설정이지만, 아직 실제로 실행해 본 사람은 없다고 해요.
플러그인과 skills.sh는 둘 중 하나만 선택해야 해요. 플러그인은 자동 업데이트되는 읽기 전용 패키지이고, skills.sh는 편집할 수 있는 파일을 프로젝트에 복사해요. 두 가지를 모두 설치하면 각 스킬이 두 번씩 나타나요. skills.sh를 사용할 때 설치 프로그램에서 설치할 스킬을 물어보면 setup-matt-pocock-skills를 선택하세요.
스킬 하나만 설치하려는 경우 함께 설치해야 하는 의존성이 두 가지 있어요. grill-me는 실제로 grilling을 호출하므로 grilling도 함께 설치해야 해요. tdd는 codebase-design에 의존하며, 이 스킬의 인터페이스 설계 용어를 사용해 seam을 논의해요.
설치가 제대로 끝났는지 확인하려면 Agent 대화창에 /를 입력해 보세요. 후보 목록에 grill-me, tdd, setup-matt-pocock-skills가 각각 한 번씩 표시되면 성공이에요.
2단계: 대화창에서 /setup-matt-pocock-skills 실행하기
이 저장소에서 처음으로 이 스킬을 사용한다면, 먼저 Agent 대화창에 /setup-matt-pocock-skills를 입력하세요. 그러면 다음 세 가지를 차례로 물어봅니다. 사용할 이슈 트래커(GitHub, GitLab, 로컬 파일 또는 직접 설명한 다른 방식), 이슈를 분류할 때 사용할 라벨, 생성된 문서를 저장할 위치예요.
있는 그대로 답하면 됩니다. 잘 모르겠다면 로컬 파일을 선택하세요. 나중에 변경할 수 있어요. 엄밀히 말해 /grill-me는 저장소 설정에 의존하지 않으므로 이 단계를 건너뛰어도 됩니다. 하지만 /tdd 같은 엔지니어링 스킬은 먼저 설정을 마치는 편이 좋아요. 저장소마다 한 번만 실행하면 됩니다.
다음과 같으면 성공입니다: 세 가지 질문에 모두 답한 뒤 Agent가 설정이 완료됐다고 알려주고, 앞으로 문서가 저장될 위치를 확인했다면 됩니다.
3단계: grill-me와 tdd에 적합한 모델 선택하기
공식 문서에서는 질문 단계가 대부분의 다른 스킬보다 모델 성능에 더 크게 좌우된다고 강조합니다. 그릴링은 ‘시스템이 어떻게 잘못될 수 있는지’에 관한 모델 자체의 지식에 기반하므로, 사용할 수 있는 모델 중 가장 뛰어난 모델을 선택하세요. 구현을 작성할 때는 주로 이미 형성된 맥락을 따라가므로, 더 저렴한 모델도 충분히 사용할 수 있습니다.
| 단계 | 모델 요구 사항 | 권장 방법 |
|---|---|---|
| /grill-me 질문 | 모델 자체의 엔지니어링 지식에 의존하므로, 모델이 강력할수록 질문의 정확도가 높아집니다 | 사용할 수 있는 가장 강력한 모델을 선택하세요. 예: Claude Opus 5.5 |
| /tdd 구현 작성 | 주로 이미 형성된 맥락을 따라갑니다 | 더 저렴한 모델로 바꿔도 됩니다 |
| 연동 방식 | Claude Code와 Codex에서 단계별로 모델을 전환합니다 | APIYI apiyi.com의 API 키 하나로 여러 모델을 연동하세요 |

Claude Code와 Codex에서 통합 인터페이스를 설정하려면 다음과 같이 하면 됩니다.
- Claude Code: 먼저 환경 변수 두 개를 설정하세요.
ANTHROPIC_BASE_URL은https://api.apiyi.com(APIYI 통합 인터페이스)으로,ANTHROPIC_AUTH_TOKEN은 본인의 API 키로 지정합니다. 그런 다음claude를 실행해 시작하고, 대화창에서/model을 사용해 모델을 전환하세요. - Codex:
~/.codex/config.toml을 열고model = "<모델ID>"와model_provider = "apiyi"두 줄을 입력하세요. 그런 다음[model_providers.apiyi]섹션을 추가하고, 그 아래에name = "APIYI",base_url = "https://api.apiyi.com/v1",env_key = "APIYI_API_KEY"세 줄을 입력합니다. 모델 ID는 콘솔에 표시된 값을 사용하세요.
필드 이름은 도구 버전에 따라 달라질 수 있으니, 자세한 내용은 도구의 공식 문서와 docs.apiyi.com을 참고하세요.
🎯 모델 선택 팁: 질문 단계에서는 가능한 한 가장 좋은 모델을 사용하고, 구현을 작성할 때 더 저렴한 모델로 바꾸세요. APIYI apiyi.com의 API 키 하나로 Claude Code와 Codex에서 모델을 전환할 수 있어 편리합니다. 다만 APIYI는 모델 호출만 지원하며, grill-me나 tdd 같은 스킬을 대신하지는 않습니다.
다음과 같으면 성공입니다: 대화창에서 현재 모델을 확인하세요. Claude Code에서는 /model을 사용할 수 있습니다. 질문 단계에서 선택한 강력한 모델을 사용 중인지 확인하면 됩니다.
4단계: /grill-me로 ‘쿠폰 검증’ 요구사항 명확히 하기
새 세션을 열고, Agent가 이미 계획을 작성한 세션에서 이어서 진행하지 마세요. 그리고 plan mode도 끄세요. plan mode에서는 Agent가 계획을 서둘러 작성하려고 하지만, 이번 단계에서는 계속 질문하도록 해야 해요. 대화창에 /grill-me 주문 과정에 쿠폰 검증을 추가하고 싶어라고 입력한 다음 Enter 키를 누르면 돼요.
grill-me는 Agent가 자동으로 호출하지 않아요. 직접 입력해야 실행돼요. grill-me는 요구사항을 하나의 ‘설계 트리’로 나눈 다음, 매 차례마다 전제 조건이 모두 확정된 질문을 한꺼번에 물어봐요. 각 질문에는 번호와 추천 답변이 붙고, 추천을 받아들이려면 yes라고 답하면 되도록 문구도 구성돼 있어요. 한 차례의 질문과 답변은 대략 다음과 같아요(예시):
❓ Q1 – 만료 여부를 어떤 시점 기준으로 판단하나요?: 주문 시점인가요, 결제 완료 시점인가요?
➡️ 추천: 주문 시점을 기준으로 해요. 결제 도중에 쿠폰이 갑자기 만료되는 일을 막을 수 있어요.❓ Q2 – 할인 적용 기준 금액에 배송비를 포함하나요?
➡️ 추천: 포함하지 않고, 상품 소계만 기준으로 삼아요.❓ Q3 – 주문 한 건에 쿠폰을 최대 몇 장까지 사용할 수 있나요?
➡️ 추천: 한 장이에요.
이때 가장 흔히 하는 실수는 모든 질문에 “동의합니다”라고 답하는 거예요. 그러면 Agent가 작성한 계획에 도장만 찍을 뿐, 정작 여러분은 아무것도 결정하지 않은 셈이 돼요. 더 나은 답변은 선택을 분명히 담는 거예요. 예를 들면 다음과 같아요.
Q1 yes. Q2는 동의하지 않아요. 저희 프로모션 규칙은 배송비를 포함해요. Q3는 잘 모르겠어요. 운영팀에 확인해야 하니 일단 한 장으로 진행해 주세요.
다음 차례의 질문은 이런 답변을 바탕으로 나와요. 예를 들면 “배송비를 포함할 때 배송비 쿠폰과 금액 할인 쿠폰을 함께 사용할 수 있나요?”처럼요. 저장소 안의 사실을 확인해야 하는 질문이라면 Agent가 직접 하위 Agent를 보내 조사해야지, 여러분에게 물어서는 안 돼요. 공식 문서에 따르면 네 차례에 걸쳐 질문을 주고받으며 누적 질문이 40개를 넘는 것도 정상이에요.
다음과 같이 진행되면 성공이에요:
– 질문이 차례별로 나오고, 각 질문에 번호와 추천 답변이 붙어 있어 yes라고 답하면 추천을 받아들일 수 있어요.
– 뒤쪽 차례의 질문이 앞서 답한 내용을 바탕으로 이어져요.
– 적어도 한 번은 추천에 반대하거나, 한 번은 진지하게 “모르겠어요”라고 답했어요.
– 대화가 끝날 때 Agent가 먼저 양측이 합의한 내용을 확인해 달라고 요청하고, 여러분이 확인하기 전까지는 작업을 시작하거나 파일을 작성하지 않아요.
5단계: /tdd로 테스트를 하나씩 작성하기
같은 세션에서 계속 진행하면 방금까지 쌓인 맥락을 그대로 활용할 수 있어요. 필요하다면 더 경제적인 모델로 바꾼 다음, /tdd 방금 확인한 규칙에 따라 쿠폰 검증을 구현해라고 입력하세요.
이 명령은 곧바로 테스트를 작성하지 않고, 먼저 테스트할 인터페이스 경계(seam)를 제안한 뒤 확인을 기다려요. 예를 들어 후보 A는 순수 함수인 validateCoupon(coupon, order, now)예요. 규칙 로직은 테스트할 수 있지만 주문 처리 흐름과의 연동은 확인할 수 없어요. 후보 B는 주문 서비스의 checkout()이에요. 연동까지 테스트할 수 있지만 실행 시간이 더 오래 걸려요. 이름만 제시한다면 각 seam으로 무엇을 확인할 수 있고 무엇을 놓칠 수 있는지 물어보세요. 여기서는 A를 선택할게요.
아래는 TypeScript와 Vitest를 사용한 첫 번째 테스트 예시예요. 설명을 위한 예시일 뿐이며, 이 스킬은 언어나 테스트 프레임워크에 제한되지 않아요.
- 테스트 파일:
coupon.test.ts.vitest에서it과expect를 가져오고,./coupon에서validateCoupon을 가져와요. - 테스트 이름: 사용자가 만료된 쿠폰을 사용할 수 없음
- 전달할 쿠폰:
{ code: "SAVE10", minSubtotal: 100, expiresAt: new Date("2026-10-01") }. 100위안 이상 구매 시 사용할 수 있고, 10월 1일에 만료되는 쿠폰이에요. - 전달할 주문:
{ subtotal: 120 }. 소계는 120위안이에요. - 전달할 현재 시간:
new Date("2026-10-22"). 함수 안에서 현재 시간을 읽지 않고 인자로 전달해요. 그러면 언제 실행해도 결과가 같아요. - 기대 결과:
expect(result).toEqual({ ok: false, reason: "expired" }). 검증에 실패하고, 만료가 원인이라는 뜻이에요.
먼저 테스트를 실행하면 validateCoupon이 아직 없어서 실패해요. 그런 다음 Agent는 테스트를 통과시키는 데 필요한 최소한의 코드만 작성해요. 예를 들어 now >= coupon.expiresAt이면 만료된 것으로 반환하는 식이에요. 테스트가 통과한 뒤에야 다음 테스트, 예를 들면 “소계가 최소 금액에 미달하면 거부”를 작성해요. 기대값은 규칙에서 도출한 리터럴이어야 하고, 테스트 이름은 내부 함수 호출이 아니라 사용자가 할 수 있는 일을 설명해야 해요.
현재 tdd는 “빨강 → 초록”만 다루고 리팩터링 단계는 없어요. Agent가 이 단계를 거의 수행하지 않아 2026년 6월에 빠졌고, 리팩터링은 /code-review가 맡게 됐어요. 스킬 설명에는 여전히 red-green-refactor라고 적혀 있는데, 이는 알려진 문제예요. 그래도 이 표현으로 스킬을 실행할 수 있어요. mock은 외부 API, 시간, 난수 같은 시스템 경계에서만 사용하고, 자체 모듈은 mock하지 마세요.

다음 조건을 만족하면 성공이에요:
– 테스트 파일을 작성하기 전에 seam을 제안하고 확인을 기다려요.
– 한 번에 테스트 하나만 작성해요. 먼저 실패한 다음 통과시키고, 그 뒤에 다음 테스트를 작성해요. “테스트를 한꺼번에 작성한 뒤 코드를 작성”하는 흐름은 없어야 해요.
– 내부 함수 이름을 바꿔도 테스트가 실패하지 않아요.
grill-me, tdd 등의 스킬을 언제 쓸지와 문제 해결 체크리스트
막히는 이유는 사용법을 몰라서가 아니라, 상황에 맞지 않게 사용하는 경우가 많아요. 아래 표를 저장해 두고 상황에 따라 선택해 보세요.
| 상황 | 사용할 스킬 | 설명 |
|---|---|---|
| 아이디어가 아직 모호하고, 코드와 관련이 없을 수도 있음 | /grill-me | 저장소가 필요 없고 파일도 작성하지 않아요. 비즈니스 의사 결정이나 글쓰기에도 사용할 수 있어요 |
| 저장소에서 코드를 수정하면서 용어와 의사 결정을 기록해 두고 싶음 | /grill-with-docs | 같은 질문 절차를 따르며 GLOSSARY.md와 ADR을 업데이트해요 |
| 한 번의 세션으로 끝내기 어려운 작업 | /wayfinder | 이슈 트래커에 의사 결정 작업 지도를 만들고 하나씩 해결해요 |
| 입력과 출력이 명확한 동작을 구현해야 함 | /tdd | 비즈니스 로직, 요청·응답 계약, 데이터 변환, 검증에 적합해요 |
| 이미 스펙이나 작업 티켓이 있고, 전체 작업을 끝까지 진행하고 싶음 | /implement | 합의한 seam에 따라 /tdd를 진행하고, 커밋 전에 /code-review를 실행해요 |
어떤 스킬을 써야 할지 모르겠다면 /ask-matt를 입력해 보세요. 상황에 맞는 스킬을 추천해 줘요. 실제로 사용하다 보면 생기는 문제도 대부분 아래 표에서 해결 방법을 찾을 수 있어요.
| 증상 | 흔한 원인 | 해결 방법 |
|---|---|---|
| 질문이 너무 많아 수백 개에 이름 | 범위가 너무 넓거나, 컨텍스트가 꽉 차 질문의 질이 떨어짐 | 먼저 Agent에게 작업을 작은 단위로 나눈 뒤 각각 grill을 진행해요 |
| 금방 끝나고, 내내 “동의합니다”라고만 함 | 답변이 너무 수동적임 | 적극적으로 반박하고, 범위가 벗어나면 지적하고, 모르는 것은 솔직하게 “모르겠습니다”라고 말해요 |
| 어떤 질문은 표현을 바꿔도 계속 답하지 못함 | 상호작용의 사용감처럼 “대화만으로 답을 찾기 어려운” 문제임 | 질문을 멈추고 /prototype으로 일회성 프로토타입을 만들어 확인해요 |
| 테스트 경계를 정하기 어려움 | 후보 seam의 이름만 나열되어 있음 | 각 seam으로 무엇을 잡아낼 수 있고 무엇을 놓치는지, 얼마나 느려지는지 먼저 물어봐요 |
| 테스트보다 구현을 먼저 작성함 | 모델의 기본적인 습관임 | 중요한 작업 단계를 지켜보세요. 이런 일이 생기면 “먼저 실패하는 테스트를 작성하는” 단계로 돌아가게 해요 |
| 브라우저 테스트가 무한 루프에 빠짐 | 기능이 아직 없는데 엔드투엔드 테스트부터 작성함 | CLAUDE.md에 동작이 제대로 작동한 뒤 브라우저 테스트를 작성하라고 명시해요 |
| 테스트가 구현을 그대로 옮겨 놓은 수준임 | 설정이나 접착 코드에는 독립적인 정답이 없음 | 이런 변경에는 tdd를 적용하지 않고, 규칙을 CLAUDE.md에 적어 둘 수 있어요 |
| 각 스킬이 두 개씩 나타남 | 플러그인과 skills.sh를 모두 설치함 | 둘 중 하나를 제거해요 |
mattpocock/skills 자주 묻는 질문 FAQ
Q1: 약 30만 개의 스타를 받았는데, 효과가 확실히 좋다는 뜻인가요?
그렇지는 않아요. 스타 수는 관심도를 보여줄 뿐, 실제 프로젝트에서 얼마나 효과적인지는 알려주지 않아요. 저자는 수십 년간의 엔지니어링 경험을 바탕으로 만들었다고 밝혔지만, 현재까지 효율이 얼마나 향상되는지 제시한 제3자 평가 결과는 없어요. 가장 확실한 방법은 이 글에 나온 각 단계의 검수 기준에 따라 직접 저장소에서 실행해 보는 거예요.
Q2: Claude Code나 Codex 같은 도구에서만 쓸 수 있나요?
그렇지 않아요. 공식 문서에 나온 방법은 검증된 설치 방법일 뿐이에요. 목록에 없는 Agent에서도 `-a`로 지정하거나 대화형으로 선택해 skills.sh를 이용할 수 있어요. README에서도 이 스킬은 어떤 모델에서든 사용할 수 있고, 기본적으로 Markdown으로 작성된 스킬 안내라고 설명해요.
Q3: grill-me로 질문을 마친 뒤 새 세션에서 코드를 작성해야 하나요?
아니요. 질문 과정에서 쌓인 컨텍스트가 가장 중요한 자산이에요. 공식 문서에서는 같은 세션에서 /to-spec을 이어서 실행해 사양을 만들도록 권장해요. 이 글의 간단한 예시에서는 같은 세션에서 바로 /tdd를 이어서 실행해요.
Q4: 한 번에 질문이 너무 많다면 한 번에 하나씩 묻게 바꿀 수 있나요?
그럴 수 있어요. 전역 `CLAUDE.md`에 `When grilling, ask one question at a time.`이라고 추가하면 돼요. 다만 질문을 묶어서 받으면 한 번에 결정할 수 있는 항목을 모두 확인할 수 있으니, 몇 번 사용해 본 뒤 바꿀지 결정하는 걸 권장해요.
Q5: tdd 설명에는 red-green-refactor라고 되어 있는데, 실제로는 왜 리팩터링하지 않나요?
리팩터링 단계는 2026년 6월에 의도적으로 제거됐지만, 설명은 아직 업데이트되지 않았어요. 알려져 있지만 아직 해결되지 않은 문제예요. 현재 진행 방식은 ‘레드→그린’이고, 리팩터링은 /code-review에 맡겨요. 구현과 리뷰를 별도 세션에서 진행하는 편이 더 효과적이에요.
Q6: 질문 단계와 구현 단계에서 서로 다른 모델을 쓰려면 어떻게 설정하는 게 가장 편한가요?
이 글의 3단계에 나온 설정 방법에 따라 Claude Code나 Codex에서 통합 인터페이스를 설정하면 돼요. APIYI apiyi.com의 API 키 하나로 질문 단계에서는 Claude Opus 5.5를 사용하고, 구현 단계에서는 비용 효율적인 모델로 전환할 수 있어요. APIYI는 모델 호출만 담당하며, 스킬은 평소처럼 설치하면 돼요.
Q7: 어떤 변경 작업에는 tdd를 사용하지 않는 게 좋나요?
설정, 연결 작업, 글루 코드, 타입 주석, 그대로 전달하는 CRUD 작업처럼 독립적인 정답이 없는 변경이 여기에 해당해요. 이런 작업은 테스트가 구현을 그대로 따라 쓰는 형태가 되기 쉬워요. 공식 문서에서도 현재 스킬은 ‘TDD를 적용할 가치가 있는지’를 판단해 주지 않으며, 사용자가 직접 결정해야 한다고 인정하고 있어요. 판단이 어렵다면 APIYI apiyi.com에서 경량 모델로 Agent에게 해당 변경 작업의 입력과 관찰 가능한 출력을 정리해 달라고 해 보세요. 이를 정리하지 못한다면 tdd를 사용하지 않는 편이 좋아요.
mattpocock/skills 핵심 요점 및 요약
핵심 요점
- 질문을 먼저, 코드는 나중에: 먼저 /grill-me로 요구사항을 조율한 다음, /tdd로 테스트를 하나씩 작성하며 구현해요.
- 설치 방법은 하나만 선택하세요: 플러그인과 skills.sh 중 하나만 설치해야 해요. 둘 다 설치하면 각 스킬이 중복으로 나타나요.
- 의존성을 빠뜨리지 마세요: 개별 설치 시 grill-me에는 grilling, tdd에는 codebase-design이 필요해요.
- 적극적으로 답변하세요: 더 많이 반박하고 “모르겠어요”라고 말해 보세요. 계속 “동의해요”라고만 하는 것이 가장 흔한 실패 원인이에요.
- 먼저 seam을 확인하세요: tdd는 테스트 경계를 먼저 제시하고 확인을 기다린 다음, 리팩터링 없이 red→green 단계로 진행해요.
- 모델을 용도에 따라 나누세요: 질문에는 가장 강력한 모델을 쓰고, 구현에는 더 낮은 등급의 모델을 써도 돼요. APIYI에서는 API 키 하나로 모델을 전환할 수 있어요.
요약
mattpocock/skills의 가치는 약 30만 개의 별을 받은 데 있는 것이 아니라, “먼저 요구사항을 맞추고, 그다음 작은 단위로 검증한다”는 두 가지 엔지니어링 원칙을 반복해서 실행할 수 있는 스킬로 만들었다는 데 있어요. 이 글에서 소개한 5단계를 따라 설치하고, setup을 실행하고, 모델을 선택한 뒤, /grill-me로 요구사항을 명확히 하고, /tdd로 첫 번째 red→green 테스트를 작성해 보세요. 이 방식이 내 프로젝트에 맞는지 직접 판단할 수 있을 거예요.
질문 단계와 구현 단계에서 서로 다른 모델을 사용하고 싶다면 APIYI apiyi.com에서 API 키 하나로 Claude Code와 Codex의 모델을 전환할 수 있어요. 이제 실제 요구사항을 바탕으로 몇 번 더 연습하고, 적극적으로 답변하는 습관을 들이면 돼요.
참고 자료
- GitHub – mattpocock/skills: README와 모든 SKILL.md가 포함된 저장소 홈
- 링크:
github.com/mattpocock/skills -
설명: 설치 방법, 스킬 목록, 업데이트 내역을 확인할 수 있어요.
-
AI Hero – Skills 문서: grill-me, tdd 등 스킬의 공식 설명
- 링크:
aihero.dev/skills -
설명: “작동 여부” 확인 목록과 자주 묻는 질문을 포함해요.
-
skills.sh – mattpocock/skills: 다른 에이전트에서 사용할 수 있는 범용 설치 경로
- 링크:
skills.sh/mattpocock/skills - 설명: Cursor, OpenCode, Windsurf 등의 도구에 적합하며, 업데이트는 수동으로 해야 해요.
작성자: APIYI 기술팀
기술 문의: APIYI apiyi.com 웹사이트 첫 화면에서 문의해 주세요. 추가 연동 자료는 docs.apiyi.com 문서 센터에서 확인할 수 있어요.
