Community연구 & 데이터 분석github.com

hanzlaahmadcheema/github-repo-agent-skill

감사, 개선, 릴리스, 검증을 위한 교차 에이전트 GitHub 저장소 운영 스킬 (엄격한 승인 게이트 포함)

github-repo-agent-skill란 무엇인가요?

이 스킬은 AI 에이전트(예: Antigravity, Copilot, Claude Code, Codex, OpenCode)가 GitHub 저장소를 안전하고 체계적으로 운영할 수 있도록 설계된 증거 기반 운영 계약입니다. **CLAIM → VERIFY AGAINST REPO** 원칙을 따라 README나 문서의 주장을 맹목적으로 신뢰하지 않고 실제 코드, 매니페스트, CI 설정을 직접 검사합니다. 5가지 핵심 동사(AUDIT, PREPARE, APPROVE, EXECUTE, VERIFY)로 구성된 수명 주기를 통해 감사부터 검증까지의 모든 단계를 명확히 분리하고, 특히 APPROVE 단계에서 반드시 인간의 명시적 승인을 받도록 강제합니다. 스킬은 저장소 메타데이터, 구조, 행동(README 검증), Git 상태, GitHub 설정, 보안, 품질, 배포 등 8개 영역을 포괄적으로 점검하며, 발견된 모든 문제점에 대해 P0~P3 심각도 등급과 증거 기반 보고를 제공합니다. 또한 단순한 코드 수정을 넘어 저장소 설명, 토픽, 라이선스, CI/CD 워크플로우, 브랜치 보호 규칙 등 GitHub 메타데이터와 설정 개선도 계획에 포함시킵니다.

지원 대상✓Claude Code✓Codex CLI~Cursor✓Antigravity✓OpenCode
npx skills add hanzlaahmadcheema/github-repo-agent-skill

Installed? Explore more 연구 & 데이터 분석 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

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

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

문서

GitHub 저장소 에이전트 스킬

모든 AI 에이전트 호스트(Antigravity, Copilot, Claude Code, Codex, OpenCode)에서 GitHub 저장소를 감사, 개선, 릴리스, 검증하기 위한 증거 기반 운영 계약입니다.


1. 핵심 운영 원칙

  1. 주장 → 저장소에 대해 검증: README나 문서의 주장을 절대 신뢰하지 마십시오. 문서를 신뢰하기 전에 항상 코드, 매니페스트, 테스트, 훅, CI를 검사하십시오.
  2. 5-동사 수명 주기:
    • AUDIT = 읽기 (증거 수집, 불일치 식별, 부작용 없음).
    • PREPARE = 제안 (정확한 통합 diff 및 API 페이로드 생성, 변경하지 않음).
    • APPROVE = 승인 (변경 영향 범위 제시, 명시적 인간 승인 대기).
    • EXECUTE = 변경 (승인된 항목만 엄격히 적용, 범위 외 작업 없음).
    • VERIFY = 증명 (실제 상태와 승인된 상태 비교, 종료 코드 0이 아님).
  3. 범위 격리:
    • 사용자 프롬프트는 오직 특별히 요청된 작업만 승인합니다.
    • 감사 발견 사항은 권한이 전혀 없습니다. 범위 외 발견 사항은 별도의 승인 게이트가 필요합니다.
  4. 감사 중에는 절대 변경하지 않음: 감사 단계는 엄격히 읽기 전용입니다.
  5. 증거 기반 결과만 허용: 물리적 파일/라인/명령어 증거 없이 주장하는 경우 거부됩니다.
  6. 사실을 지어내지 않음: 저장소 설명, 토픽, 주장을 절대 환각하지 마십시오. 모든 메타데이터는 검증된 저장소 현실에서 파생하십시오.
  7. 제한된 자가 치유: 승인된 변경이 실행 중 실패할 경우, 에이전트는 승인된 파일 및 범위 내에서만 자동으로 자가 치유를 시도한 후 재검증해야 합니다. 범위 확장은 새로운 승인이 필요합니다.

2. 사용 시기

