01실습업무실전 투입만든 스킬을 실제 업무 자료로 한 번 돌리고, 통과한 지점과 손댄 지점을 workflow.md에 기록할 수 있습니다내용 열기내용 접기
예제가 아니라 실제 자료 한 건으로 돌려야 어긋나는 규칙을 찾을 수 있습니다
자료 한 건을 골라 스킬을 한 번 실행합니다.
여러 건을 한꺼번에 돌리면 어디서 어긋났는지 찾기 어려우므로 처음에는 한 건만 봅니다.
나온 출력을 workflow.md에 적어 둔 출력 기준과 대조합니다.
기준과 맞는 부분이 통과한 지점이고, 사람이 다시 손댄 부분이 아직 못 맡기는 지점입니다.
두 가지를 나눠 적어 두면 다음에 무엇을 고칠지가 남습니다.
첫 실행은 발송이나 공개 단계에 바로 걸지 말고, 출력만 만들어 두고 사람이 확인한 뒤 내보냅니다.
순서의 각 단계 아래 붙여넣기 예제가 있습니다. 위에서부터 하나씩 실행해 보세요.
실제 업무 자료 한 건을 고릅니다.
스킬을 그 자료로 한 번 실행합니다.
[스킬 이름]을 이 자료로 한 번 실행해 줘. 결과를 내보내지 말고 출력만 만들어 줘.
확인스킬이 실행되고, 출력만 만들어집니다.
나온 출력을 workflow.md의 출력 기준과 대조합니다.
방금 만든 출력을 workflow.md의 출력 기준과 대조해서 두 가지로 나눠 정리해 줘.
- 기준과 맞은 지점
- 내가 다시 손대야 하는 지점
확인출력이 기준과 맞은 지점과 손대야 하는 지점, 두 가지로 나뉘어 정리됩니다.
사람이 손댄 지점을 적습니다.
다음에 고칠 것 하나를 정해 workflow.md에 남깁니다.
지금까지 나온 손댄 지점 중에서 다음에 고칠 것 하나를 골라서, 이유와 함께 workflow.md에 추가해 줘.
확인다음에 고칠 것 하나가 이유와 함께 workflow.md에 추가됩니다.
연습
같은 스킬을 다음 주 자료로 한 번 더 돌려 보고, 손대는 지점이 줄었는지 확인해 보세요.
실제 자료로 한 번 돌린 결과가 있고, workflow.md에 통과한 지점과 손댄 지점이 나뉘어 적혀 있으면 통과입니다.
알아두면 좋습니다
첫 실행을 발송, 결제, 공개처럼 되돌리기 어려운 단계에 바로 걸지 말고, 출력만 만들어 두고 사람이 확인한 뒤 내보냅니다. 실습에 회사 자료를 쓸 때는 사내 기밀 문서 원문과 고객·직원 개인정보를 넣지 않고, 업무 빈도나 자료의 종류처럼 일반화한 정보로 바꿔 씁니다. 결과가 기대와 다르다고 스킬을 통째로 다시 쓰지 않습니다. 손댄 지점 하나를 고치고 다시 돌리는 편이 무엇이 효과가 있었는지 알기 쉽습니다.
03실습Deploy배포했다는 말과 화면이 살아 있는 것배포 뒤에 파일 수와 실제 화면을 직접 확인해서, 조용히 빠진 파일을 잡아낼 수 있습니다내용 열기내용 접기
배포가 성공했다고 나와도 화면이 죽어 있을 수 있습니다. 저장소에 없는 파일이 조용히 빠지는 경우가 그렇습니다.
왜 대조가 통과하는데 화면이 깨지납니다
배포 전후를 비교할 때 흔히 파일을 하나씩 맞춰 봅니다. 그런데 이 방식은 양쪽에 다 있는 파일만 봅니다. 한쪽에서 통째로 사라진 파일은 비교 대상에 들어가지도 않아서 전부 일치로 나옵니다.
실제로 이런 일이 있었습니다. 배포한 사이트의 이미지 파일 2,768개가 빠졌는데, 남은 파일끼리의 대조는 전부 일치였습니다. 화면을 열고 나서야 리포트 이미지가 전부 깨진 걸 알았습니다. 원인은 그 폴더의 .gitignore에 이미지 폴더가 적혀 있어서, 저장소에서 새로 내려받은 복사본에는 애초에 그 파일이 없었던 것이었습니다.
그래서 개수를 세는 확인이 따로 필요합니다. 직전 배포보다 파일이 수백 개 줄었으면 그 자리에서 멈춥니다.
반대 방향도 있습니다
자산이 다 있는 폴더에서 배포했는데 이번엔 코드가 옛날 것일 수 있습니다. 같은 사이트에서 며칠 전 상태로 되돌아가 버린 일이 있었습니다. 배포에 쓴 폴더가 최신보다 365커밋 뒤에 있었기 때문입니다.
배포할 폴더는 두 가지를 동시에 만족해야 합니다.
코드가 최신인가
저장소에 없는 자산이 갖춰져 있는가
한 폴더가 둘 다 못 채우면, 최신 코드를 받아 놓고 빠진 자산을 복사해 넣은 다음 거기서 배포합니다.
마지막은 눈으로
숫자와 목록으로 하는 확인은 여기까지입니다. 마지막에는 주소를 열어서 이미지가 뜨는지, 링크가 열리는지 직접 봅니다. 직전 배포와 비교하는 검사만 믿으면, 한 번 잘못 나간 상태가 다음번의 기준이 돼서 계속 통과합니다.
배포하기 전에 배포할 폴더의 `.gitignore`를 엽니다. 여기 적힌 파일은 저장소에 없어서, 깨끗한 복사본에서 배포하면 따라오지 않습니다.
배포에 쓰는 폴더가 최신인지 확인합니다. 자산이 다 있어도 코드가 며칠 전 것이면 옛 화면이 나갑니다.
배포 뒤에 올라간 파일 개수를 직전 배포와 비교합니다. 수백 개가 줄었으면 멈추고 원인을 찾습니다.
마지막에 실제 주소를 브라우저로 열어, 이미지가 뜨는지, 링크가 열리는지 눈으로 봅니다.
연습
최근에 배포한 사이트가 있으면 주소를 직접 열어 이미지가 전부 뜨는지 보세요. 목록에서 하나를 골라 클릭까지 해 보면 더 정확합니다.
배포가 성공했다는 표시만 보고 끝냈는지, 주소를 열어 봤는지 답할 수 있으면 통과입니다.
알아두면 좋습니다
배포 전후 파일을 하나씩 대조해도 없어진 파일은 안 잡힙니다. 비교 대상이 남아 있는 파일뿐이기 때문입니다. 개수를 세야 잡힙니다. 직전 배포와 비교하는 검사도 한 번 잘못 나가면 그 잘못된 상태가 다음 비교의 기준이 됩니다. 그래서 화면을 직접 여는 확인이 마지막에 필요합니다.
저장소에 올라간 파일만 새로 내려받은 폴더입니다. 내 컴퓨터에만 있던 파일은 여기에 없습니다.
04실습HooksHooks — 자동 검수Hooks로 포맷·테스트 같은 검수를 자동으로 실행할 수 있습니다내용 열기내용 접기
Hooks에 포맷과 테스트를 걸어 두면 파일이 바뀔 때마다 같은 검사가 자동으로 실행됩니다
Skill로 절차를 정리해 두어도, 그 절차 끝에 항상 붙는 검사(포맷·테스트·오탈자)는 여전히 사람이 기억해서 실행해야 합니다. 파일을 여러 개 고치는 세션에서는 마지막에 검사를 깜빡하기 쉽고, 깜빡한 검사는 결과물에 그대로 남습니다.
Hooks는 정해진 시점에 지정한 명령을 자동으로 실행하는 장치입니다. CLAUDE.md가 Claude에게 참고할 규칙을 전달한다면, Hook은 조건을 검사할 시점과 실패했을 때의 동작을 정합니다. 대표적인 시점은 다음과 같습니다.
PreToolUse — 도구 실행 전
PostToolUse — 도구 실행 후
SessionStart — 세션 시작 시
저장 자체를 막아야 하면 PreToolUse를 사용합니다. PostToolUse는 파일이 바뀐 뒤에 실행되므로 이미 끝난 수정을 되돌리지 못하고 검사 결과만 알려 줍니다.
.claude/settings.json에 등록해 두면 그 시점이 올 때마다 사람이 매번 확인 요청을 하지 않아도 등록해 둔 명령이 실행됩니다. 등록한 목록은 /hooks 명령으로 볼 수 있지만 이 명령은 읽기 전용 브라우징이고, 수정은 설정 파일을 직접 고치거나 Claude에게 요청해서 합니다.
개발 직군만 쓰는 기능은 아닙니다.
문서를 작성하는 직군이라면 파일을 저장할 때마다 포맷·오탈자 검사 스크립트가 자동 실행되게 걸어 둘 수 있습니다.
기획서를 다루는 직군이라면 필수 항목이 빠졌는지 확인하는 검사를 같은 방식으로 걸 수 있습니다.
Hook을 검수가 아니라 실행 자체에 쓰는 방식은 피합니다. commit 직후 배포까지 자동으로 이어지는 Hook을 걸어 두면, 검수를 통과하지 못한 변경도 그대로 나갈 수 있습니다. Hook은 확인 절차를 자동화하는 데 쓰고, 실행 여부의 최종 판단은 사람에게 남겨 둡니다.
등록만 확인하고 끝내면 실제로 막는지 알 수 없습니다. 일부러 조건을 어긴 입력과 정상 입력을 하나씩 실행합니다. 명령형·HTTP형 Hook이 제한 시간을 넘긴 경우에는 기본 흐름이 계속될 수 있으므로 통과로 기록하지 않습니다.
순서 아래 실행 요청을 그대로 붙여넣어, 금칙어가 든 파일은 저장 전에 막히고 정상 파일은 저장되는지 확인해 보세요.
자동화할 검사를 하나 고릅니다 — 포맷터·문서 검사처럼 되돌리기 쉬운 것부터 시작합니다.
.claude/settings.json에 Hook을 등록합니다.
실행 시점(이벤트)을 지정합니다 — 도구 실행 전(PreToolUse), 도구 실행 후(PostToolUse), 세션 시작 시(SessionStart) 등입니다.
일부러 조건을 어긴 파일과 정상 파일을 각각 저장해, 차단과 통과가 모두 동작하는지 확인합니다.
/hooks 명령으로 등록된 Hook 목록을 확인합니다 — 읽기 전용 브라우징이며, 수정은 설정 파일에서 합니다.
연습
hook을 건 뒤 파일을 실제로 하나 고쳐, 검사가 자동으로 실행되는지 확인해 보세요.
조건을 어긴 입력은 실제로 막히고 정상 입력은 통과하면 됩니다. 제한 시간 초과나 Hook 오류로 검사가 끝나지 않은 경우는 통과로 세지 않습니다.
알아두면 좋습니다
Hook 스크립트에 실행 권한이 없거나 명령 경로가 틀리면 검사 자체가 실패합니다. PostToolUse는 이미 끝난 파일 수정을 되돌릴 수 없으며, 명령형·HTTP형 Hook이 제한 시간을 넘기면 기본 흐름이 계속될 수 있습니다. 실패 입력과 정상 입력을 각각 실행하고, 삭제·배포·결제·메시지 발송은 초보자 Hook에 넣지 않습니다.
위임 문장에 기준을 담지 않고 통째로 넘기는 방식은 피합니다. “알아서 해줘” 식 요청은 실행 담당이 임의로 채운 부분이 나중에 재작업으로 돌아옵니다. 위임할 때는 원하는 형식·범위·완료 조건을 문장에 넣습니다.
순서의 각 단계 아래 붙여넣기 예제가 있습니다. 위에서부터 하나씩 실행해 보세요.
지금 하는 작업을 판단(설계·검수)과 실행(반복·생성)으로 나눕니다.
지금 내가 하려는 작업을 판단(설계·리뷰)과 실행(반복·보일러플레이트) 두 갈래로 나눠서 표로 보여줘. 판단 쪽은 내가 직접 하고, 실행 쪽은 네가 서브에이전트나 가벼운 모델로 처리할 수 있는지도 같이 짚어 줘.
---
작업: 랜딩페이지 카피 초안을 5개 버전으로 뽑고, 그중 톤이 가장 잘 맞는 걸 골라야 함
확인판단/실행 두 갈래로 나뉜 표가 나오고, 초안 5개 버전을 뽑는 실행 부분은 서브에이전트나 가벼운 모델에, 톤을 고르는 판단은 직접 하도록 짚어집니다.
실행 몫을 맡길 서브에이전트를 정하고, 정의 파일의 model 필드를 sonnet·opus·haiku 중 필요한 것으로 지정합니다.
방금 나눈 실행 몫을 맡을 서브에이전트를 하나 만들어 줘. 정의 파일의 model 필드는 이 작업 난이도에 맞게 sonnet·opus·haiku 중에서 골라 지정해 줘.
확인서브에이전트 정의 파일이 만들어지고, model 필드에 작업 난이도에 맞는 모델이 지정됩니다.
위임 문장에 원하는 형식과 완료 조건을 명시해 요청합니다.
실행 담당이 낸 결과를 판단 담당이 검수합니다.
방금 서브에이전트가 낸 결과를 검수해 줘. 처음에 정한 형식과 완료 조건에 맞는지 확인해 줘.
확인결과가 처음 정한 형식과 완료 조건에 맞는지 확인되고, 어긋난 지점이 있으면 짚어집니다.
터미널·IDE·데스크톱 등 어디서 작업해도 CLAUDE.md·설정·MCP 연결은 다시 맞추지 않고 그대로 씁니다.
연습
위임한 결과를 받으면, 판단 담당인 본인이 원하는 기준에 맞는지 검수해 보세요.
판단이 필요한 부분과 반복 실행 부분을 구분해 다른 실행 주체에 나눠 맡길 수 있으면 통과입니다.
알아두면 좋습니다
위임 문장에 기준과 완료 조건을 담지 않으면, 실행 담당이 임의로 판단해 다시 고쳐야 하는 결과가 나옵니다. 이때는 원하는 형식과 범위를 문장에 명시해 재작업을 줄입니다. 짧은 일까지 전부 위임하면 왕복 비용이 직접 하는 것보다 커지고 검수할 사람도 사라지니, 판단이 필요한 만큼만 남기고 나머지만 넘깁니다.
Set up Higgsfield for me so I can generate images and videos from here.
1. Install the CLI: run `npm i -g @higgsfield/cli`.
2. Authenticate: run `higgsfield auth login` and complete the sign-in in the browser it opens.
3. Install the companion skills: run `npx skills add higgsfield-ai/skills`.
Once that's done, let me know when it's ready.
Higgsfield를 연결한 뒤 생성하지 않은 상태에서 잔여 크레딧과 예상 크레딧 확인 명령을 각각 한 번 확인합니다.
Claude에서 Higgsfield 연결 상태를 확인하고, 생성 없이 잔여 크레딧과 한 숏의 예상 크레딧을 확인할 수 있으면 통과입니다.
알아두면 좋습니다
Higgsfield 공식 페이지는 Claude 웹·데스크톱 앱에는 MCP 연결을, Claude Code에는 CLI 설치를 안내합니다. 둘을 한꺼번에 설치할 필요는 없습니다. 사용자 지정 커넥터에 API 키나 OAuth 시크릿을 직접 적지 않습니다. `generate cost`와 `generate create`는 이름이 비슷하지만, 앞의 명령은 예상 비용만 계산하고 뒤의 명령은 실제 크레딧을 씁니다.
예시 화면 Claude의 커스텀 커넥터 입력창에 이름과 공식 MCP 주소를 적은 화면입니다.
07실습비용유료 실행 전에 확인하기크레딧이나 요금이 나가는 실행을 걸기 전에 무엇을 몇 건 만들고 얼마가 나갈지 여섯 줄로 적어 확인받을 수 있습니다내용 열기내용 접기
이미지 생성과 영상 생성은 실행할 때마다 크레딧이 차감되고, 텍스트 대화와 달리 결과를 보고 다시 실행하면 그만큼 또 차감됩니다.
여섯 줄로 적습니다
실행 직전에 이만큼만 적으면 됩니다.
줄
적을 것
예
도구
무엇으로 만드는지
힉스필드
건수
무엇을 몇 개
마감 컷 6구간 × 2번씩
단가
한 건당
8크레딧
합계
이번 실행
약 96크레딧
누적
오늘 지금까지
160크레딧
잔액
남은 것
약 929크레딧
여섯 줄을 다 채우지 못해도 괜찮습니다. 모르는 줄은 모른다고 적으면 그 자체가 확인할 지점이 됩니다.
적어 두는 것은 승인이 아닙니다
브리프를 적어 놓고 바로 실행하면 승인을 받은 것이 아닙니다. 적은 다음에 진행할지 물어보고, 답을 듣고 실행합니다.
건수도 마찬가지입니다. 한 장을 만들어 달라고 했는데 세 장을 뽑아 놓고 고르라고 하면, 두 장은 묻지 않고 쓴 돈입니다. 같은 요청으로 여러 장을 만드는 것도 따로 묻습니다.
실행 뒤에 실제 값을 적습니다
끝나면 같은 자리에 실제로 나간 값을 적습니다. 예상과 다르면 다음번 단가를 고칩니다. 이걸 몇 번 반복하면 브리프의 숫자가 실제와 가까워져서, 나중에는 적는 데 몇 초밖에 안 걸립니다.
자동 실행은 상한을 같이 정합니다
사람이 보고 있지 않은 상태로 반복 실행되는 설정은 위험이 다릅니다. 한 번 걸어 두면 잘못된 조건에서도 계속 돌아갑니다. 이런 설정을 만들 때는 실행 횟수나 하루 상한을 함께 정해 두세요.
실행하기 전에 여섯 줄을 적습니다. 도구 이름, 무엇을 몇 건 만드는지, 한 건당 비용, 이번 실행 합계, 지금까지 누적, 남은 잔액입니다.
적은 여섯 줄을 사람에게 보여 주고 진행 여부를 확인받습니다. 적어 둔 것만으로는 승인이 아닙니다.
승인받은 건수만큼만 실행합니다. 같은 요청으로 두 장 이상 뽑는 것도 따로 묻습니다.
실행이 끝나면 같은 자리에 실제로 나간 비용을 적습니다. 예상과 다르면 다음 브리프의 한 건당 비용을 고칩니다.
연습
다음에 이미지 한 장을 만들 때, 누르기 전에 여섯 줄을 먼저 적어 보세요. 적고 나서 정말 그 건수가 필요한지 다시 보면 대개 줄어듭니다.
마지막으로 유료 실행을 하기 전에 몇 건에 얼마가 나갈지 미리 알고 있었는지 답할 수 있으면 통과입니다.
알아두면 좋습니다
예상 비용을 적어 두는 것과 승인을 받는 것은 다른 일입니다. 적어만 두고 진행하면 승인 없이 쓴 것입니다. 수정 요청도 크레딧이 다시 차감되므로 한 번 더 묻습니다. 자동으로 반복 실행되는 설정은 한 번 걸어 두면 지켜보지 않는 사이에도 계속 차감되므로, 실행 횟수 상한을 함께 정합니다.
runbook 초안이 나오면, 다음 세션에 실제로 그 순서로 시작할 수 있는지 훑어보세요.
runbook을 보고 다음 세션을 시작할 수 있고, 한 가지 개선점을 회고에 적었으면 통과입니다.
알아두면 좋습니다
회고 없이 절차만 쌓이면 runbook이 실제 작업 방식과 어긋난 채로 낡습니다. 이때는 세션을 마칠 때마다 어디서 막혔는지 한 줄을 남기고, 그 기록으로 정기적으로 갱신합니다. runbook이 한 페이지를 넘어가면 끝까지 읽히지 않아 지켜지지 않으니, 분량이 늘면 자주 쓰는 절차만 남기고 나머지는 정리합니다.
09실습Headless창 없이 한 번에 실행하기대화창을 열지 않고 요청 하나를 실행해 결과를 파일로 받을 수 있습니다내용 열기내용 접기
대화 세션은 사람이 중간에 판단해야 할 때 값이 있습니다. 반대로 요청이 매번 똑같고 결과 형태도 정해져 있으면, 세션을 여는 것부터 답을 복사해 붙여넣는 것까지가 전부 반복 비용이 됩니다.
claude 명령에 -p를 붙이면 대화창을 열지 않고 요청 하나를 실행합니다. 답은 대화 기록이 아니라 터미널 출력으로 나오고, 실행이 끝나면 세션이 닫힙니다. 결과를 파일로 넘기거나 다른 프로그램에 이어 붙일 수 있어서, 정해진 검사를 저장소에 올릴 때마다 자동으로 돌리는 CI 같은 자리에 씁니다.
이 단계는 이 코스에서 명령어를 피하기 어려운 몇 안 되는 지점입니다. 데스크탑 앱에는 같은 기능이 없고, 실행 자체가 명령 한 줄이기 때문입니다. 대신 외울 것은 세 조각뿐입니다. 요청 문장, 미리 승인할 도구, 결과를 어디로 보낼지입니다.
미리 승인하는 도구는 좁게 잡습니다
대화 세션에서는 파일을 고치거나 명령을 실행하기 전에 확인 창이 뜹니다. -p 실행에는 그 창이 없으므로, 승인이 필요한 지점에 닿으면 거기서 멈춥니다. --allowedTools로 미리 승인해 두면 멈추지 않고 끝까지 진행합니다.
여기서 넓게 잡으면 확인 없이 실행되는 범위가 그만큼 넓어집니다. 읽어서 정리하는 일이라면 Read 하나로 충분하고, 파일을 고쳐야 할 때 Edit을 더합니다. Bash는 명령을 직접 실행하는 도구라, 초보 단계의 자동 실행에는 넣지 않습니다.
내가 만들지 않은 폴더에서는 —bare를 붙입니다
-p 세션에는 폴더를 신뢰하겠냐고 묻는 창이 뜨지 않습니다. 그래서 옵션 없이 실행하면 그 폴더의 .claude/settings.json에 등록된 Hook이 그대로 실행되고, .mcp.json에 적힌 서버에도 연결됩니다. 내려받은 저장소나 남에게 받은 폴더에서 이 점이 문제가 됩니다.
--bare를 붙이면 Hook·스킬·플러그인·MCP 서버·CLAUDE.md를 모두 읽지 않고 실행합니다. 어느 컴퓨터에서 돌려도 같은 결과가 나오므로, 저장소를 처음 열어 볼 때와 CI에서 검사를 돌릴 때 함께 씁니다.
성공 여부는 종료 코드로 확인합니다
화면에 답이 나왔다고 해서 성공한 것은 아닙니다. 실행이 실패하면 Claude Code는 0이 아닌 종료 코드를 남기고, 인증이 빠진 경우처럼 실행 도중 생긴 실패는 결과 자리에 그대로 출력합니다. 명령을 이어 붙이거나 자동으로 돌릴 때는 종료 코드를 기준으로 다음 동작을 정합니다.
순서 아래 명령을 그대로 붙여넣어, 결과 파일이 실제로 만들어지는지 확인해 보세요.
한 번에 끝낼 요청 하나를 문장으로 정합니다. 결과가 화면 출력이나 파일로 남는 일만 고르고, 중간에 사람에게 되물어야 하는 일은 대화 세션에 남겨 둡니다.
작업할 폴더로 이동한 뒤 요청을 붙여 실행합니다. 답이 대화창 대신 터미널에 바로 출력됩니다.
명령어로 직접 하기
일반 터미널에서 실행합니다. Claude Code 세션 안이 아닙니다. -p는 --print의 짧은 형태이고, 실행이 끝나면 세션이 그대로 닫힙니다.
claude -p "이 폴더의 README를 읽고 핵심을 다섯 줄로 요약해 줘"
쓸 도구를 미리 지정합니다. 지정하지 않으면 실행 도중 승인 창이 필요한 지점에서 멈춥니다.
명령어로 직접 하기
미리 승인한 도구는 실행 중 확인 없이 쓰입니다. 읽기만 필요하면 Read만 넣고, 파일을 고치거나 명령을 실행하는 도구는 필요한 것만 하나씩 추가합니다.
claude -p "이 폴더의 문서 목록을 표로 정리해 줘" --allowedTools "Read"
결과를 파일로 받습니다. 화면에 흘려보내지 않고 남겨야 다음 작업에서 쓸 수 있습니다.
명령어로 직접 하기
> 뒤에 적은 이름으로 파일이 새로 만들어집니다. 같은 이름이 이미 있으면 덮어쓰므로 새 이름을 씁니다.
claude -p "이 폴더의 README를 읽고 핵심을 다섯 줄로 요약해 줘" --allowedTools "Read" > summary.md
내가 만들지 않은 폴더에서 실행할 때는 그 폴더의 설정을 읽지 않게 합니다.
명령어로 직접 하기
--bare는 그 폴더의 Hook·스킬·플러그인·MCP 서버·CLAUDE.md를 읽지 않고 실행합니다. 붙이지 않으면 신뢰 확인 창 없이 그것들이 그대로 실행됩니다.
claude -p "이 폴더가 무슨 프로젝트인지 설명해 줘" --bare --allowedTools "Read"
명령이 끝난 뒤 종료 코드를 확인합니다. 0이면 성공이고, 0이 아니면 실행이 실패한 것입니다.
명령어로 직접 하기
직전 명령의 종료 코드를 출력합니다. Windows PowerShell에서는 $LASTEXITCODE를 씁니다.
echo $?
연습
지금 작업 중인 폴더에서 읽기만 하는 요청 하나를 골라 claude -p로 실행하고, 결과를 파일로 저장해 열어 보세요.
대화창을 열지 않고 결과 파일이 만들어졌고, 종료 코드가 0이면 됩니다. 화면에 답이 나왔더라도 파일이 비어 있으면 통과로 세지 않습니다.
알아두면 좋습니다
--bare 없이 실행하면 그 폴더의 .claude/settings.json에 있는 Hook과 .mcp.json에 적힌 서버가 신뢰 확인 창 없이 실행되고 연결됩니다. 내려받은 폴더나 남이 준 폴더에서는 --bare를 붙이거나 설정 파일을 먼저 열어 봅니다. --allowedTools에 Bash를 통째로 넣으면 확인 없이 명령이 실행되므로, 삭제·배포·발송이 섞일 수 있는 요청에는 쓰지 않습니다. 결과를 > 로 내보낼 때 기존 파일 이름을 쓰면 내용이 덮어써집니다.
10실습Routines정해진 시각에 혼자 돌리기반복 작업 하나를 Routine으로 저장해 정해진 시각에 클라우드에서 실행할 수 있습니다내용 열기내용 접기
앞 단계까지는 실행 버튼을 누르는 사람이 항상 있었습니다. Hooks는 내가 파일을 고칠 때 따라 붙었고, 비대화형 실행도 내가 명령을 입력해야 시작했습니다. Routine은 그 마지막 조건을 뗍니다. 저장해 둔 설정이 정해진 시각이나 조건에서 클라우드에서 실행되므로, 노트북이 꺼져 있어도 결과가 쌓입니다.
Routine 하나는 세 조각으로 이뤄집니다. 실행할 프롬프트, 작업할 GitHub 저장소, 그리고 무엇이 실행을 시작시키는지를 정하는 트리거입니다. 트리거는 정해진 주기로 도는 일정, 외부에서 주소를 호출하는 API, 저장소에 사건이 생겼을 때 반응하는 GitHub 이벤트 세 가지가 있고, 하나의 Routine에 여러 개를 함께 걸 수도 있습니다.
프롬프트는 되묻지 않아도 끝까지 가야 합니다
대화 세션에서는 애매한 지점에서 Claude가 되묻고, 사람이 답하면 진행됩니다. Routine 실행에는 그 사람이 없습니다. 무엇을 할지뿐 아니라 무엇을 성공으로 볼지, 조건이 안 맞으면 어떻게 할지까지 프롬프트 안에 적어 두어야 실행이 중간에서 멈추거나 엉뚱한 방향으로 가지 않습니다.
같은 이유로 되돌리기 어려운 동작은 넣지 않습니다. 파일 삭제, 배포, 메시지 발송, 결제가 걸린 실행은 사람이 판단해야 하는 자리입니다. Routine에는 확인하고 정리해서 보고하는 데까지만 시키고, 실행 여부는 그 보고를 읽고 사람이 정합니다.
조건을 먼저 확인합니다
Routines는 Pro·Max·Team·Enterprise 플랜에서 웹 Claude Code가 켜져 있을 때 쓸 수 있고, 회사 계정이라면 관리자가 조직 전체에서 꺼 두었을 수 있습니다. 실행에는 GitHub 저장소도 필요합니다. 저장소는 실행이 시작될 때마다 기본 브랜치에서 새로 내려받고, 변경 사항은 claude/로 시작하는 새 브랜치에 쌓이므로 기존 작업을 직접 덮어쓰지는 않습니다.
기본 환경은 패키지 저장소나 일반적인 개발용 주소처럼 미리 정해진 목록에만 연결됩니다. 사내 서비스나 목록 밖 주소에 닿아야 하면 환경의 네트워크 설정을 먼저 손봅니다. 환경 변수에 넣은 값은 그 환경을 쓰는 사람 모두에게 보이므로, 자격증명을 넣을 자리인지 판단한 뒤에 넣습니다.
Routines는 아직 리서치 프리뷰입니다. 동작과 제한, 외부 호출 방식이 예고 없이 바뀔 수 있으므로, 지금 확인한 화면과 다음 달의 화면이 다를 수 있다는 점을 감안하고 씁니다.
저장한 뒤 바로 한 번 돌려 봅니다
저장했다는 화면만 보고 예정 시각을 기다리면, 프롬프트가 잘못돼 있어도 다음 실행까지 알 수 없습니다. 저장 직후 직접 한 번 실행해 결과 세션을 열어 보고, 요청한 산출물이 실제로 나왔는지와 어디서 막혔는지를 확인합니다. 여기서 고친 프롬프트가 이후 모든 실행에 그대로 적용됩니다.
순서를 따라 Routine 하나를 저장하고, 예정 시각을 기다리지 말고 그 자리에서 직접 실행해 결과를 확인해 보세요.
조건부터 확인합니다. Routines는 Pro·Max·Team·Enterprise 플랜에서 웹 Claude Code가 켜져 있어야 쓸 수 있고, 회사 계정이면 관리자가 꺼 두었을 수 있습니다.
확인Routine 목록 화면이 열립니다. 정책으로 꺼져 있으면 사용할 수 없다는 안내가 대신 나옵니다.
새 Routine을 만들고 이름과 프롬프트를 적습니다. 실행 중에 되물을 사람이 없으므로, 무엇을 하고 무엇이 성공인지까지 프롬프트 안에 다 적습니다.
확인이름·프롬프트·모델을 고르는 입력 화면이 나옵니다.
실행할 GitHub 저장소를 지정합니다. 저장소는 실행이 시작될 때마다 기본 브랜치에서 새로 내려받고, 변경 사항은 claude/로 시작하는 새 브랜치에 쌓입니다.
확인지정한 저장소가 목록에 붙고, 기존 브랜치를 직접 덮어쓰지 않는다는 것을 확인할 수 있습니다.
실행 환경을 고릅니다. 기본 환경은 정해진 목록의 주소에만 연결되므로, 사내 서비스처럼 목록 밖 주소가 필요하면 환경을 먼저 손봅니다.
확인네트워크 범위·환경 변수·준비 스크립트를 정하는 항목이 보입니다.
트리거를 고릅니다. 정해진 주기로 도는 일정, 외부에서 호출하는 API, 저장소 이벤트 세 가지가 있고 함께 걸 수도 있습니다. 처음에는 주 1회 일정 하나로 시작합니다.
확인선택한 트리거가 Routine에 붙고, 다음 실행 예정 시각이 표시됩니다.
저장한 뒤 한 번 직접 실행해 결과를 확인합니다. 예정된 시각까지 기다렸다가 처음 결과를 보면, 잘못된 프롬프트가 그대로 반복됩니다.
확인실행 기록에 세션 하나가 남고, 그 안에서 요청한 산출물과 실패 지점을 볼 수 있습니다.
연습
매주 반복하는 점검 하나를 골라 Routine으로 저장하고, 예정 시각을 기다리지 말고 그 자리에서 한 번 직접 실행해 결과를 확인해 보세요.
직접 실행한 기록에 세션이 남고, 요청한 산출물이 그 안에 있으면 됩니다. Routine이 저장됐다는 화면만 보고 통과로 세지 않습니다.
알아두면 좋습니다
Routines는 리서치 프리뷰라 동작과 제한이 예고 없이 바뀔 수 있습니다. 실행 중에는 확인을 받을 사람이 없으므로, 삭제·배포·메시지 발송·결제처럼 되돌리기 어려운 동작은 프롬프트에 넣지 말고 보고까지만 시킵니다. 환경 변수는 그 환경을 쓰는 사람 모두에게 보이므로 자격증명을 넣을 때 이 점을 감안합니다. API 트리거 토큰은 생성 직후 한 번만 보이고 나중에 다시 볼 수 없습니다. 실행에 GitHub 저장소가 필요하므로, 저장소 없이 문서만 다루는 업무에는 맞지 않습니다.