Claude Code Custom Command

항상 μ‚¬μš©ν•˜λŠ” promptκ°€ μžˆλ‹€λ©΄ slash command둜 λ§Œλ“€μ–΄μ„œ μ‚¬μš©ν•˜μž.

κΈ°λ³Έ slash command

  • https://code.claude.com/docs/en/slash-commands

μ»€μŠ€ν…€ slash command λ§Œλ“€κΈ°

파일 μœ„μΉ˜

  • 전체 적용 : ~/.claude/commands

  • Project 별 적용 : ν”„λ‘œμ νŠΈ 루트의 .claude/commands

μ»€λ§¨λ“œ λ§Œλ“€κΈ°

μŠ¬λž˜μ‹œ 이후에 μ“Έ μ»€λ§¨λ“œ μ΄λ¦„μœΌλ‘œ λ§ˆν¬λ‹€μš΄ νŒŒμΌμ„ λ§Œλ“ λ‹€.

mkdir -p ~/.claude/commands
echo "Review this code for security vulnerabilities:" > ~/.claude/commands/security-review.md

μ™„λ£Œ

μ‚¬μš©ν•΄λ³΄μž

/λ₯Ό μž…λ ₯ν•˜λ©΄ μ»€λ§¨λ“œκ°€ 보이고 이걸 μ„ νƒν•˜λ©΄ ν”„λ‘¬ν”„νŠΈκ°€ μ‹€ν–‰λœλ‹€.

alt text

μ‚¬μš© 방법

μ‹€μ „μ˜ˆμ œ

git commit / push command

git commit messageλ₯Ό λ§Œλ“€μ–΄μ£Όκ³  commit / push λ₯Ό ν•΄λ³΄μž.

핡심은 ν”„νΌν”„νŠΈλ₯Ό μ λ‹Ήνžˆ λ§Œλ“€λ©΄λ˜κ³  frontmatter에 modelμ΄λ‚˜ allowed-toolsλ₯Ό μ§€μ •ν• μˆ˜ μžˆλ‹€.

alt text

commandκ°€ 파일λͺ…μœΌλ‘œ λ‚˜μ˜€λŠ”κ²ƒμ„ μ•Œμˆ˜μžˆλ‹€.

alt text

ν•œκΈ€λ‘œ ν•˜κ³ μ‹ΆμœΌλ©΄ μ–Έμ–΄λ₯Ό κ³ μ •ν•˜μž.

/git λ₯Ό μž…λ ₯ν•˜λ©΄ μ•„λž˜ 선택할 창이 λ³΄μ΄λŠ”λ° git-commit이 μ„ νƒλ˜μž‡μ„κ²ƒμ΄λ‹€ μ—”ν„°λ₯Ό 치면 λ°”λ‘œ μ‹€ν–‰μ΄λ˜κ³  탭을 치면 μ»€λ§¨λ“œμ™„μ„±ν›„ μΆ”κ°€ ν”„λ‘¬ν”„νŠΈλ₯Ό μ „λ‹¬ν• μˆ˜ μžˆλ‹€.

alt text

arguments μ‚¬μš©ν•˜κΈ°

$ARGUMENTS λ³€μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ μ»€λ§¨λ“œμ— 인자λ₯Ό 전달할 수 μžˆλ‹€.

이런 λ§ˆν¬λ‹€μš΄μ„ λ§Œλ“ ν›„ λ‹€μŒμ²˜λŸΌ μ‚¬μš©ν•œλ‹€.

그러면 ν”„λ‘¬ν”„νŠΈμ— Fix issue #123 following our coding standardsκ°€ μ „λ‹¬λœλ‹€.

κ°œλ³„ arguments with $1, $2

$1, $2 등을 μ‚¬μš©ν•˜μ—¬ κ°œλ³„ μΈμžμ— μ ‘κ·Όν•  수 μžˆλ‹€.

순차적으둜 μΈμžκ°€ μ „λ‹¬λœλ‹€.

bash μ‚¬μš©

