TrendShift 딥다이브 · 2026-07-01

interview-coach-skill 딥다이브
— Claude Code를 "23개 명령어를 가진 취업 코치"로 바꾸는 순수 프롬프트 시스템

interview-coach-skill은 코드가 단 한 줄도 없는 에이전트 스킬이다. SKILL.md 한 장 + references/ 폴더의 마크다운 44개만으로, Claude Code(또는 Codex)를 이력서 분석부터 모의 면접, 연봉 협상까지 다루는 "취업 코치"로 바꿔놓는다. 답변을 5개 차원(Substance/Structure/Relevance/Credibility/Differentiation)으로 채점하고, 점수 패턴에서 근본 원인을 진단하고, coaching_state.md라는 마크다운 파일 하나로 세션 간 기억을 유지한다. 프레임워크도 DB도 서버도 없다 — 이 저장소 전체가 "잘 설계된 시스템 프롬프트가 얼마나 많은 일을 할 수 있는가"를 보여주는 실물 사례다. (저장소: noamseg/interview-coach-skill · 순수 Markdown · MIT License · v3 "Full Lifecycle" · 23개 명령어)
목차
  1. 프로젝트 한줄 요약
  2. 왜 주목받는가
  3. 기술 스택 전체 지도
  4. 아키텍처 심화 분석
  5. 디렉토리 구조 해부
  6. 학습 포인트 (기술별)
  7. 하드웨어 / 시스템 요구사항
  8. 직접 해볼 수 있는 실습 과제
  9. 관련 기술 심화 학습 로드맵
  10. 핵심 키워드 사전
  11. 참고 링크

1프로젝트 한줄 요약

이 저장소가 대체 무엇인가.

핵심 메시지

"코드가 아니라 잘 짜인 지시문 뭉치가, 사람 커리어 코치가 하는 일의 상당 부분을 대신한다"

interview-coach-skill은 Claude Code / Cursor / OpenAI Codex 같은 파일시스템 접근이 가능한 에이전트에 로드하는 "스킬"이다. 스킬은 프로그램이 아니라 지시문 문서다 — SKILL.md라는 파일을 에이전트의 시스템 프롬프트(Claude Code 기준 CLAUDE.md)로 앉히면, 에이전트가 그 안의 규칙을 그대로 따르기 시작한다. 이 저장소는 그 지시문을 극단적으로 정교하게 설계한 사례다.

kickoff라고 치면 이력서를 분석해 강점·약점을 뽑아내고, analyze에 면접 녹취록을 붙여넣으면 5가지 기준으로 채점하고 근본 원인을 진단하고, mock behavioral Stripe라고 하면 실제 면접처럼 질문을 하나씩 던지며 피드백을 참는다. 23개 명령어 전체가 coaching_state.md라는 마크다운 파일 하나에 진행 상황을 저장해, 몇 주 뒤에 다시 열어도 "지난 세션에 어디까지 했는지" 기억한다.

용어
에이전트 스킬 (Agent Skill)
AI 코딩 에이전트에게 특정 작업 방식을 가르치는 마크다운 기반 지시문 패키지. 핵심 파일은 SKILL.md 하나지만, 거기서 필요할 때만 다른 참조 파일(references/)을 읽으라고 지시해 컨텍스트를 절약한다. 코드 실행이 아니라 "이렇게 행동하라"는 자연어 규칙의 집합이라는 점이 일반 소프트웨어와 근본적으로 다르다.

2왜 주목받는가

일반 ChatGPT 면접 코칭 대비 장점 · 트렌딩 이유.

"AI한테 면접 준비 도와달라고 하기"는 누구나 해본 일이다. 문제는 매번 같은 대화가 반복된다는 것 — 이전 세션을 기억 못 하고, 점수 기준이 매번 달라지고, "더 잘하세요" 수준의 뭉툭한 피드백만 돌아온다. interview-coach-skill은 이 문제를 상태 저장 + 결정론적 채점 스키마 + 근본 원인 진단 트리로 정면 돌파한다.

일반 챗봇 면접 코칭 대비 비교

기능ChatGPT에 그냥 물어보기범용 면접 질문 뱅크 앱interview-coach-skill
세션 간 기억 유지부분적 (DB)✓ (coaching_state.md 자동 저장)
일관된 채점 기준매번 다름✓ (5차원 고정 루브릭 + 연차별 보정)
근본 원인 진단✓ (증상→root cause 매핑 테이블)
스토리뱅크 관리✓ (포트폴리오 최적화 알고리즘)
실제 면접 녹취록 분석수동 붙여넣기만✓ (8개 툴 포맷 자동 감지)
이력서~링크드인~피치 일관성✓ (Positioning Statement로 교차 연동)
실제 결과와 점수 상관관계 학습✓ (calibration-engine.md 드리프트 감지)
설치 방식불필요앱 설치파일 하나 리네임(mv SKILL.md CLAUDE.md)
이 저장소의 핵심 차별점 세 가지
① 영속 상태 ② 트리아지 기반 코칭 ③ 자기 교정 루프

① 영속 상태 — 모든 명령어가 같은 coaching_state.md를 읽고 쓴다. 스토리뱅크, 점수 이력, 면접 루프 상태가 전부 이 한 파일에 산다. ② 트리아지 — 채점 후 무조건 같은 드릴을 돌리지 않는다. "Relevance가 약하면 질문 해석 훈련, Substance가 약하면 증거 쌓기"처럼 결정 트리로 분기한다. ③ 자기 교정 — 3번 이상 실전 면접 결과가 쌓이면 calibration-engine.md가 "내 채점이 실제 합격/불합격을 얼마나 잘 예측했는지"를 스스로 점검하고 채점 기준을 조정한다.

