클로드 코드 비대화형 모드(claude -p)로 자동화 스크립트 만들기

클로드 코드 비대화형 모드(claude -p)로 자동화 스크립트 만들기 대표 이미지

클로드 코드는 보통 대화하며 씁니다. 그런데 매일 같은 작업이라면 대화할 필요가 없습니다. "매일 아침 어제 변경된 글 목록을 점검해서 보고서 남기기" 같은 일이죠. 이럴 때 쓰는 것이 비대화형 모드(claude -p)입니다.

claude -p란?

-p(print) 옵션을 주면 클로드 코드가 질문 하나를 처리하고 결과를 출력한 뒤 종료합니다.

claude -p "이 프로젝트의 구조를 5줄로 요약해 줘"

대화창이 열리지 않고 결과만 터미널에 출력됩니다. 그래서 다른 스크립트에서 호출하거나, 예약 작업에 넣거나, 결과를 파일로 저장할 수 있습니다.

기본 사용법

claude -p 비대화형 모드 사용 예시

1. 결과를 파일로 저장

claude -p "content/posts 폴더에서 front matter에 faq가 없는 글 목록을 알려 줘" > report.txt

2. 파이프로 입력 넘기기

다른 명령의 출력을 클로드에게 넘길 수 있습니다.

git log --since="1 day ago" --oneline | claude -p "어제 커밋들을 팀 공유용으로 3줄 요약해 줘"
cat build.log | claude -p "이 빌드 로그에서 경고와 오류만 추려서 원인과 함께 정리해 줘"

3. JSON으로 출력받기

다른 프로그램에서 결과를 처리하려면 출력 형식을 JSON으로 지정합니다.

claude -p "변경된 파일 목록을 알려 줘" --output-format json

JSON 출력에는 결과 텍스트와 함께 실행 정보가 담겨 있어, 스크립트에서 파싱해 쓰기 좋습니다.

허용 도구 제한하기

비대화형 모드에서는 권한 승인을 대화로 받을 수 없으므로, 무엇을 허용할지 미리 정해야 합니다.

claude -p "글 파일들의 링크를 점검해서 결과만 보고해 줘" --allowedTools "Read" "Grep" "Glob"

읽기 도구만 허용하면 파일을 수정하거나 명령을 실행할 수 없어 안전합니다. 정확한 옵션 이름과 형식은 claude --help나 공식 문서로 확인하세요.

실제 자동화 예시: 매일 아침 블로그 점검

이 블로그에 쓰는 점검 스크립트를 단순화한 예시입니다(PowerShell).

# daily_check.ps1
Set-Location "C:\work\gptpro-kr"
$today = Get-Date -Format "yyyy-MM-dd"
claude -p "content/posts의 글을 점검해 줘. 미래 날짜, 빠진 대표 이미지, 깨진 내부 링크만 표로 보고해. 문제가 없으면 '이상 없음'만 출력해." `
  --allowedTools "Read" "Grep" "Glob" > "reports\check_$today.md"

이 스크립트를 윈도우 작업 스케줄러에 매일 아침 실행으로 등록해 두면, 출근해서 보고서만 확인하면 됩니다. 앞서 만든 점검 스킬을 함께 쓰면 지시문을 더 짧게 유지할 수 있습니다.

다른 활용 아이디어

작업 입력 출력
커밋 요약 git log 팀 공유용 요약
로그 분석 서버·빌드 로그 오류 원인 정리
문서 갱신 점검 코드 변경 내역 업데이트가 필요한 문서 목록
PR 1차 리뷰 git diff 리뷰 코멘트 초안

깃허브 액션 같은 CI 환경에서 쓰는 공식 통합 방법도 있으니, 팀 단위 자동화라면 공식 문서를 참고하세요.

안전 수칙

claude -p 자동화 안전 수칙

  1. 최소 권한: 읽기 전용으로 충분한 작업에는 쓰기·실행 도구를 허용하지 않습니다.
  2. 작업 폴더 고정: 스크립트 첫 줄에서 프로젝트 폴더로 이동합니다. 엉뚱한 폴더에서 실행되면 의도하지 않은 파일이 범위에 들어갑니다.
  3. 출력 검토: 자동 실행 결과를 다른 시스템에 바로 반영하기보다, 처음에는 보고서로만 남기고 사람이 확인합니다.
  4. 실행 빈도 조절: 예약 작업이 자주 돌면 사용량이 늘어납니다.
  5. 비밀값 주의: 스크립트나 로그에 API 키가 찍히지 않게 합니다.

대화 상대에서 자동화 부품으로

claude -p를 알고 나서 클로드 코드가 "대화 상대"에서 "자동화 부품"으로 바뀌었습니다. 특히 로그 분석이 편해졌습니다. 예전에는 긴 빌드 로그를 눈으로 훑었는데, 지금은 파이프로 넘기고 요약만 봅니다. 처음 자동화할 때는 꼭 읽기 전용 + 보고서만 남기기로 시작하세요. 믿을 만해지면 그때 범위를 넓혀도 늦지 않습니다.

마무리

  1. claude -p는 질문 하나를 처리하고 결과만 출력하는 비대화형 모드입니다.
  2. 파이프 입력, 파일 저장, JSON 출력으로 스크립트·예약 작업·CI에 연결합니다.
  3. 허용 도구를 최소로 제한하고, 처음에는 보고서만 남기는 방식으로 시작하세요.

출처

🤔 자주 묻는 질문 (FAQ)

Q. claude -p는 사용량을 어떻게 쓰나요?

대화형 사용과 마찬가지로 연결된 구독 계정이나 API 키의 사용량을 씁니다. 예약 작업으로 자주 실행하면 사용량이 빠르게 늘 수 있으니 실행 빈도와 작업 크기를 조절하세요.

Q. 비대화형 모드에서 권한 승인은 어떻게 하나요?

대화로 승인할 수 없으므로, 허용할 도구를 옵션으로 미리 지정합니다. 필요한 최소한의 도구만 허용하는 것이 안전합니다.

Q. 윈도우 작업 스케줄러에서도 쓸 수 있나요?

네. claude -p 명령을 담은 배치 파일이나 PowerShell 스크립트를 작업 스케줄러에 등록하면 됩니다. 작업 폴더와 환경 변수가 올바르게 설정되는지 확인하세요.
#클로드코드자동화 #claude-p #헤드리스 #ClaudeCode #업무자동화