μŠ¬λž˜μ‹œ λͺ…령이 μ‹€ν–‰λ˜κΈ° 전에 !접두사λ₯Ό μ‚¬μš©ν•˜μ—¬ bash λͺ…령을 μ‹€ν–‰ν•©λ‹ˆλ‹€.

allowed-tools frontmatterλ₯Ό μ‚¬μš©ν•˜μ—¬ νŠΉμ • bash λͺ…령을 ν—ˆμš©ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

alt text

frontmatter μ‚¬μš©ν•˜κΈ°

frontmatterλ₯Ό μ‚¬μš©ν•˜μ—¬ slash command의 λ™μž‘μ„ μ œμ–΄ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

속성
μ„€λͺ…
κΈ°λ³Έκ°’

allowed-tools

μ»€λ§¨λ“œμ—μ„œ μ‚¬μš©ν•  수 μžˆλŠ” 도ꡬ λͺ©λ‘

λŒ€ν™”μ—μ„œ 상속

argument-hint

μŠ¬λž˜μ‹œ μ»€λ§¨λ“œμ— λŒ€ν•œ 인자 힌트. 예: argument-hint: add [tagId] | remove [tagId] | list. μ‚¬μš©μžκ°€ μŠ¬λž˜μ‹œ μ»€λ§¨λ“œλ₯Ό μžλ™μ™„μ„±ν•  λ•Œ ν‘œμ‹œλ¨

None

description

μ»€λ§¨λ“œμ— λŒ€ν•œ κ°„λ‹¨ν•œ μ„€λͺ…

prompt의 첫 번째 쀄을 μ‚¬μš©

model

νŠΉμ • λͺ¨λΈ λ¬Έμžμ—΄ (Models overview μ°Έμ‘°)

λŒ€ν™”μ—μ„œ 상속

disable-model-invocation

SlashCommand 도ꡬ가 이 μ»€λ§¨λ“œλ₯Ό ν˜ΈμΆœν•˜λŠ” 것을 λ°©μ§€ν• μ§€ μ—¬λΆ€

false

Example using positional arguments:

mcpλ₯Ό slash command둜 μ‚¬μš©ν•˜κΈ° (MCP μ„œλ²„κ°€ promptsλ₯Ό μ œκ³΅ν•  λ•Œ)

tool만 μ œκ³΅ν•˜λ©΄ 이게 μ•ˆλ¨

보톡 μžλ™μœΌλ‘œ 싀행됨.

μ˜ˆμ‹œ

μžλ™μœΌλ‘œ 싀행됨

Claudeκ°€ μžλ™μœΌλ‘œ slash commandλ₯Ό μ‹€ν–‰ν•  수 μžˆλ‹€.

μžλ™ μ‹€ν–‰ 쑰건

  • skill의 description에 λͺ…ν™•ν•œ 트리거 ν‚€μ›Œλ“œ 포함

  • λŒ€ν™” λ¬Έλ§₯κ³Ό skill μ„€λͺ…이 맀칭될 λ•Œ

μžλ™ μ‹€ν–‰ μ˜ˆμ‹œ

μ‚¬μš©μžκ°€ "How does this code work?"라고 물으면, Claudeκ°€ μžλ™μœΌλ‘œ 이 skill을 μ‹€ν–‰ν•œλ‹€.

μžλ™ μ‹€ν–‰ 막기

λ°°ν¬λ‚˜ μ»€λ°‹μ²˜λŸΌ λΆ€μž‘μš©μ΄ μžˆλŠ” μž‘μ—…μ€ μžλ™ 싀행을 λ§‰λŠ” 것이 μ’‹λ‹€.

frontmatter에 λ‹€μŒμ„ μΆ”κ°€:

slash command vs skills

μŠ¬λž˜μ‹œ λͺ…λ Ήμ–΄ (Slash Commands)

μ‚¬μš© λŒ€μƒ: λΉ λ₯΄κ³  자주 μ‚¬μš©ν•˜λŠ” ν”„λ‘¬ν”„νŠΈ

