Community코딩 & 개발github.com

heithmurray/agent-skills

상태 변경 작업을 위한 계획 수립 및 승인 게이트입니다.

agent-skills란 무엇인가요?

Plan Gate는 AI 에이전트가 파일 수정, 명령어 실행, 리팩토링, 설정 변경 등 상태를 변경하는 작업을 수행하기 전에 명확한 계획을 수립하고 승인을 받도록 하는 정책 기반 스킬입니다. 이 스킬은 'Full Gate'와 'Short Gate' 두 가지 유형의 승인 게이트를 제공하여 작업의 복잡성에 따라 적절한 수준의 계획을 수립할 수 있도록 합니다. 주요 개발 환경(IDE, 터미널 등)에서 사용 가능하며, 승인 범위와 롤백 절차, 민감한 작업(자격 증명, 네트워크 변경 등)에 대한 특별 경계를 명확히 정의합니다. 특히 다중 단계 작업의 연속성, 중단 후 복구 절차, 그리고 승인되지 않은 범위 변경 시 재승인이 필요하다는 점을 강조하여 안전하고 예측 가능한 에이전트 행동을 보장합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/heithmurray/agent-skills/tree/HEAD/skills/plan-gate

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

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

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

문서

Plan Gate

실행 전에 계획을 공개하세요. 계획은 승인이 아닙니다.

작업 권한, 위임, 복구 및 보고를 위해 AGENTS.md를 따르세요. 이 스킬은 계획 게이트만 정의하며, 작업자 SOP나 작업 보드 애플리케이션이 필요하지 않습니다.

읽기 전용 사전 점검

정확한 대상, 기존 상태 및 위험을 식별하는 데 필요한 사항을 검사하세요. 사전 점검 중에는 상태를 변경하거나 비밀을 노출하지 마세요.

실행 승인을 요청하기 전에 중요한 미지의 사항을 해결하세요. 사용자에게 이미 알려진 사실을 반복해서 묻지 마세요.

게이트 적용 시점

파일 변경, 상태 변경 명령어, 구현, 리팩토링, 구성, 설치 및 지속적인 워크플로 변경에 게이트를 적용하세요.

단순하고 경계가 명확한 단일 변경의 경우, 게이트를 적용하지 않는 대신 간단 게이트(Short Gate)를 사용하세요. 대화 중 질문, 분석 및 초안 작성은 실행 게이트가 필요하지 않습니다.

전체 게이트 (Full Gate)

PLAN GATE — · Revision

이해된 작업 / 목표

  • <요청된 결과>

가정

  • [입력] <사용자가 제공한 가정>
  • [실행] <도구 또는 환경 가정>
  • [범위] <포함 또는 제외 가정>

범위 내

  • <경계가 명확한 작업>

범위 외

  • <명시적 제외 사항>

영향받는 파일/시스템

  • <정확한 대상 및 의도된 변경>

실행

  1. <단계>

검증

  • <관찰 가능한 승인 검사>

롤백

  • <작업 소유 변경 사항을 취소하는 방법 또는 복구 한계>

승인 경계

  • <이 승인이 허용하는 작업>
  • <새로운 결정이 필요한 작업>

미결 결정

  • <중요한 미결 결정 사항, 또는 없음>

게이트 상태

  • 승인 준비 완료
  • 또는 차단됨 — 결정 필요

해당하지 않는 가정 범주는 생략하세요. 템플릿을 채우기 위해 가정을 임의로 만들지 마세요.

간단 게이트 (Short Gate)

PLAN GATE — · Revision

  • 작업: <요청된 결과>
  • 대상: <정확한 파일/시스템>
  • 변경: <경계가 명확한 변경>
  • 가정: <태그된 가정, 있는 경우>
  • 검증: <검사>
  • 롤백: <취소 또는 복구 한계>
  • 상태: 승인 준비 완료

작업이 더 이상 단순하지 않게 되면 전체 게이트로 전환하세요.

승인

공개된 범위에 대한 명시적 승인을 기다리세요. "승인", "진행", "계속" 또는 직접적인 확인은 현재 식별된 개정을 승인합니다.

승인은 변경되지 않은 범위에 대해 유효합니다. 반복적으로 요청하거나 작업자가 다시 얻도록 하지 마세요.

대상, 작업, 요구사항, 검증, 롤백 또는 권한에 중대한 변경이 있는 경우 수정된 게이트가 필요합니다. 해당 수정이 승인될 때까지 영향을 받는 작업을 중단하세요.

해결되지 않은 중요한 결정은 '승인 준비 완료'가 아닌 '차단됨 — 결정 필요'를 의미합니다. 알 수 없는 대상을 "관련 파일"이라고 부르는 것으로 승인되지 않습니다.

민감한 경계

다음을 변경하기 전에 항상 구체적인 범위를 공개하고 명시적 승인을 받으세요:

  • 자격 증명, 인증 또는 권한.
  • 서버, 네트워킹, 원격 액세스(SSH, VPN) 또는 공개 포트.
  • 에이전트 런타임 설정: 채널, 라우팅 또는 모델 설정.
  • 지속적인 ID 또는 운영 지침.
  • 외부 전송, 게시, 계정 또는 지출.
  • 파괴적 작업 또는 클라이언트 데이터.

현재 대화에서 사용자에게 일상적인 응답을 하는 것은 타사 전송이 아닙니다. 일반적인 대화 초안 작성은 지속적인 지침 변경이 아닙니다.