이런 상황을 상상해봐

3주 전 kickoff로 프로필을 만들고, 지난주 Stripe 면접 녹취록을 analyze에 붙여넣었더니 "Structure는 4점인데 Differentiation이 2점 — 답변이 교과서적이라 이 사람만의 이야기가 안 보인다"는 진단을 받았다고 하자. 오늘 다시 켜면, 인사도 없이 바로 "지난 세션엔 Differentiation을 다뤘죠. 오늘은 stories improve S003로 그 이야기에 earned secret을 심는 게 제일 leverage가 큽니다"라고 먼저 제안한다 — coaching_state.md를 읽고 이어서 말하는 것이다.

3기술 스택 전체 지도

SKILL.md 구조 · 에이전트 스킬 메커니즘 · 설치 방식 · 타깃 에이전트.

이 저장소의 "기술 스택"은 코드가 아니라 문서 아키텍처다

일반적인 딥다이브라면 여기서 언어·프레임워크·DB를 나열하겠지만, 이 저장소에는 .py/.js/.ts 파일이 단 하나도 없다. 클론해서 확인한 44개 마크다운 파일이 전부다. "기술 스택"은 대신 프롬프트 엔지니어링 패턴으로 구성된다.

레이어구성 요소역할
엔트리 포인트SKILL.md (174줄)YAML frontmatter(name/description) + 우선순위 계층 + 명령어 레지스트리 + 파일 라우팅 표. 이 파일 하나가 에이전트의 "운영체제"
명령어 워크플로references/commands/*.md (25개)명령어 1개당 파일 1개. kickoff부터 help까지 각 명령의 단계별 실행 절차와 출력 스키마
공유 엔진references/*.md (18개, commands 제외)여러 명령어가 공통으로 참조하는 로직 — 채점 루브릭, 교정 엔진, 스토리 매핑 엔진, 챌린지 프로토콜 등
영속 상태coaching_state.md (실행 중 생성)세션 간 기억을 담는 유일한 데이터 저장소. DB 대신 구조화된 마크다운 템플릿
메타 문서README.md(508줄), VERSIONS.md(169줄), releases/사용법, 버전 로드맵(v1~v5), 릴리스 노트

에이전트 스킬이 실제로 작동하는 메커니즘

핵심 아이디어

파일 하나를 시스템 프롬프트 자리에 앉히면, 그 파일의 규칙이 곧 에이전트의 행동 규범이 된다

Claude Code는 프로젝트 루트의 CLAUDE.md를 세션 시작 시 자동으로 읽어 시스템 프롬프트에 포함시킨다(이 저장소를 분석하는 지금 이 순간도 같은 메커니즘이 쓰이고 있다 — 이 스킬을 만드는 프로젝트 자체가 CLAUDE.md 관례를 쓴다). interview-coach-skill의 설치법이 mv SKILL.md CLAUDE.md 한 줄인 이유가 이것이다. OpenAI Codex는 AGENTS.md라는 동일한 관례를 쓰기 때문에 같은 파일을 이름만 바꿔 재사용할 수 있다.

# Claude Code 활성화
git clone https://github.com/noamseg/interview-coach-skill.git
cd interview-coach-skill
mv SKILL.md CLAUDE.md
# 이제 이 폴더에서 Claude Code를 열고 "kickoff"라고 치면 끝

# OpenAI Codex 활성화 (파일명만 다름, 내용은 동일 메커니즘)
mv SKILL.md AGENTS.md

Progressive Disclosure — 컨텍스트를 아끼는 파일 라우팅

SKILL.md는 174줄로 짧다. 이유는 필요한 순간에만 필요한 참조 파일을 읽으라고 지시하기 때문이다. SKILL.md의 "File Routing" 섹션이 이 라우팅 표 자체다.

# SKILL.md 발췌 — File Routing 섹션
- **All commands**: references/commands/[command].md, references/cross-cutting.md
- **`analyze`**: + transcript-processing.md, transcript-formats.md,
                 rubrics-detailed.md, examples.md, calibration-engine.md
- **`practice`, `mock`**: + role-drills.md
- **`prep`**: + story-mapping-engine.md (스토리뱅크가 있을 때만)
- **All commands at Directness Level 5**: + challenge-protocol.md

help 명령어를 실행할 때 에이전트는 calibration-engine.mdrole-drills.md를 읽지 않는다. analyze를 실행할 때만 그 파일들을 로드한다. 이 설계 덕분에 전체 44개 파일, 1만 줄이 넘는 콘텐츠가 있어도 매 명령어 실행이 필요한 부분만 컨텍스트에 올라간다 — 소프트웨어의 "지연 로딩(lazy loading)"을 프롬프트 설계에 그대로 적용한 것이다.

타깃 에이전트 및 요구사항

환경요구사항비고
Claude Code (권장)유료 Claude 플랜터미널 CLI, 파일시스템 접근 필요
Cursor파일시스템 접근 가능한 에디터README에 "also works with" 명시
OpenAI Codex유료 ChatGPT 플랜AGENTS.md로 리네임
기타 에이전트 환경파일시스템 읽기/쓰기 권한.claude/settings.json에 Read/Edit/Write/WebFetch/WebSearch 권한 명시
용어
Progressive Disclosure (점진적 공개)
모든 정보를 한 번에 보여주지 않고, 사용자(또는 이 경우 에이전트)가 필요로 하는 순간에 필요한 만큼만 노출하는 설계 원칙. UI/UX에서 온 개념이지만, 이 저장소는 이를 "컨텍스트 윈도우 절약"이라는 LLM 특유의 문제에 적용했다. SKILL.md가 허브 역할을 하고, 25개 명령어 파일과 18개 엔진 파일이 필요할 때만 로드되는 스포크 구조다.

4아키텍처 심화 분석

스킬 로딩 → 워크플로 단계 → 피드백 루프 구조도 + 핵심 설계 패턴.

전체 시스템 구조도

┌──────────────────────────────────────────────────────────────────┐ │ Claude Code / Codex 세션 시작 │ └────────────────────────────┬─────────────────────────────────────┘ │ CLAUDE.md(=SKILL.md) 자동 로드 ┌────────────▼─────────────┐ │ SKILL.md │ ← 174줄, 항상 로드됨 │ - Priority Hierarchy │ │ - Session State System │ │ - Command Registry(23개) │ │ - File Routing 표 │ │ - Core Rubric(5차원) │ └────────────┬──────────────┘ │ ┌───────────────▼────────────────┐ │ Session Start Protocol │ │ coaching_state.md 존재? │ └───┬─────────────────────────┬───┘ 있음 │ │ 없음 ┌──────────────▼───────┐ ┌──────────▼───────────┐ │ Schema Migration Check│ │ kickoff 제안 │ │ Staleness Check │ │ (또는 명시 명령 실행) │ │ 상태 기반 추천 인사 │ └───────────────────────┘ └──────────┬─────────────┘ │ ┌───────────▼────────────────────────────────────┐ │ Mode Detection (references/mode-detection.md) │ │ 1.명시 명령 > 2.녹취록 존재 > 3.피드백/결과 보고 │ │ ... > 20.신청서 답변 작성 > 21.모름→help │ └───────────┬────────────────────────────────────┘ │ 일치하는 명령 확정 (예: analyze) ┌───────────▼────────────────────────────────────┐ │ File Routing — 필요한 references/*.md 로드 │ │ references/commands/analyze.md + │ │ transcript-processing.md + rubrics-detailed.md │ │ + calibration-engine.md + examples.md ... │ └───────────┬────────────────────────────────────┘ │ ┌───────────▼────────────────────────────────────┐ │ 명령어별 워크플로 실행 │ │ (아래 "명령어 실행 파이프라인" 참조) │ └───────────┬────────────────────────────────────┘ │ ┌───────────▼────────────────────────────────────┐ │ Mid-Session / Session End Save Protocol │ │ coaching_state.md 갱신 (자동, 조용히) │ └────────────────────────────────────────────────┘

analyze 명령어 실행 파이프라인 (가장 복잡한 워크플로)

사용자: "analyze" + 녹취록 붙여넣기 │ ▼ [0] Comp Call Detection — salary/equity/offer 등 키워드 3개+ 감지? │ Yes → negotiate.md 협상 채점으로 라우팅 (인터뷰 루브릭 아님) │ No ↓ [1] 기존 debrief 데이터 확인 (같은 회사/라운드 있으면 병합) [2] 자기평가 질문 먼저 ("어느 답변이 제일 잘됐다고 느꼈나요?") [3] 자기평가는 채점에 반영 안 함 — 별도로 세팅만 해둠 [3.5] Format Detection (references/transcript-formats.md) Otter / Grain / Google Meet / Zoom VTT / Granola / Teams / Tactiq / Manual — 8종 자동 감지 + 정규화 [4] 정규화된 녹취록 클리닝 (filler word 제거 등) [5] Quality Gate — High(80%+) / Medium(60~80%) / Low(60% 미만) [6] Format-Aware Parsing — 5개 경로 중 분기 Path A 행동 면접(Q&A) / Path B 패널(교차 질문) / Path C 시스템 디자인(단계별) / Path D 기술+행동 혼합 / Path E 케이스 스터디(단계별) [7] 5차원 채점 (+ 포맷별 추가 차원) [8] 자기평가와 코치 채점 비교 → 캘리브레이션 시그널로 활용 [9] Signal-Reading 분석 (면접관의 긍정/부정/중립 신호 스캔) [10] Relevance<3인 답변 → "질문이 실제로 뭘 묻는지" 디코딩 [11] 최저 점수 답변 자동 리라이트 (원문 vs 개선본 나란히) [11.5] Interviewer's Inner Monologue (면접관 시점 재생) [12] Post-Scoring Decision Tree — 우선순위 스택으로 트리아지 Relevance > Substance > Structure > Credibility > Differentiation [12a] Cross-Dimension Root Cause Check → Calibration State 갱신 [13] 멀티렌즈 분석 (Hiring Manager / Skeptical Specialist / ...) [14] Delta Plan 종합 [15] Active Coaching Strategy 갱신 (기존 전략과 상충 시 교체) [16] Interview Intelligence 갱신 (Question Bank에 문항 추가) │ ▼ coaching_state.md 저장 (Mid-Session Save)

핵심 설계 패턴 4가지

패턴 1

단일 진실 원천(Single Source of Truth) — coaching_state.md

23개 명령어 전부가 같은 파일을 읽고 쓴다. DB도 API도 없다. coaching_state.md는 Profile / Storybank / Score History / Outcome Log / Interview Intelligence / Drill Progression / Interview Loops / Active Coaching Strategy / Calibration State 등 十几개 섹션으로 구성된 스키마를 가진 순수 마크다운 문서다. references/coaching-state-schema.md에 전체 템플릿이 정의돼 있고, references/schema-migration.md가 옛 버전 파일을 새 스키마로 마이그레이션한다. "세션 continuity"라는 소프트웨어의 핵심 난제를, 파일 하나 읽고 쓰기로 해결한 셈이다.

패턴 2

결정 트리 기반 트리아지 — "모두에게 같은 컨베이어벨트를 돌리지 않는다"

채점 후 무조건 다음 단계로 넘어가지 않는다. analyze.md의 Post-Scoring Decision Tree는 5차원 중 어디가 병목인지에 따라 코칭 경로를 분기한다 — 우선순위 스택이 핵심이다: Relevance(질문을 잘못 이해했다면 다른 건 다 무의미) → Substance(원재료 부족) → Structure → Credibility → Differentiation(마지막, "이미 3점대인 사람만"). 이 우선순위는 "하류 문제는 상류가 해결돼야 고칠 수 있다"는 소프트웨어 디버깅의 원칙을 코칭에 그대로 옮긴 것이다.

패턴 3

자기 교정 루프 — 실제 결과로 자기 채점을 검증

references/calibration-engine.md는 이 스킬을 단순 "규칙 실행기"에서 "학습 시스템"으로 끌어올리는 핵심이다. 3번 이상 실전 면접 결과(합격/불합격)가 쌓이면, "연습 점수가 실제 결과를 예측했는가"를 검증한다. Structure를 4점 줬는데 채용 담당자 피드백이 "이해하기 어려웠다"면 Scoring Drift로 기록하고 채점 기준을 하향 조정한다 — "목표를 옮기는 게 아니라 예측 정확도를 높이는 것"이라고 후보자에게 명시적으로 설명하도록 지시돼 있다.

패턴 4

Cross-Command Dependency 표 — 명령어 간 데이터 의존성 명시

references/cross-cutting.md의 Cross-Command Dependency Module은 23개 명령어 각각이 "무엇이 있으면 더 잘 동작하고, 무엇 없이는 아예 실행이 안 되는지"를 표로 정의한다. 예: prep은 회사+역할+JD 없이는 실행 불가(하드 의존성)지만, 스토리뱅크 없이도 실행은 되고 다만 스토리 매핑을 건너뛴다(소프트 의존성). 이건 소프트웨어의 의존성 그래프(dependency graph)를 자연어로 명세한 것과 동일한 발상이다 — "이 명령을 스토리뱅크 없이 실행할 수 있지만, 매핑 품질이 떨어집니다. 먼저 stories를 만들까요?"라는 문장을 자동으로 생성하게 만든다.

피드백 루프 — 5차원 채점부터 캘리브레이션까지

[연습/모의면접] [실전 면접] [디브리프/피드백] │ │ │ ▼ ▼ ▼ ┌─────────────────────────────────────────────────────┐ │ 5차원 채점 (모든 답변 단위로) │ │ Substance·Structure·Relevance·Credibility·Diff │ └───────────────────────┬─────────────────────────────┘ │ coaching_state.md → Score History ▼ ┌─────────────────────────┐ │ Root Cause Taxonomy │ │ (rubrics-detailed.md) │ │ 낮은 점수 → 근본 원인 매핑│ │ 예: 관계 회피 →Substance +│ │ Differentiation 둘다 │ └────────────┬──────────────┘ │ 2회 이상 반복 감지되면 ▼ ┌─────────────────────────┐ │ Cross-Dimension Root │ │ Cause 승격 (Calibration │ │ State에 능동 항목으로 등록)│ │ → 통합 처방 1개(차원별 X)│ └────────────┬──────────────┘ │ 실전 결과 3건+ 누적 ▼ ┌─────────────────────────┐ │ Scoring Drift Detection │ │ practice 점수 vs 실제결과│ │ 불일치 → 채점 기준 재조정 │ └────────────┬──────────────┘ │ ▼ 다음 세션 채점에 반영 (더 정확한 예측)

5디렉토리 구조 해부

44개 마크다운 파일 전체 분석.

interview-coach-skill/ ├── SKILL.md # 174줄 — 엔트리 포인트, 항상 로드 │ ├── Priority Hierarchy # 지시 충돌 시 우선순위 6단계 │ ├── Session State System # 시작/종료/중간저장 프로토콜 │ ├── Non-Negotiable Operating # "한 번에 질문 1개" 등 12개 규칙 │ │ Rules │ ├── Command Registry # 23개 명령어 표 (명령어|목적) │ ├── File Routing # 명령어별 참조 파일 로딩 표 │ ├── Mode Detection 안내 # → mode-detection.md 위임 │ ├── Core Rubric # 5차원 압축 버전 │ └── Response Blueprints # 출력 섹션 헤더 고정 순서 │ ├── README.md # 508줄 — 사용법 전체 (Quick Start, │ # 23개 명령어 표, 12개 워크플로 예시) ├── VERSIONS.md # 169줄 — v1~v5 로드맵 (사상 명시) ├── LICENSE # MIT ├── .claude/settings.json # Read/Edit/Write/WebFetch/WebSearch 권한 │ ├── releases/ # 릴리스 노트 (버전별 "무엇이 왜 바뀌었나") │ ├── v2.md # 83줄 │ └── v3.md # 159줄 │ └── references/ # 44개 파일 중 43개가 여기 (핵심부) │ ├── commands/ # 명령어 1개 = 파일 1개, 총 25개 │ ├── kickoff.md (174줄) # 초기 프로필 설정 │ ├── analyze.md (206줄) # 녹취록 분석 (가장 복잡) │ ├── prep.md (478줄) # 가장 긴 명령 파일 — 면접 준비 브리프 │ ├── mock.md (215줄) # 모의 면접 시뮬레이션 │ ├── practice.md (178줄) # 드릴 연습 │ ├── stories.md (214줄) # 스토리뱅크 관리 │ ├── resume.md/linkedin.md/pitch.md # v3에서 추가된 지원서류 3종 │ ├── decode.md/present.md/salary.md # v3에서 추가된 3종 │ ├── outreach.md (447줄) # 네트워킹 아웃리치 │ ├── negotiate.md/feedback.md/progress.md 등 │ └── help.md (147줄) # 명령어 메뉴 + 진단 라우터 │ ├── cross-cutting.md (269줄) # 모든 명령어가 공유하는 모듈들 │ # Differentiation/Gap-Handling/ │ # Signal-Reading/Psychological/ │ # Cultural/Role-Fit/Challenge/ │ # Cross-Command Dependency ├── rubrics-detailed.md (186줄) # 5차원 상세 앵커 + Root Cause Taxonomy ├── calibration-engine.md(228줄)# 자기 교정 로직 (7개 섹션) ├── story-mapping-engine.md # 포트폴리오 최적화 매핑 (4레벨 피팅) │ (159줄) ├── transcript-processing.md # 녹취록 처리 단계별 가이드 │ (624줄, 최대) ├── transcript-formats.md(144줄)# 8개 툴 포맷 자동 감지·정규화 ├── role-drills.md (614줄) # 역할별 드릴 + 면접관 페르소나 ├── differentiation.md # earned secret 추출법 ├── challenge-protocol.md(129줄)# Level 5 전용 5-lens 챌린지 ├── examples.md (906줄) # 채점된 답변 예시 등 워크드 이그잼플 ├── coaching-state-schema.md # coaching_state.md 전체 템플릿 ├── coaching-voice.md (31줄) # 코칭 톤·직설성 레벨 가이드 ├── evidence-sourcing.md(22줄) # 근거 제시 표준 ├── mode-detection.md (48줄) # 21개 우선순위 의도 감지 규칙 ├── archival-rules.md (21줄) # 상태 파일 비대화 방지 규칙 ├── state-update-triggers.md # 명령 완료 시 상태 갱신 트리거 ├── schema-migration.md (23줄) # 구버전 상태 파일 마이그레이션 └── storybank-guide.md (274줄) # 스토리 관리 + 빠른 회상 드릴
용어
참조 파일 (Reference File)
SKILL.md 본문에는 없지만, 특정 상황에서만 읽도록 지시된 보조 문서. 이 저장소의 references/ 폴더 전체가 그렇다. "필요할 때만 로드"라는 지연 로딩 패턴 덕분에, SKILL.md 자체는 짧게 유지하면서도 시스템 전체는 1만 줄 넘게 정교해질 수 있다.

6학습 포인트 (기술별)

이 저장소에서 무엇을 배울 수 있는가.

1. SKILL.md 패턴 — 좋은 에이전트 스킬의 해부학

Anthropic의 공식 Agent Skills 관례를 정석대로 따른 사례다. YAML frontmatter(name/description)로 "언제 이 스킬을 쓸지"를 에이전트가 판단하게 하고, 본문은 짧게 유지하며 세부는 references/로 위임한다. "Priority Hierarchy"처럼 지시가 충돌할 때 뭘 우선할지 명시한 부분은 프롬프트 엔지니어링에서 자주 빠지는 부분이다.

배울 것: SKILL.md frontmatter 작성법, Progressive Disclosure로 컨텍스트 절약하기, "이 지시와 저 지시가 충돌하면?"에 미리 답하는 우선순위 설계, 명령어 레지스트리(표 형태) 패턴.

2. 상태 저장 없는 시스템에 "메모리" 만들기 — coaching_state.md 패턴

LLM 에이전트는 기본적으로 세션이 끝나면 모든 걸 잊는다. 이 저장소는 DB 없이 구조화된 마크다운 파일 하나로 이 문제를 해결한다. 스키마를 명시적으로 정의(coaching-state-schema.md)하고, 언제 갱신할지 트리거를 명시(state-update-triggers.md)하고, 파일이 커지면 요약하는 아카이빙 규칙(archival-rules.md)까지 갖췄다. 이건 "세션 간 지속성"이라는 에이전트 설계의 근본 문제에 대한 실용적 해법이다.

배울 것: 텍스트 파일을 상태 저장소로 쓰는 설계, 스키마 마이그레이션 규칙 작성(구버전 파일 호환성), "언제 저장할지"를 명시적 트리거로 정의하기, 파일 비대화 방지를 위한 요약/아카이빙 전략.

3. 결정론적 출력 스키마 강제하기

LLM 출력은 원래 매번 조금씩 다르다. 이 스킬은 Response Blueprints(SKILL.md)로 섹션 헤더 순서를 고정하고, 각 명령어 파일마다 Output Schema 블록으로 정확한 마크다운 구조를 못 박는다. "Scorecard: Substance __/Structure __/..." 같은 빈칸까지 지정한 템플릿을 여러 곳에서 볼 수 있다. 이게 없으면 매번 다른 형식으로 답변이 나와서 상태 파일에 파싱해 넣기 어려워진다.

배울 것: 마크다운 템플릿으로 LLM 출력 구조 고정하기, "Confidence: High/Medium/Low" 같은 불확실성 명시 패턴, 출력 스키마와 상태 파일 스키마를 일치시켜 파싱 부담 줄이기.

4. 결정 트리 / 우선순위 스택으로 "한 가지 정답 코칭" 피하기

analyze.md의 Post-Scoring Decision Tree, kickoff.md의 Time-Aware Coaching(면접까지 48시간/1~2주/3주+ 별 다른 전략), story-mapping-engine.md의 7단계 충돌 해결 프로토콜 — 전부 "조건 → 분기"를 명시적 표나 순서 목록으로 짠 것이다. 조건문을 자연어로 정교하게 쓰면 에이전트가 실제로 다른 후보자에게 다른 조언을 하게 만들 수 있다는 걸 보여준다.

배울 것: 자연어 결정 트리 설계, 우선순위 스택("A가 안 되면 B를 시도하기 전에 A부터 해결") 패턴, 조건-액션 표로 트리아지 로직 명세하기.

5. 자기 검증 / 자기 교정 루프 설계

calibration-engine.md는 이 스킬을 단순 "정적 규칙 실행기"에서 "데이터로 자기 자신을 검증하는 시스템"으로 끌어올린다. Scoring Drift Detection(연습 점수가 실제 결과를 예측했는가), Cross-Dimension Root Cause 생명주기(Detection → Unified Treatment → Progress Tracking → Resolution), Unmeasured Factor Investigation(가설 세우고 검증하는 절차)까지 — 소프트웨어 A/B 테스트나 MLOps의 모니터링 개념을 순수 프롬프트로 구현했다.

배울 것: 예측-결과 비교로 시스템 신뢰도 검증하는 패턴, "언제 이 패턴을 능동 항목으로 승격할지"(2회 이상 반복 등) 임계값 설계, 가설-검증-결론 사이클을 자연어 프로토콜로 명세하기.

6. 도메인 전문 지식을 채점 루브릭으로 압축하기

rubrics-detailed.md는 각 차원마다 1~5점 앵커 예시, 코칭 노트, 근본 원인 목록, 연차별 보정 기준(0-3년/4-8년/8-15년/15년+)까지 갖춘 진짜 평가 루브릭이다. "Substance 3점에 머무는 이유는 무엇인가"처럼 증상 → 원인 → 처방 3단 구조로 정리한 Root Cause Taxonomy 표는, 어떤 도메인이든 "평가 시스템"을 프롬프트로 만들 때 참고할 만한 틀이다.

배울 것: 채점 루브릭을 앵커 예시로 구체화하기, 연차/숙련도별 기준 보정("초급자의 4점"과 "전문가의 4점"은 다르다), 증상-원인-처방 3단 테이블 설계.

실습 아이디어

자신의 관심 도메인(운동 코칭, 글쓰기 첨삭, 코드 리뷰 등)을 골라 이 저장소의 패턴을 그대로 적용해본다: (1) SKILL.md 하나로 시작해 명령어 레지스트리 표를 짜고, (2) 상태 저장용 마크다운 스키마를 설계하고, (3) 채점이 필요하다면 rubrics-detailed.md 스타일로 1~5점 앵커를 써보고, (4) Priority Hierarchy로 지시 충돌 상황에 미리 답해본다. 실제로 Claude Code에 로드해 몇 번 명령을 내려보면 "지시문 설계가 곧 시스템 설계"라는 감각이 빠르게 생긴다.

7하드웨어 / 시스템 요구사항

실행 환경 · 설치 조건.

항목요구사항
필요한 도구Claude Code, Cursor, 또는 OpenAI Codex 중 하나 — 파일시스템 읽기/쓰기가 가능한 에이전트 환경
계정유료 Claude 플랜(Claude Code) 또는 유료 ChatGPT 플랜(Codex) — 무료 플랜으로는 실행 불가
로컬 설치 용량수백 KB 수준 (마크다운 파일만, 바이너리·의존성 없음)
런타임 메모리/CPU해당 없음 — 코드가 실행되는 게 아니라 에이전트가 텍스트를 읽고 그 지시를 따르는 구조
네트워크초기 클론/다운로드 시에만 필요. research 명령어 사용 시 에이전트의 웹 검색 기능(WebSearch/WebFetch) 활용
운영체제제약 없음 — 파일 리네임과 텍스트 에디터만 있으면 어떤 OS에서도 동일하게 동작
OpenAI Codex 대안 설치ZIP 다운로드 후 압축 해제도 가능 (git 불필요)
운영 특성
"설치"가 사실상 파일 리네임 한 줄

일반적인 소프트웨어 설치(의존성 설치, 빌드, 환경 변수 설정)가 전혀 없다. git clonemv SKILL.md CLAUDE.md 딱 한 줄이면 끝난다. 이 극단적인 단순함 자체가 "에이전트 스킬"이라는 배포 형태의 장점을 보여준다 — 코드가 아니라 텍스트이기 때문에 설치 실패라는 개념 자체가 거의 없다.

현실적 주의사항
품질은 100% 에이전트의 지시 추종 능력에 달려 있다

이 스킬은 코드가 아니므로 "버그"의 개념이 다르다 — 로직 오류가 아니라 에이전트가 지시를 잘못 해석하거나 무시하는 것이 실패 모드다. 예를 들어 "한 번에 질문 1개만"이라는 Non-Negotiable Rule도 결국 에이전트가 그 규칙을 매 턴 기억하고 지켜야 작동한다. 또한 채점(Substance/Structure 등)은 실제 채용 결과를 완벽히 예측하지 못하며, calibration-engine.md 자체도 "3건 미만이면 uncalibrated 상태"라고 스스로 인정한다 — 데이터가 적을 때는 시스템의 자기 평가를 과신하지 않는 게 좋다.

8직접 해볼 수 있는 실습 과제

난이도별 5개.

난이도: 입문

실습 1 — 스킬을 설치하고 kickoff부터 analyze까지 직접 돌려보기

Claude Code(또는 Cursor)에서 실제로 이 스킬을 활성화하고, 가짜 이력서 요약과 짧은 면접 답변 하나로 kickoffanalyze 흐름을 체험한다.

git clone https://github.com/noamseg/interview-coach-skill.git
cd interview-coach-skill
mv SKILL.md CLAUDE.md
# Claude Code로 이 폴더를 열고:
#   1) "kickoff" 입력 → 가짜 이력서/목표 역할 답변
#   2) 짧은 면접 답변 하나를 "analyze"에 붙여넣기

확인 포인트: coaching_state.md 파일이 실제로 생성되는지, 5차원 채점(Substance/Structure/Relevance/Credibility/Differentiation)이 정말로 표시되는지 확인한다.

난이도: 초급

실습 2 — coaching_state.md 스키마를 직접 손으로 읽고 그려보기

references/coaching-state-schema.md를 열어, 어떤 명령어가 어떤 섹션을 읽고 쓰는지 표로 정리한다 (예: Storybank → stories/prep/progress가 읽음, analyze가 씀).

확인 포인트: references/cross-cutting.md의 Cross-Command Dependency Module 표와 자신이 그린 표를 비교해 얼마나 일치하는지 검증한다.

난이도: 중급

실습 3 — 새 명령어 1개를 직접 설계해서 SKILL.md에 추가하기

기존 23개에 없는 명령어를 하나 설계한다. 예: portfolio(포트폴리오 웹사이트 리뷰) 또는 coldcall(전화 스크리닝 특화 코칭). references/commands/help.md 스타일을 참고해 워크플로 단계, 출력 스키마, Cross-Command Dependency를 명세한다.

# references/commands/portfolio.md (직접 작성)
# portfolio — 포트폴리오 사이트 리뷰

### Step 1: 컨텍스트 수집
- 포트폴리오 URL 또는 스크린샷
- 타깃 역할

### Step 2: 5차원 평가
...

### Output Schema
```markdown
## Portfolio Review
- Overall:
- Top 3 fixes:
```

확인 포인트: SKILL.md의 Command Registry 표와 File Routing 표 양쪽에 새 명령어를 등록했는지, Mode Detection에 트리거 조건을 추가했는지 확인한다.

난이도: 중급

실습 4 — 자기만의 도메인으로 "스킬" 뼈대 복제하기

면접 코칭이 아닌 다른 도메인(글쓰기 첨삭, 헬스 코칭, 코드 리뷰 등)을 골라, 이 저장소의 뼈대만 복제해 최소 버전을 만든다: SKILL.md(우선순위 계층 + 명령어 3개) + coaching_state 역할을 할 상태 파일 스키마 + 채점 루브릭 1개.

확인 포인트: 실제로 며칠 간격을 두고 두 번 실행해, 상태 파일을 읽고 "지난번엔 어디까지 했다"고 먼저 말하는지 확인한다 — 이게 되면 세션 continuity 설계가 성공한 것이다.

난이도: 고급

실습 5 — calibration-engine.md의 Scoring Drift Detection을 실제 데이터로 시뮬레이션

가상의 Score History 10건과 Outcome Log 5건(합격/불합격 섞어서)을 coaching_state.md에 직접 채워 넣고, progress 명령어를 실행해 Scoring Drift Detection이 실제로 작동하는지 관찰한다. 의도적으로 "연습 점수는 높은데 실전 결과는 나쁜" 패턴을 만들어 시스템이 드리프트를 잡아내는지 테스트한다.

확인 포인트: references/calibration-engine.md Section 2의 5단계(Outcome-Score Matrix 구축 → 드리프트 확인 → 피드백 대조 → 리포트 → 후보자에게 제시)가 실제 출력에서 순서대로 나타나는지 검증한다.

9관련 기술 심화 학습 로드맵

에이전트 스킬 설계 역량을 위한 주차별 학습 경로.

1주차 — 에이전트 스킬 생태계 기초

목표: Claude Code의 CLAUDE.md 관례, Agent Skills 공식 스펙, SKILL.md의 frontmatter 규칙을 이해한다.

자료: Claude Code 공식 문서(claude.com/docs), Anthropic Agent Skills 발표 자료, 이 저장소의 SKILL.md 전체 정독.

실습: 자신의 자주 하는 반복 작업(회의록 정리, 코드 리뷰 체크리스트 등) 하나를 골라 최소 SKILL.md 한 장으로 스킬화해본다.

2주차 — 프롬프트로 상태 관리 설계하기

목표: LLM 에이전트가 세션 간 기억을 유지하는 다양한 패턴(파일 기반, DB 기반, 벡터 저장 기반)을 비교하고, 왜 이 저장소가 마크다운 파일 하나를 택했는지 설계 트레이드오프를 이해한다.

자료: references/coaching-state-schema.md, references/archival-rules.md, references/schema-migration.md 정독.

실습: 자신의 스킬에 상태 파일 스키마를 설계하고, "언제 저장할지" 트리거 규칙을 명시적으로 써본다.

3주차 — 채점/평가 루브릭 설계

목표: LLM이 일관되게 채점하도록 만드는 앵커 예시 기반 루브릭 설계법, 연차/숙련도별 보정 개념을 익힌다.

자료: references/rubrics-detailed.md 전체, references/examples.md의 워크드 이그잼플들.

실습: 자신의 도메인에서 1~5점 루브릭 하나를 앵커 예시 포함해서 작성하고, 같은 답변을 3번 채점시켜 일관성을 테스트한다.

4주차 — 결정 트리 / 트리아지 로직 설계

목표: "조건 → 분기" 자연어 결정 트리 작성법, 우선순위 스택 개념을 익힌다.

자료: references/commands/analyze.md의 Post-Scoring Decision Tree, references/mode-detection.md의 21단계 우선순위 목록.

실습: 자신의 스킬에 "여러 문제가 동시에 보이면 뭐부터 다룰지" 우선순위 스택을 표로 작성해본다.

5주차 — 자기 검증 / 캘리브레이션 시스템

목표: 예측-결과 비교로 시스템을 스스로 검증하는 설계, MLOps의 모니터링/드리프트 감지 개념을 프롬프트 설계에 적용하는 법을 익힌다.

자료: references/calibration-engine.md 전체 7섹션, ML 모델 드리프트 감지 관련 일반 자료(개념 이해용).

실습: 자신의 스킬에 "이 시스템의 판단이 실제로 맞았는지" 검증하는 최소 루프 하나를 설계해본다 (예: 코드 리뷰 스킬이라면 "지적한 문제가 실제로 버그였는지" 추적).

6~7주차 — 대형 스킬 저장소 기여 / 직접 확장

목표: 23개 명령어급 규모의 시스템에서 새 기능을 추가할 때 기존 아키텍처(File Routing, Cross-Command Dependency)를 깨지 않고 확장하는 법을 익힌다.

자료: VERSIONS.md의 v3 "Feature 6: Cross-Cutting Quality Pass" 섹션(28개 개선사항이 어떻게 기존 구조를 유지하며 추가됐는지), CONTRIBUTING 가이드(README의 Contributing 섹션).

실습: 이 저장소에 실습 3에서 만든 새 명령어를 정식 PR 형태로 다듬어본다 — SKILL.md Command Registry, File Routing, Mode Detection, Cross-Command Dependency 표 4곳 모두 갱신이 필요하다는 걸 직접 경험한다.

10핵심 키워드 사전

이 저장소를 이해하는 데 필요한 핵심 용어.

에이전트 스킬
Agent Skill
AI 에이전트에게 특정 작업 방식을 지시하는 마크다운 기반 문서 패키지. 코드가 아니라 자연어 지시문의 집합으로, SKILL.md(또는 CLAUDE.md/AGENTS.md)를 시스템 프롬프트 자리에 배치해 활성화한다.
SKILL.md
SKILL.md
에이전트 스킬의 엔트리 포인트 파일. YAML frontmatter(name/description)로 스킬을 식별하고, 본문에 핵심 규칙과 다른 참조 파일로의 라우팅을 담는다. 이 저장소에서는 Claude Code용 CLAUDE.md 또는 Codex용 AGENTS.md로 리네임해 활성화한다.
Progressive Disclosure
점진적 공개
모든 정보를 한 번에 노출하지 않고 필요한 순간에만 필요한 만큼 제공하는 설계 원칙. 이 저장소에서는 SKILL.md의 File Routing 표가 "이 명령어를 실행할 땐 이 참조 파일만 읽어라"고 지시해 컨텍스트 사용량을 절약한다.
영속 상태 파일
coaching_state.md / Persistent State File
세션 간 기억을 담는 유일한 데이터 저장소 역할을 하는 마크다운 파일. DB 없이 구조화된 텍스트 파일 하나로 상태 관리를 구현하는 패턴의 실제 사례다.
5차원 루브릭
Core Rubric (Substance/Structure/Relevance/Credibility/Differentiation)
이 스킬이 모든 면접 답변을 채점하는 5가지 고정 기준. 증거 품질, 서사 구조, 질문 적합성, 신뢰도, 차별성을 각각 1~5점으로 평가한다. references/rubrics-detailed.md에 연차별 보정 기준까지 포함된 상세 버전이 있다.
근본 원인 분류법
Root Cause Taxonomy
낮은 점수의 표면적 증상을 "관계 회피", "지위 불안", "서사 과적재" 같은 근본 원인으로 매핑하고, 각 원인에 맞는 처방(드릴)을 연결한 테이블. 여러 차원에 동시에 영향을 주는 원인을 찾아 통합 처방하는 것이 핵심 설계 의도다.
캘리브레이션 엔진
Calibration Engine
연습/분석 점수가 실제 면접 결과(합격/불합격)를 얼마나 잘 예측하는지 스스로 검증하고, 불일치가 발견되면 채점 기준을 조정하는 자기 교정 로직. Scoring Drift Detection, Cross-Dimension Root Cause 추적, Unmeasured Factor Investigation 등을 포함한다.
스토리 매핑 엔진
Story Mapping Engine
후보자의 스토리뱅크(경험 사례 모음)를 예상 질문에 배정하는 포트폴리오 최적화 로직. Strong Fit/Workable/Stretch/Gap 4단계로 적합도를 평가하고, 여러 질문이 같은 스토리를 원할 때 충돌을 해결하는 7단계 프로토콜을 갖췄다.
Earned Secret
Earned Secret (획득된 통찰)
직접 경험에서만 얻을 수 있는, 남들이 잘 모르거나 틀리게 아는 통찰. "커뮤니케이션이 중요하다" 같은 일반론은 해당하지 않으며, 구체적 지표나 사례로 뒷받침되고 반박에 방어 가능해야 한다. Differentiation 점수를 높이는 핵심 재료로 취급된다.
Directness Level 5 / Challenge Protocol
챌린지 프로토콜
피드백 직설성을 1~5단계로 설정할 수 있는데, 최고 단계(5)에서만 활성화되는 5-lens 챌린지 프레임워크(Assumption Audit/Blind Spot Scan/Pre-Mortem/Devil's Advocate/Strengthening Path). 레벨 1~4에서는 완전히 비활성화된다.
Cross-Command Dependency
명령어 간 의존성 모듈
23개 명령어 각각이 다른 명령어의 출력 데이터가 있으면 어떻게 더 잘 동작하고, 없으면 무엇을 못 하는지(하드/소프트 의존성) 명시한 표. 소프트웨어의 의존성 그래프 개념을 자연어 명세로 옮긴 것이다.

11참고 링크

더 깊이 파고들기 위한 공식 자료.