νŠΉμ§•:

  • κ°„λ‹¨ν•œ ν”„λ‘¬ν”„νŠΈ μŠ€λ‹ˆνŽ«

  • λΉ λ₯Έ 미리 μ•Œλ¦Ό λ˜λŠ” ν…œν”Œλ¦Ώ

  • ν•œ νŒŒμΌμ— λ§žλŠ” 자주 μ‚¬μš©ν•˜λŠ” μ§€μΉ¨

μ˜ˆμ‹œ:

  • /review β†’ "Review this code for bugs and suggest improvements"

  • /explain β†’ "Explain this code in simple terms"

  • /optimize β†’ "Analyze this code for performance issues"

μŠ€ν‚¬ (Skills)

μ‚¬μš© λŒ€μƒ: ꡬ쑰가 μžˆλŠ” 포괄적인 κΈ°λŠ₯

νŠΉμ§•:

  • μ—¬λŸ¬ 단계가 μžˆλŠ” λ³΅μž‘ν•œ μ›Œν¬ν”Œλ‘œμš°

  • 슀크립트 λ˜λŠ” μœ ν‹Έλ¦¬ν‹°κ°€ ν•„μš”ν•œ κΈ°λŠ₯

  • μ—¬λŸ¬ νŒŒμΌμ— 걸쳐 κ΅¬μ„±λœ 지식

  • ν‘œμ€€ν™”ν•˜λ €λŠ” νŒ€ μ›Œν¬ν”Œλ‘œμš°

μ˜ˆμ‹œ:

  • 양식 μž‘μ„± 슀크립트 및 검증이 μžˆλŠ” PDF 처리 μŠ€ν‚¬

  • λ‹€μ–‘ν•œ 데이터 μœ ν˜•μ— λŒ€ν•œ μ°Έμ‘° λ¬Έμ„œκ°€ μžˆλŠ” 데이터 뢄석 μŠ€ν‚¬

  • μŠ€νƒ€μΌ κ°€μ΄λ“œ 및 ν…œν”Œλ¦Ώμ΄ μžˆλŠ” λ¬Έμ„œ μŠ€ν‚¬

μ£Όμš” 차이점

μΈ‘λ©΄
μŠ¬λž˜μ‹œ λͺ…λ Ήμ–΄
μ—μ΄μ „νŠΈ μŠ€ν‚¬

λ³΅μž‘μ„±

κ°„λ‹¨ν•œ ν”„λ‘¬ν”„νŠΈ

λ³΅μž‘ν•œ κΈ°λŠ₯

ꡬ쑰

단일 .md 파일

SKILL.md + λ¦¬μ†ŒμŠ€κ°€ μžˆλŠ” 디렉토리

발견

λͺ…μ‹œμ  호좜 (/command)

μžλ™ (μ»¨ν…μŠ€νŠΈ 기반)

파일

ν•œ 파일만

μ—¬λŸ¬ 파일, 슀크립트, ν…œν”Œλ¦Ώ

예제 비ꡐ

μŠ¬λž˜μ‹œ λͺ…λ Ήμ–΄λ‘œ

파일 ꡬ쑰:

λ‚΄μš©:

μ‚¬μš©λ²•: /review (μˆ˜λ™ 호좜)

skill

파일 ꡬ쑰:

μ‚¬μš©λ²•: "Can you review this code?" (μžλ™ 발견)

κ²°λ‘ : μŠ€ν‚¬μ€ 더 ν’λΆ€ν•œ μ»¨ν…μŠ€νŠΈ, 검증 슀크립트 및 κ΅¬μ„±λœ μ°Έμ‘° 자료λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.

λ‚˜μ˜ κ²°λ‘ 

λ‚˜λŠ” 아직 잘 ꡬ뢄이 μ•ˆλ¨. /commandλŠ” 항상 λ‚΄κ°€ ν•„μš”ν• λ•Œ κ°•μ œλ‘œ μš”μ²­ claudeκ°€ μžλ™μœΌλ‘œ 이걸 μ‚¬μš©ν•˜λ©΄ skills와 λΉ„μŠ·ν•œκ±°κ°™μŒ.

λ‘˜λ‹€ λΉ„μŠ·ν•œκ±°κ°™μŒ.

Last updated