사용자가 다음을 요청하거나 의도할 때 이 스킬을 활성화하십시오:

  • 전체 또는 대상 저장소 감사 ("이 저장소 감사", "저장소 위생 검토").
  • 문서 검증 ("README가 코드와 일치하는지 확인", "README 지침 수정").
  • Git 및 GitHub 구성 ("토픽 표준화", "git 위생 정리", "CI 워크플로우 설정").
  • 릴리스 준비 ("릴리스 준비", "버전 태그", "릴리스 노트 생성").
  • 포트폴리오 정렬 ("이 저장소가 포트폴리오에 적합한지 평가", "프로젝트 요약 준비").

3. 핵심 수명 주기 워크플로우

발견 ──► 감사 ──► 계획 ──► 준비 ──► 승인 ──► 실행 ──► 검증 ──► 보고 [──► 포트폴리오 동기화]

1단계: 발견

  1. GitHub 운영 ID 및 접근 (황금 경로):
    • local remote 파싱 → SSH([email protected]:...) 및 HTTPS(https://github.com/...)에서 OWNER/REPO 추출.
    • gh auth status 질의 → 활성 인증된 GitHub 계정 식별.
    • gh repo view OWNER/REPO 질의 → 저장소 존재 여부, 가시성, 변경 권한 확인.
    • 안전 불변 조건: 인증된 계정이 소유자(예: 조직 또는 협업자)와 다른 경우 계획 전에 접근 권한을 확인하십시오. 접근 불가능한 경우 경고하고 원격 변경을 자동으로 비활성화합니다(can_mutate_remote: false).
    • 오프라인/원격 없음 대체 경로: 원격이 없으면 원격 작업을 사용 불가로 표시하고 로컬 파일 수정은 정상적으로 진행합니다.
  2. 저장소 루트 및 현재 작업 트리 상태 감지(git_state.py).
  3. 제품 형태(CLI, 라이브러리, 웹 앱, 서비스, 에이전트 스킬, 모노레포) 감지.

2단계: 감사 (읽기 전용)

  1. 8개 영역 검사 실행:
    • ID: 이름, 설명, 토픽, 홈페이지, 가시성, 라이선스.
    • 구조: 매니페스트, 잠금 파일, 진입점, 테스트, 죽은 파일.
    • 행동: README 주장(설치, 빌드, 테스트)을 실제 구현과 비교하여 검증.
    • Git: 작업 트리 정리 상태, 브랜치 상태, .gitignore, 비밀 노출.
    • GitHub: 워크플로우, 이슈/PR 템플릿, 규칙 세트, 보안 구성.
    • 보안: 노출된 자격 증명, 워크플로우 권한, Dependabot 알림.
    • 품질: 테스트 실행 상태, 린팅, 포맷팅, CI 상태.
    • 배포: 릴리스, 패키지, 태그, 데모 가용성.
    • 핵심 감사 팩은 references/audit/checklist.md 참조.
  2. references/audit/contract.md에 따라 결과 형식화:
    • 유형: BUG, RISK, DRIFT, GAP, INCONSISTENCY, SUGGESTION.
    • 심각도: P0 (치명적), P1 (높음), P2 (중간), P3 (낮음), Suggestion.
  3. 이중 형식 출력 컴파일:
    • 구조화된 데이터: audit-report.json (스키마: references/schemas/audit-report.schema.json 준수).
    • 경영진 마크다운 보고서 (4개 필수 섹션: 결론, 검증된 깨끗함, 발견 사항, 적용 범위 한계).

3단계: 계획

  1. 발견 사항을 심각도에 따라 우선순위화(P0 > P1 > P2 > P3).
  2. 사용자 프롬프트로 요청된 항목과 감사로 발견된 항목을 분리.
  3. 포괄적인 수정 범위: 수정은 절대 애플리케이션 코드로만 제한되어서는 안 됩니다. 감사 결과에 저장소 위생 또는 GitHub 구성 격차가 포함된 경우, 수정 계획은 다음을 반드시 명시적으로 분류하고 포함해야 합니다:
    • GitHub 메타데이터: 저장소 설명(ID-002), 토픽/태그(ID-003), 홈페이지(ID-004), 메타데이터 드리프트(GH-011).
    • 저장소 위생 파일: 라이선스(ID-005, ID-006), README 정확성 및 버전 일관성(DOC-001–DOC-006), CI/CD 워크플로우(GH-001–GH-004), Dependabot(SEC-003), .gitignore(GIT-002).
    • GitHub 설정 제안: 브랜치 보호 규칙 세트(GH-009), 비밀 스캔 설정(SEC-006).
    • 애플리케이션 및 코드 수정: 일반 텍스트 자격 증명(SEC-001), 누락된 잠금 파일(STR-002), 테스트/린트 스크립트(QAL-*).
    • 범위 제외: GitHub 릴리스 및 릴리스 생성(DIST-*)은 표준 수정 중에 엄격히 건너뜁니다.
  4. 제안된 변경 집합을 정의하고 위험 등급 분류:
    • 로컬 되돌릴 수 있음 (문서 편집, 로컬 워크플로우, 라이선스).
    • 원격 변경 (브랜치 푸시, gh repo edit을 통한 GitHub 메타데이터/토픽 편집).
    • 고위험 (가시성 변경, 브랜치 삭제, 강제 푸시).

4단계: 준비

  1. 로컬 파일(README.md, LICENSE, .github/workflows/ci.yml, 코드)에 대한 정확한 통합 diff 생성.
  2. 원격 변경을 위한 정확한 GitHub CLI / API 명령 페이로드 공식화(gh repo edit --description ... --add-topic ...).
  3. 브랜치 보호 또는 저장소 보안 구성을 위한 설정 제안 카드 준비.
  4. PROPOSED_STATE 객체 기록.

5단계: 승인 (인간 게이트)

  1. 구조화된 변경 집합 카드를 사용자에게 제시:
    • 대상 저장소 및 브랜치.
    • 계획된 수정 사항의 정확한 목록.
    • 통합 diff 미리보기 및 외부 API 페이로드.
    • 영향 범위 및 롤백 요약.
  2. 중단하고 명시적인 사용자 확인 대기: [승인 / 수정 / 거부].
  3. 승인 시 APPROVED_STATE 객체 고정.

6단계: 실행 (변경)

  1. 로컬 파일 수정: 승인된 통합 diff 적용.
  2. 커밋: 특정 파일 스테이징(git add <file>, 절대 git add . 사용 금지), Conventional Commit 메시지 생성.
  3. 원격 메타데이터/설정 변경: 명시적 REMOTE_MUTATION 권한 하에 승인된 명령 실행(gh repo edit, API 호출).
  4. 실행 단계 실패 시:
    • stderr에서 오류 진단.
    • 승인된 범위 및 파일 내에서만 자가 치유 시도.
    • 수정에 범위 외 변경이 필요한 경우 즉시 중단하고 수정된 승인 요청.

7단계: 검증 (증명)

  1. 파일 시스템, git 또는 GitHub API에서 직접 ACTUAL_STATE 질의.
  2. 정확한 어설션 수행: ACTUAL_STATE == APPROVED_STATE.
  3. 불일치가 있는 경우 증거와 함께 VERIFICATION_FAILED 보고 및 롤백 제안.
  4. 일치하면 상태를 VERIFIED_SUCCESS 로 표시.

8단계: 보고

  1. 최종 경영진 요약 출력:
    • 변경된 내용 (커밋, 수정된 파일, 업데이트된 메타데이터).
    • 검증 증명 (실제 상태가 검증됨).
    • 해결되지 않은 남은 감사 발견 사항.
    • 다음 권장 단계.

9단계: 포트폴리오 동기화 (선택 사항, 이벤트 기반)

  1. 저장소 변경이 포트폴리오 관련 필드(상태, 설명, 기술 스택, 데모 URL)에 영향을 미치는 경우:

4. 점진적 공개 및 참조 색인

토큰 효율성을 유지하기 위해 심층 도메인 지침은 references/에 구성되며 필요 시 로드됩니다:


5. 결정적 스크립트 도움말 색인

결정적 작업은 scripts/에 캡슐화됩니다:

  • python3 scripts/audit/audit_runner.py — 정적 검사 제품군을 실행하고 audit-report.json을 생성합니다.
  • python3 scripts/audit/claim_verifier.py — 문서화된 README 명령을 패키지 매니페스트와 검증합니다.
  • python3 scripts/audit/secret_scanner.py — 추적된 토큰, 개인 키 및 .env 파일에 대한 빠른 정규식 스캐너입니다.
  • python3 scripts/git/git_state.py — 작업 트리, 브랜치 드리프트 및 추적되지 않은 아티팩트를 질의합니다.
  • python3 scripts/verify/state_verifier.py — ACTUAL_STATE를 APPROVED_STATE와 비교합니다.

관련 스킬