토큰 소진 시 Copilot CLI 로 이어가기
Claude Pro 토큰을 다 썼을 때 GitHub Copilot CLI 로 개인 프로젝트를 이어가는 방법을 안내합니다
Overview
강의 후반부 개인 프로젝트 시간에 Claude Pro 5시간 토큰 한도를 소진해 진도를 멈추는 사례가 자주 발생합니다. 회사에서 GitHub Copilot 구독을 이미 보유한 분이라면, 같은 프로젝트 디렉터리에서 GitHub Copilot CLI 로 갈아타 실습을 이어갈 수 있습니다.
이 페이지는 토큰이 고갈된 그 자리에서 빠르게 전환하기 위한 안내입니다. 핵심은 두 가지입니다.
- 프로젝트 루트의
CLAUDE.md와.claude/skills/는 Copilot CLI 가 그대로 인식합니다 .claude/agents/와.claude/commands/는 인식 경로가 다르므로 한 번씩 옮겨두면 됩니다
빠른 시작
터미널에서 다음 한 줄로 설치합니다. Node 22 이상이 필요합니다.
npm install -g @github/copilot설치되면 copilot 으로 실행하고, 첫 화면에서 /login 을 입력해 회사에서 Copilot 구독을 받은 GitHub 계정 으로 로그인합니다. 개인 계정으로 로그인하면 회사 구독이 적용되지 않으니, 두 계정을 같이 쓰고 있다면 회사 계정을 선택해야 합니다.
copilot패키지 매니저로도 설치할 수 있습니다.
# macOS
brew install copilot-cli
# Windows
winget install GitHub.Copilot설치한 뒤에는 강의 자료 디렉터리로 이동해 그대로 copilot 을 실행하면 됩니다.
그대로 동작하는 것
Claude Code 자료를 거의 그대로 재사용할 수 있습니다
프로젝트 루트의 CLAUDE.md 와 .claude/skills/ 는 GitHub Copilot CLI 의 공식 인식 경로에 포함되어 있어 별도 변환 없이 동작합니다.
| 기능 | Copilot CLI 에서의 동작 |
|---|---|
프로젝트 CLAUDE.md | 자동 로드 |
.claude/skills/<name>/SKILL.md | 자동 로드 (공식 문서 에 인식 경로 명시) |
| MCP 서버 | ~/.copilot/mcp-config.json 에 정의, /mcp add 로 추가 |
| Plan Mode | Shift+Tab 으로 토글 |
| 세션 재개 | --resume, --continue, /resume |
| IDE 연결 | /ide |
| 모델 선택 | Sonnet 4.5/4.6, Opus 4.5/4.6/4.7, Haiku 4.5 — /model 또는 --model |
주의해야 할 차이
1. 커스텀 슬래시 커맨드 (.claude/commands/) — 미지원
Copilot CLI 는 사용자 정의 슬래시 커맨드 메커니즘이 없습니다. 강의에서 만든 .claude/commands/<name>.md 파일은 그대로 두면 인식되지 않습니다.
대신 Skill 로 변환합니다. .claude/skills/ 는 Copilot CLI 의 공식 인식 경로이므로 다음 형태로 옮기면 같은 효과를 얻습니다.
# 변환 전: .claude/commands/review-pr.md
# 변환 후: .claude/skills/review-pr/SKILL.md
mkdir -p .claude/skills/review-pr
mv .claude/commands/review-pr.md .claude/skills/review-pr/SKILL.md호출 방식도 동일하게 /review-pr 입니다. SKILL.md 의 frontmatter 에 name, description, allowed-tools 가 들어가는지만 점검합니다.
2. 서브에이전트 (.claude/agents/) — 인식 안 됨
Copilot CLI 의 에이전트 인식 경로는 .github/agents/ 와 ~/.copilot/agents/ 두 곳입니다. .claude/agents/ 는 공식 문서 어디에도 등장하지 않으며, 실제 동작도 하지 않습니다.
복사 한 줄로 이전합니다. 확장자는 .md 그대로도 인식되며, .agent.md 로 바꿔도 됩니다.
mkdir -p .github/agents
cp .claude/agents/*.md .github/agents/호출은 /agent <name> 또는 자연어 위임으로 동일합니다.
3. Hooks — 양쪽에 있지만 스키마가 다름
Hooks 기능 자체는 양쪽에 있으나, 파일 위치·이벤트명·스키마 구조가 모두 달라 그대로 옮길 수 없습니다. 강의에서 hooks 를 만들었다면 새로 작성해야 합니다.
| 항목 | Claude Code | Copilot CLI |
|---|---|---|
| 파일 위치 | .claude/settings.json 의 hooks 블록 | 별도 hooks.json 파일 |
| 이벤트명 표기 | PascalCase (PreToolUse, SessionStart) | camelCase (preToolUse, sessionStart) |
| 이벤트 종류 | 약 29개 | 6개 (sessionStart, sessionEnd, userPromptSubmitted, preToolUse, postToolUse, errorOccurred) |
| 스키마 구조 | matcher 그룹 중첩 | 평탄한 hook 배열 |
| 셸 명령 필드 | command | bash 또는 powershell |
| 타임아웃 필드 | timeout | timeoutSec |
| 훅 타입 | command / http / mcp_tool / prompt / agent | command 만 |
대응 이벤트가 없는 경우 (Stop, Notification, SubagentStart 등) 는 옮길 수 없습니다. 개인 프로젝트 시간에는 보통 hooks 까지 손대는 경우가 드물어 무시해도 무방하지만, hooks 에 의존하는 워크플로우가 있다면 위 표를 참고해 다시 짜셔야 합니다.
자동 변환
수동으로 하나씩 옮기는 대신 다음 한 줄로 끝납니다.
/migrate-to-copilot호출- 발견된 항목 확인 (commands, agents, hooks)
- 변환 결과 통계 확인 (변환된 개수, 스킵된 수, 드롭 항목 등)
토큰 소진 후에는 작동 안 하므로 개인 프로젝트 시작 전에 실행 필수입니다.