Skills For Real Engineers - Matt Pocock
(github.com/mattpocock)Matt Pocock의 에이전트 스킬 모음, 바이브 코딩이 아닌 실전 엔지니어링을 위한 도구상자
이 저장소는 TypeScript 교육자로 잘 알려진 Matt Pocock이 자신이 매일 쓰는 Claude Code용 에이전트 스킬, 즉 슬래시 커맨드와 행동 규약을 모아 공개한 프로젝트입니다. 슬로건은 "Skills For Real Engineers"이며, 저자는 GSD, BMAD, Spec-Kit처럼 프로세스 전체를 떠안는 방식의 프레임워크가 개발자의 통제권을 빼앗고 결함이 생겼을 때 추적을 어렵게 만든다고 보고, 그 대안으로 작고 교체 가능하며 어떤 모델과도 결합되는 도구 단위의 접근을 제시합니다. 실제로 코드베이스를 열어 보면 스킬은 skills/ 아래 engineering, productivity, misc, personal, in-progress, deprecated 같은 버킷으로 나뉘어 있고, 각 스킬은 자체 SKILL.md를 가진 독립된 단위로 관리됩니다.
-
설치 경로의 단순함:
npx skills@latest add mattpocock/skills한 줄로 설치하고,/setup-matt-pocock-skills로 이슈 트래커 종류, 트리아지에 쓰는 라벨 어휘, 문서 저장 위치를 한 번에 잡도록 되어 있습니다. 한 저장소당 한 번만 실행하면 다른 스킬들이 그 설정을 공유합니다. -
에이전트 실패 모드를 네 가지로 정리한 설계 의도: 첫째는 "원하는 걸 만들지 못하는" 정렬 문제로,
grill-me,grill-with-docs가 의도를 끝까지 캐묻는 인터뷰 세션을 강제합니다. 둘째는 "지나치게 장황한 에이전트" 문제로, 도메인 용어 사전 격인CONTEXT.md를 만들어 토큰 낭비와 명명 일관성 문제를 같이 줄입니다. 셋째는 "코드가 동작하지 않는" 문제로,tdd가 레드-그린-리팩터 루프를,diagnose가 재현부터 회귀 테스트까지의 디버깅 루프를 각각 담당합니다. 넷째는 "머드 볼이 되어 버린 코드"로,to-prd,zoom-out,improve-codebase-architecture가 모듈 경계와 시스템 시야를 회복시키는 역할을 맡습니다. -
공유 언어를 다루는 방식의 차별점: 단순 코딩 보조에서 한 단계 더 나아가, 에이전트와 사람 사이의 어휘를 명시적으로 일치시키는 데 비중을 둡니다. 예시로 제시된
course-video-manager의CONTEXT.md는 "코스 안의 섹션 안의 레슨이 파일 시스템에 자리를 갖는 시점의 문제"를 "materialization cascade"라는 한 단어로 압축하는 방식으로, 같은 대화를 반복할 때마다 토큰과 인지 비용을 함께 줄이도록 짜여 있습니다. -
세컨더리 스킬의 실용성: 일상 워크플로용으로
caveman(약 75퍼센트의 토큰 절감을 노리는 압축 응답 모드),write-a-skill(스킬 자체를 만드는 메타 스킬)이 묶여 있고, 보조 도구 묶음에는git-guardrails-claude-code(위험한 git 명령을 사전에 차단하는 훅 설정),setup-pre-commit(Husky+lint-staged 기반 사전 커밋 구성) 등이 포함되어 있어, 코드 작성 외 영역까지 작은 도구로 분할해 다루고 있습니다. -
저장소 자체의 운영 규칙:
engineering,productivity,misc에 들어간 스킬은 반드시 최상위 README와.claude-plugin/plugin.json에 등록하고,personal,in-progress,deprecated에는 등록을 금지하는 식으로 공개 범위를 코드 레벨에서 강제합니다. ADR 문서가 별도 디렉터리로 존재하고, 스킬 링크용 셸 스크립트가scripts/에 따로 있는 점도 같은 규율의 연장선으로 읽힙니다.
전반적으로 이 프로젝트는 "에이전트가 알아서 다 해 준다"는 식의 통합 자동화에 거리를 두고, Pragmatic Programmer, Domain-Driven Design, Extreme Programming, A Philosophy of Software Design 같은 고전적 엔지니어링 원칙을 작고 교체 가능한 슬래시 커맨드 단위로 분해해 옮겨 놓은 형태에 가깝습니다. 화려한 워크플로 자동화 도구를 기대한 사용자에게는 다소 수수해 보일 수 있으나, 에이전트 시대에도 정렬, 공유 언어, 피드백 루프, 모듈 설계라는 기본기를 매일의 도구로 끌어내리려는 시도라는 점에서 실무에 가까운 결을 갖고 있습니다.