이 문서는 Claude Code Skills 관련 공식 문서와 공식 릴리즈 노트를 바탕으로, 최근 Skills 기능이 어떻게 확장되었는지와 실제로 어떻게 설계하고 활용해야 하는지를 정리한 튜토리얼입니다.
---
공식 skills 문서에 따르면,
> Custom commands have been merged into skills.
결국 이제,
둘 다 /deploy처럼 동작할 수 있으며, Anthropic은 skills를 확장 표준 포맷으로 밀고 있습니다.
관련 공식 문서 기준 주요 필드,
이제 skills는 단순 프롬프트 파일이 아니라, 호출 정책·실행 문맥·권한·훅을 가진 실행 단위입니다.
공식 docs 기준,
설정을 통해 skill을 forked subagent에서 실행할 수 있습니다.
공식 docs frontmatter reference에 hooks가 포함되어 있고, 릴리즈 노트에도 skill hooks 관련 버그 수정이 등장합니다.
공식 docs에 따르면 .claude/skills/ 및 --add-dir로 추가된 skills 디렉토리에 대해 live change detection이 지원됩니다.
공식 docs에 정리된 기본 탑재 skills,
특히 /simplify와 /batch는 병렬 agent 실행과 worktree 활용까지 포함하는 고급 워크플로우형 skill입니다.
---
공식 GitHub releases 기준 Skills 관련 포인트,
이 변화들은 skills가 단순 텍스트 지시문이 아니라, 런타임 기능과 깊게 결합된 구조라는 걸 보여줍니다.
---
결국 Skills 2.0은 프롬프트 템플릿에서 작업 단위(work unit)로 진화한 것으로 보는 게 맞습니다.
---
mkdir -p ~/.claude/skills/explain-code
---
name: explain-code
description: Explains code with diagrams and analogies when the user asks how code works.
---
When explaining code, always:
1. Start with a simple analogy
2. Draw an ASCII diagram
3. Walk through the code step by step
4. Mention one common mistake
자동 호출,
How does this code work?
수동 호출:
/explain-code src/auth/login.ts
---
---
name: deploy
description: Deploy the application to production
disable-model-invocation: true
allowed-tools: Bash(npm test), Bash(npm run build), Bash(deploy *)
---
Deploy $ARGUMENTS to production,
1. Run tests
2. Build the app
3. Deploy
4. Verify health checks
사용:
/deploy production
이 설정을 사용하면 Claude가 자동으로 deploy하지 않고, 사용자가 직접 /deploy를 호출해야만 실행됩니다.
---
---
name: legacy-billing-context
description: Explains the legacy billing flow and known migration edge cases.
user-invocable: false
---
When working with billing code,
- The old ledger sync runs before invoice finalization
- Refund reconciliation is eventually consistent
- Never rename event types without checking downstream consumers
이건 slash menu에는 안 보이지만 Claude가 배경지식처럼 자동 활용할 수 있는 skill입니다.
---
공식 docs 기준 지원:
예를 들어,
---
name: migrate-component
description: Migrate a component from one framework to another.
argument-hint: [component] [from] [to]
---
Migrate the $0 component from $1 to $2.
Requirements:
- Preserve behavior
- Preserve tests
- Keep accessibility intact
사용,
/migrate-component SearchBar React Vue
---
권장 구조:
my-skill/
├── SKILL.md
├── reference.md
├── examples.md
└── scripts/
└── validate.sh
---
name: write-api-spec
description: Write API specs following team conventions.
---
Use this workflow,
1. Read `reference.md` for schema rules
2. Read `examples.md` for output style
3. Draft the spec
4. Run `scripts/validate.sh` if needed
이 구조를 쓰면 SKILL.md는 가볍게 유지하고, 자세한 자료는 필요할 때만 로드하게 만들 수 있습니다.
---
공식 릴리즈에서 추가된 변수입니다.
예를 들어,
---
name: validate-pr
description: Validate PR content using bundled scripts.
allowed-tools: Bash(python3 ${CLAUDE_SKILL_DIR}/scripts/*)
---
Run:
!python3 ${CLAUDE_SKILL_DIR}/scripts/check_pr.py
장점,
---
공식 docs의 !command 패턴,
---
name: pr-summary
description: Summarize a pull request with live PR context
context: fork
allowed-tools: Bash(gh *)
---
PR diff,
!gh pr diff
PR comments,
!gh pr view --comments
Changed files,
!gh pr diff --name-only
Now summarize,
- What changed
- Risks
- Missing tests
- Release note candidate
이 방식은 명령 결과를 먼저 skill prompt에 주입한 뒤 Claude가 작업하도록 만듭니다.
---
---
name: refactor-audit
description: Audit the codebase for refactor opportunities.
context: fork
agent: Explore
---
Audit this codebase for:
1. duplicated logic
2. over-coupled modules
3. dead abstractions
4. easy refactor wins
Return:
- top 5 issues
- severity
- suggested refactor order
이런 유형은 조사형/분석형/장시간 탐색 작업에 적합합니다.
---
개념 예를 들어,
---
name: safe-edit
description: Edit files with validation hooks
hooks,
PostToolUse,
- command: "npm run lint"
---
When editing code,
- make minimal changes
- preserve tests
- explain the diff clearly
이제 skill은 작업 후 검증 흐름까지 포함하는 실행 단위가 됩니다.
---
#### A. 지식형 skill
#### B. 작업형 skill
overview, when to use, workflow만 두고 상세 문서는 분리.
좋은 fork skill:
예:
description은 discoverability와 invocation 품질에 직접 영향을 줍니다.
---
---
name: deploy-staging
description: Deploy the app to staging after tests pass.
disable-model-invocation: true
allowed-tools: Bash(npm test), Bash(npm run build), Bash(deploy staging)
---
Deploy to staging:
1. Run tests
2. Build
3. Deploy staging
4. Verify logs and health endpoint
5. Report result
---
name: find-tech-debt
description: Find high-impact tech debt in the current repo.
context: fork
agent: Explore
---
Audit the repo for,
- duplicated logic
- giant files
- dead code
- outdated abstractions
Return top 10 items with,
- file path
- why it matters
- estimated cleanup difficulty
---
name: pr-summary
description: Summarize the current pull request for review or release notes.
context: fork
allowed-tools: Bash(gh *)
---
PR diff:
!gh pr diff
Comments:
!gh pr view --comments
Now produce:
1. summary
2. risks
3. release note
4. reviewer checklist
---
Claude Code Skills 2.0에서 중요한 건 문법 몇 개가 아니라, 스킬을 설계하는 관점이 바뀌었다는 점입니다.
이제 질문은 이렇게 바뀝니다,
결국 skill은 이제 단순 프롬프트 파일이 아니라,
를 함께 가진 구조라고 보는 게 맞습니다.
---