자격 증명을 추가, 교체 또는 수정할 때, 읽기 전용 사전 점검 중에 대상이 실제로 자격 증명을 어떻게 사용하는지(자체 자격 증명 저장소, 소유한 파일, 환경 변수 또는 전송 중에 비밀을 주입하는 프록시) 통합의 스키마, 문서 또는 코드를 사용하여 확인하고 가정하지 마세요. 대상이 자격 증명을 직접 읽어야 하는 경우, 전송 중에 값을 대체하는 프록시를 통해 라우팅하지 말고 통합이 지원하는 자격 증명 저장소 또는 자체 파일을 사용하세요. 비밀을 요청하기 전에 비밀 이름, 저장 위치, 이를 사용하도록 허용된 정확한 호스트, 그리고 통합에 필요한 런타임 구성 또는 재시작을 게이트하세요. 통합이 소유한 자격 증명 파일의 경우, 사람이 마스킹된 항목으로 입력, 기존 파일 덮어쓰기 거부, 정확한 소유자 및 제한적 권한, 값을 절대 출력하지 않는 검증, 그리고 롤백으로 해당 파일만 제거하는 것을 게이트하세요. 통합에 필요한 경우에만 재시작을 포함하세요. 비밀은 마스킹된 프롬프트 또는 도구 자체의 비밀 저장소를 통해서만 수집하세요. 채팅, 로그, 명령줄 인수 또는 채팅을 통해 붙여넣은 여러 줄 셸을 통해서는 절대 수집하지 마세요. 기존 비밀을 복사하거나 별칭으로 만들지 마세요. 필요한 이름으로 새 항목을 요청하세요. 마스킹된 프롬프트나 비밀 저장소를 사용할 수 없거나 마스킹된 요청이 사용자에게 도달하지 않는 경우, 중단하고 사용자에게 정확한 비밀 이름, 저장 위치 및 이를 사용할 수 있는 호스트를 알려주어 사용자가 직접 입력하도록 하세요. 새 비밀이 다음 실행에서 검증될 때까지 기존 비밀을 유지하고, 해당 삭제가 승인된 범위에 있는 경우에만 기존 비밀을 삭제하세요.

일반 텍스트 구성에서 비밀 저장소로 마이그레이션하는 경우, 각 비밀의 모든 소유자를 게이트하고 일반 텍스트 제거를 검증 후 일방향으로 처리하세요. 비밀이 아닌 구조와 해시만 스냅샷하고 일반 텍스트 롤백 복사본은 절대 만들지 마세요. 각 현재 값을 마스킹된 항목을 통해 수집한 다음, 도구가 지원하는 감사 또는 마이그레이션 플래너를 사용하여 각 저장된 값이 정확한 일반 텍스트 소스와 일치함을 둘 다 표시하지 않고 증명하세요. 승인된 경로로 제한된 계획을 검토하고 시험 실행한 후, 적용 직전에 구성과 계획 해시를 다시 확인한 다음 한 번 적용하세요. 정확한 비밀 참조, 남아 있는 일반 텍스트 없음, 해결되지 않거나 숨겨진 값 없음, 도구가 유지하는 다른 저장소(캐시, 세션 또는 인증 저장소, 백업, 임시 또는 마이그레이션 파일)에 비밀 잔여물 없음, 그리고 유효한 구성을 검증한 후에 재시작하세요. 재시작이 필요한 소유자만 재시작하고, 예약된 보고서를 신뢰하지 말고 새 프로세스가 실행 중임을 증명한 후 각 자격 증명 소유자를 종단 간 테스트하세요. 모든 재시작 후 검사가 통과할 때까지 비밀이 아닌 마이그레이션 계획을 유지한 다음 해당 계획만 제거하세요. 노출 또는 별도의 교체 결정이 필요하지 않는 한 자격 증명을 교체하지 마세요.

연속성 및 복구

다단계 작업의 경우, 동의된 작업 기록 위치를 쓰기 범위에 포함하세요. 승인된 개정, 승인 참조 및 실행 증거를 거기에 보존하세요. 특정 추적 애플리케이션은 필요하지 않습니다.

기록 식별자를 하나의 작업 스트림으로 범위를 한정하세요. 작업이 실질적으로 다른 목표 또는 아티팩트 제품군으로 이동하는 경우, 이전 증거를 계속 연결하거나 기록을 통합하는 대신 새 기록 시리즈를 시작하고 이전 증거를 상호 참조하세요. 범위가 잘못 지정된 게이트가 승인되지 않았고 아티팩트를 생성하지 않은 경우, 제안된 식별자를 폐기하고 변경되지 않은 범위를 올바른 시리즈로 재발행하세요. 마이그레이션 작업을 생성하지 마세요.

버전에 민감한 인벤토리의 경우, 관찰된 런타임/카탈로그 버전을 기록하고 해당 스냅샷을 보존하세요. 업그레이드가 보류 중인 경우, 허용 목록이나 종속성 대상을 고정하기 전에 업그레이드를 완료하고 확인한 다음, 비교 가능한 업그레이드 후 개정을 생성하세요. 이전 상태를 조용히 덮어쓰지 마세요.

중단 후, 실제 상태를 검사한 후에 재개하세요. 결과가 불확실한 작업을 반복하지 마세요.

AGENTS.md의 복구 한계를 적용하세요. 설정된 한계가 없는 경우, 리드 에이전트와 작업자를 포함하여 차단 문제에 대해 최대 한 번의 안전하고 논리적이며 범위 내 시도를 허용하세요. 재시도는 필수가 아니며 권한을 확장할 수 없습니다. 게이트를 다시 열거나 새 작업자를 시작해도 허용 한도가 초기화되지 않습니다.

성공적인 복구와 실패한 복구를 모두 보고하세요. 실패한 내용, 시도한 내용, 이유 및 관찰된 결과를 보존하세요.

올바르게 보고된 차단은 유효한 결과입니다. 완료를 즉흥적으로 처리할 수 있는 권한이 아닙니다. 요청된 결과물이 완료되지 않은 상태임을 명확히 밝히세요.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

관련 스킬