Community라이팅 & 에디팅github.com

mirosing/resilient-server-ops

약한 연결 프로토콜 — SSH, 배포, 불안정한 네트워크(모바일, 기차, 불안정한 Wi-Fi)에서의 원격 작업을 위한 중단에 강한 Claude Code 에이전트 스킬입니다. 원자적 쓰기 + nohup + 멱등성 + 복구 브레드크럼.

resilient-server-ops란 무엇인가요?

이 스킬은 불안정한 네트워크 환경에서 Claude Code 에이전트가 중단 없이 서버 운영 작업(SSH, 배포, 원격 명령)을 수행할 수 있도록 설계되었습니다. 핵심은 원자적 쓰기(Atomic writes)를 사용해 작업이 완전히 수행되거나, 중단 시 아무 영향도 남기지 않도록 보장하며, `nohup`을 통해 장시간 실행되는 작업이 연결 끊김 후에도 백그라운드에서 계속 실행되도록 합니다. 또한 모든 주요 작업은 멱등성을 가지도록 설계되어, 동일한 작업을 여러 번 실행해도 동일한 최종 상태를 보장하며, 복구 브레드크럼(Recovery Breadcrumbs)을 남겨 중단된 지점부터 안전하게 재개할 수 있도록 합니다. 이는 Claude Code 플랫폼에서 사용할 수 있으며, 특히 모바일 환경이나 Wi-Fi가 약한 장소에서 작업할 때 유용합니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add mirosing/resilient-server-ops

Installed? Explore more 라이팅 & 에디팅 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

resilient-server-ops은(는) 무엇을 하나요?

약한 연결 프로토콜 — SSH, 배포, 불안정한 네트워크(모바일, 기차, 불안정한 Wi-Fi)에서의 원격 작업을 위한 중단에 강한 Claude Code 에이전트 스킬입니다. 원자적 쓰기 + nohup + 멱등성 + 복구 브레드크럼.

개요

resilient-server-ops는 네트워크 연결이 자주 끊기거나 불안정한 환경에서도 안정적으로 서버 운영 작업을 수행할 수 있도록 도와줍니다. 주로 다음과 같은 상황에서 유용합니다:

  • 이동 중(기차, 자동차)에서 SSH 접속
  • 불안정한 Wi-Fi(카페, 호텔)에서 배포 작업
  • 장시간 실행되는 작업이 중간에 끊길 위험이 있을 때

주요 기능

원자적 쓰기 (Atomic Writes)

모든 파일 쓰기 작업은 원자적으로 수행됩니다. 즉, 작업 도중 연결이 끊기더라도 부분적으로 쓰여진 파일이 남지 않습니다. 대신 임시 파일에 먼저 기록한 후, 완료되면 최종 위치로 이동시킵니다 (mv 사용).

nohup 지원

장시간 실행되는 명령어는 nohup으로 실행하여, SSH 세션이 끊겨도 백그라운드에서 계속 실행되도록 보장합니다. 작업 ID와 stdout/stderr 로그 파일 경로를 저장해 두었다가 나중에 확인할 수 있습니다.

멱등성 (Idempotency)

모든 주요 작업은 멱등성을 가지도록 설계되었습니다. 예를 들어:

  • deploy 작업: 이미 최신 코드가 배포되어 있으면 아무것도 하지 않습니다.
  • restart service 작업: 서비스가 이미 실행 중이면 다시 시작하지 않습니다.

복구 브레드크럼 (Recovery Breadcrumbs)

작업이 중단되면, 복구 브레드크럼을 남겨 어떤 단계까지 진행되었는지 기록합니다. 이후 동일한 작업을 다시 실행할 때 중단된 지점부터 재개할 수 있습니다. 브레드크럼은 일반적으로 /tmp/resilient-ops-* 디렉토리에 저장됩니다.

사용법

# SSH 연결 후 원격 서버에서 스킬 활성화
claude code --skill mirosing/resilient-server-ops

# 배포 수행 (네트워크 불안정 상황에서도 안전)
> deploy my-app to production

# 장시간 실행되는 스크립트 실행 (nohup 자동 적용)
> run long-running-migration.sh

# 중단된 작업 재개
> resume last deployment

환경 변수

변수명설명기본값
RESILIENT_OPS_DIR브레드크럼 및 로그 저장 경로/tmp/resilient-ops
RESILIENT_OPS_TIMEOUT각 명령어의 타임아웃 (초)300
RESILIENT_OPS_RETRIES실패 시 재시도 횟수3
RESILIENT_OPS_IDEMPOTENT멱등성 활성화 여부true

파일 구조

~/.claude/skills/mirosing/resilient-server-ops/
├── SKILL.md
├── lib/
│   ├── atomic.sh          # 원자적 쓰기 함수
│   ├── nohup.sh           # nohup 실행 헬퍼
│   ├── idempotent.sh      # 멱등성 체크 함수
│   └── recovery.sh        # 브레드크럼 관리
└── examples/
    └── deploy.sh          # 배포 예제 스크립트

자세한 내용

각 모듈의 자세한 사용법은 lib/ 디렉토리 내 스크립트를 참조하세요. 문제가 발생하면 브레드크럼 디렉토리($RESILIENT_OPS_DIR)에서 로그를 확인할 수 있습니다.

관련 스킬