같은 지시를 매번 치기 싫다
파일 한 장이면 /명령 하나가 생긴다. 커스텀 명령은 스킬로 통합됐다.
.claude/commands/deploy.md 와 .claude/skills/deploy/SKILL.md 는 둘 다 /deploy 를 만들고 동작이 같다. 전자는 파일명이, 후자는 디렉터리명이 호출 이름이 된다. 개인·프로젝트 스킬에서 frontmatter의 name 은 표시 라벨일 뿐 호출 이름이 아니다.
1. 파일 한 장을 만든다
프로젝트 전용이면 .claude/commands/, 어디서나 쓰려면 ~/.claude/commands/. 본문에 지시를 쓰고 인자 자리에 $ARGUMENTS 를 둔다.
---
description: 스테이징된 변경의 회귀 위험을 정리한다
argument-hint: "[diff 범위]"
---
$ARGUMENTS 범위의 변경만 보고 되돌릴 확률이 높은 순서로 정리해줘.
항목마다 (1) 어떤 입력에서 깨지는가 (2) 재현 명령 한 줄 (3) 넘어가도 되는 근거를 적어.
파일은 고치지 말고 목록만 내놔.
.claude/commands/*.md — 커스텀 슬래시 명령어 · Claude Code CLI예: .claude/commands/deploy.md → /deploy 로 호출 — 커스텀 슬래시 명령어 만들기 · 슬래시 · 플러그인
2. 인자를 여러 개 받는다
$ARGUMENTS 는 전체, $1·$2 는 위치 인자, frontmatter에 arguments: [issue, branch] 를 선언하면 $issue·$branch 로 이름을 붙여 쓴다. 리터럴 달러는 \$ 로 이스케이프한다.
3. 잘 도는지 확인한다
세션에서 /help 를 치면 목록에 뜬다. 안 뜨면 파일 위치나 frontmatter 문법 문제다.
4. 팀이나 다른 기기와 공유한다
프로젝트 디렉터리째 커밋하면 그대로 공유된다. 더 넓게 배포하려면 플러그인으로 묶는다.
Hooks — Hooks & 플러그인 · Claude Code CLIProject — 플러그인 스코프 & 관리 · 슬래시 · 플러그인
주의
Claude Code는 frontmatter 키 20개를 받지만 claude.ai 업로드·Skills API 경로는 name, description, license, compatibility, metadata, allowed-tools 6개만 받고 그 외 키가 있으면 무시가 아니라 실패한다. 밖으로 내보낼 파일이면 6개로 제한할 것.
관련 프롬프트
데이터 src/_data/tasks/ship-a-reusable-command.yaml
틀린 게 있으면 이 파일을 고치면 사이트·검색·치트시트가 같이 바뀐다.