Communitygithub.com

프로덕션 감사

출시된 앱, 출시 전 검토, 병합 후 점검을 위한 로컬 증거 기반 프로덕션 준비 감사

프로덕션 감사란 무엇인가요?

이 스킬은 애플리케이션이 프로덕션에 출시될 준비가 되었는지 평가하는 프로덕션 준비 감사를 수행합니다. 사용자가 '이것이 프로덕션 준비가 되었나요?', '프로덕션에서 무엇이 망가질까요?', '무엇을 놓쳤나요?'와 같은 질문을 할 때 적극적으로 사용하세요. 로컬 및 사용자가 승인한 증거를 기반으로 하며, 서드파티 서비스에 데이터를 업로드하거나 외부 스크립트를 실행하지 않습니다. 출시 표면 구축, 최근 변경 사항 검토, 런타임/인증/데이터/결제/백그라운드 작업/AI/배포 경계 검사, CI/CD/마이그레이션/롤백 경로 확인, 최종 출시/차단 권장 사항 생성 순서로 진행됩니다. Claude Code, Cursor, Codex와 같은 모든 AI 에이전트 플랫폼에서 사용할 수 있으며, 보안, 데이터 무결성, 결제, 운영, 사용자 경험 등 여러 위험 관점을 검사하여 점수와 구체적인 수정 사항을 제시합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/ECC/tree/main/skills/production-audit

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

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

문서

프로덕션 감사은(는) 무엇을 하나요?

이 스킬은 사용자가 애플리케이션이 출시 준비가 되었는지, 프로덕션에서 무엇이 망가질 수 있는지, 또는 출시 전에 무엇을 수정해야 하는지 물을 때 사용합니다. 이는 유지 관리자가 안전하게 재구성한 기존 커뮤니티 프로덕션 감사 아이디어로, 유용한 프로덕션 준비 관점을 유지하고 고정되지 않은 외부 실행 및 타사 데이터 공유를 제거했습니다.

사용 시기

  • 사용자가 "이것이 프로덕션 준비가 되었나요?", "프로덕션에서 무엇이 망가질까요?", "무엇을 놓쳤나요?", "이 저장소를 감사해 주세요", "출시 준비가 되었나요?"라고 물을 때
  • 기능이 병합되어 배포 전 또는 병합 후 위험 점검이 필요한 경우
  • 공개 출시, 데모, 고객 롤아웃 또는 투자자 워크스루가 임박한 경우
  • CI는 통과했지만 사용자가 테스트 상태뿐만 아니라 프로덕션 위험을 원하는 경우
  • 증거 수집을 위해 배포된 URL, 릴리스 브랜치, PR 또는 현재 체크아웃을 사용할 수 있는 경우

사용하지 말아야 할 시기

  • 활발한 구현 중이며 라인 수준의 보안 코딩 관점이 필요한 경우, 먼저 security-review를 사용하세요.
  • 순수 라이브러리, 템플릿, 문서 전용 저장소 또는 스캐폴드의 경우, 사용자가 애플리케이션 준비보다는 패키징/릴리스 준비를 원하지 않는 한 사용하지 마세요.
  • 사용자가 공식 규정 준수 감사를 요청하는 경우. 이 스킬은 엔지니어링 트라이지이며 법적, 재정적, 의료적 또는 규제 인증이 아닙니다.
  • 사용 가능한 유일한 증거가 저장소, 배포, CI 또는 런타임 표면이 없는 제품 아이디어인 경우.

작동 방식

로컬 및 사용자가 승인한 증거를 기반으로 감사를 구축합니다. 고정되지 않은 원격 코드를 실행하거나, 저장소 내용을 타사 서비스에 업로드하거나, 외부 스캐너를 호출하지 마십시오(사용자가 특정 도구 및 데이터 흐름을 명시적으로 승인하지 않는 한).

다음 순서를 사용하세요:

  1. 릴리스 표면을 확립합니다.
  2. 최근 변경 사항 및 현재 브랜치 상태를 읽습니다.
  3. 저장소에 실제로 존재하는 런타임, 인증, 데이터, 결제, 백그라운드 작업, AI 및 배포 경계를 검사합니다.
  4. CI, 테스트, 마이그레이션, 환경 문서 및 롤백 경로를 확인합니다.
  5. 특정 수정 사항이 포함된 간단한 출시/차단 권장 사항을 생성합니다.

증거 체크리스트

저렴한 로컬 신호로 시작하세요:

git status --short --branch
git log --oneline --decorate -20
git diff --stat origin/main...HEAD

그런 다음 프로젝트별 표면을 검사하세요:

  • 패키지 스크립트, CI 워크플로, 릴리스 스크립트, Docker 파일 및 배포 매니페스트.
  • API 라우트, 웹훅, 인증 미들웨어, 백그라운드 워커, 크론 작업 및 데이터베이스 마이그레이션.
  • 환경 변수 문서 및 시작 시 확인.
  • 관찰 가능성 후크, 오류 보고, 로그, 상태 점검 및 대시보드.
  • 롤백, 시드, 마이그레이션 및 백필 지침.
  • 가장 중요한 사용자 경로에 대한 E2E 커버리지.

배포된 URL이 범위 내에 있는 경우, 해당 URL에 대해서만 브라우저 또는 HTTP 검사를 사용하고 사용자가 안전한 테스트 계정을 제공하지 않는 한 인증된 작업을 피하세요.

위험 관점

보안 및 인증

  • 공개 라우트, API 라우트 및 관리자 라우트가 명확하게 분리되어 있습니까?
  • 인증 및 권한 부여가 서버 측에서 강제됩니까?
  • 비밀이 클라이언트 번들, 로그, 예제 출력 및 체크인된 파일에서 제외되어 있습니까?
  • 앱에 필요한 속도 제한, CSRF 보호, CORS 정책 및 업로드 검증이 있습니까?
  • AI 또는 에이전트 표면이 프롬프트 인젝션, 도구 남용 및 권한 있는 작업으로의 신뢰할 수 없는 콘텐츠 유입을 방어합니까?

데이터 무결성

  • 마이그레이션이 깔끔하게 정방향으로 실행되며 롤백 또는 복구 계획이 있습니까?
  • 파괴적인 마이그레이션, 백필 및 데이터 가져오기가 안전하게 단계화되어 있습니까?
  • 데이터베이스 정책, 권한 및 서비스 역할 경계가 앱의 테넌시 모델과 일치합니까?
  • 쓰기, 작업 및 웹훅 핸들러에 대한 재시도가 멱등적입니까?

결제 및 웹훅

  • 웹훅 서명이 신뢰할 수 있는 페이로드 필드를 구문 분석하기 전에 확인됩니까?
  • 각 결제, 구독 또는 이행 웹훅이 멱등적입니까?
  • 재생, 중복 전달 및 순서가 잘못된 전달이 처리됩니까?
  • 테스트 모드와 라이브 모드 자격 증명이 분리되어 있습니까?

운영

  • 앱이 문서화된 명령어로 깔끔한 체크아웃에서 시작할 수 있습니까?
  • 필수 환경 변수가 명명되고, 검증되며, 실패 시 빠르게 중단됩니까?
  • 종속성에 연결 가능함을 증명하는 상태 점검이 있습니까?
  • 배포, 롤백 및 인시던트 책임자 경로가 문서화되어 있습니까?
  • 로그가 비밀 또는 개인 데이터를 유출하지 않고 유용합니까?

사용자 경험

  • 출시에 중요한 경로가 데스크톱과 모바일에서 모두 커버됩니까?
  • 모바일에서 양식이 입력 확대, 레이아웃 겹침 또는 제출 상태 차단 없이 사용 가능합니까?
  • 로딩, 빈, 오류 및 권한 거부 상태가 사용자에게 무슨 일이 일어났는지 알려줍니까?
  • 중요한 작업이 실패할 때 지원 또는 복구 경로가 있습니까?

점수 매기기

점수는 수학적 확실성을 암시하는 것이 아니라 우선순위를 강제하는 데 사용하세요.

구간점수의미
차단됨0-49최상위 위험이 수정될 때까지 출시하지 마세요
위험50-69소규모 롤아웃 또는 내부 베타 뒤에만 출시하세요
주의 사항과 함께 출시 가능70-84소유자가 나열된 위험을 수락하면 출시하세요
강력함85-100사용 가능한 증거에서 명백한 출시 차단 요인 없음

다음 중 하나라도 해당되면 점수를 69로 제한하세요:

  • 중요한 데이터에 인증 또는 권한 부여가 누락되었습니다.
  • 결제 또는 이행 웹훅이 멱등적이지 않습니다.
  • 필수 마이그레이션을 안전하게 실행할 수 없습니다.
  • 비밀이 클라이언트 번들, 로그 또는 커밋된 파일에 노출되었습니다.
  • 영향이 큰 릴리스에 대한 롤백 경로가 없습니다.

CI가 녹색이 아니거나 출시에 중요한 경로가 종단 간 테스트되지 않은 경우 점수를 84로 제한하세요.

출력 형식

한 문장으로 시작하세요:

프로덕션 감사: 76/100, 주의 사항과 함께 출시 가능, 공개 출시 전에 수정해야 할 두 가지 위험은 웹훅 멱등성과 롤백 문서입니다.

그런 다음 다음을 나열하세요:

  • 차단: 배포 전에 반드시 수정해야 할 항목.
  • 고가치 수정: 사용자가 점수를 개선하려는 경우 다음 수정 사항.
  • 확인된 증거: 검사한 파일, 명령어, CI, 배포된 URL 또는 PR.
  • 누락된 증거: 제공된다면 신뢰도를 변경할 항목.
  • 다음 조치: 하나의 구체적인 수정 또는 확인 단계.

강점은 간략하게 유지하세요. 사용자는 준비 상태를 물었으므로 유용한 답변은 남은 위험과 다음 조치입니다.

예시

사용자:

이것이 출시 준비가 되었나요?

응답:

프로덕션 감사: 68/100, 위험, Stripe 웹훅이 확인되었지만 멱등적이지 않고 보류 중인 마이그레이션에 대한 롤백 메모가 없기 때문입니다.

차단:
- 주문을 이행하기 전에 `checkout.session.completed`에 대한 멱등성을 추가하세요.
- `20260511_add_billing_state.sql`에 대한 롤백 경로를 작성하고 테스트하세요.

고가치 수정:
- 데이터베이스 및 결제 제공자 연결 가능성을 확인하는 상태 점검을 추가하세요.
- 업그레이드, 웹훅 이행 및 청구 페이지 새로 고침에 대한 하나의 E2E 경로를 추가하세요.

확인된 증거:
- `api/stripe/webhook.ts`
- `db/migrations/20260511_add_billing_state.sql`
- 릴리스 브랜치에 대한 GitHub Actions 실행

다음 조치: 먼저 웹훅 멱등성을 패치할까요?

안티 패턴

  • 기본 감사 경로로 npx <package>@latest 또는 원격 스캐너를 실행합니다.
  • 명시적 승인 없이 소스, 비밀, 고객 데이터 또는 개인 토폴로지를 외부 감사 서비스에 업로드합니다.
  • 확인된 증거를 명명하지 않고 점수를 생성합니다.
  • 녹색 CI를 프로덕션 준비 상태로 취급합니다.
  • 일반적인 "무엇을 하고 싶은지 알려주세요"로 끝납니다.

참고

  • 스킬: security-review
  • 스킬: deployment-patterns
  • 스킬: e2e-testing
  • 스킬: tdd-workflow
  • 스킬: verification-loop

Individual skills in this repo

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

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/content-engine

Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.

affaan-m/ECC

Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.

affaan-m/fal-ai-media

Unified media generation via fal.ai MCP — image, video, and audio. Covers text-to-image (Nano Banana), text/image-to-video (Seedance, Kling, Veo 3), text-to-speech (CSM-1B), and video-to-audio (ThinkSound). Use when the user wants to generate images, videos, or audio with AI.

affaan-m/manim-video

日本語翻訳:このファイルは manim-video 用の日本語翻訳が必要です

affaan-m/remotion-video-creation

Remotion のベストプラクティス - React で動画を作成する。3D、アニメーション、音声、字幕、チャート、トランジションなどをカバーするドメイン固有の29のルール。

affaan-m/video-editing

AI-assisted video editing workflows for cutting, structuring, and augmenting real footage. Covers the full pipeline from raw capture through FFmpeg, Remotion, ElevenLabs, fal.ai, and final polish in Descript or CapCut. Use when the user wants to edit video, cut footage, create vlogs, or build video content.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

agent-self-evaluation

Use after completing any non-trivial task. The agent self-rates its output on 5 axes — accuracy, completeness, clarity, actionability, conciseness — with concrete evidence per criterion. Produces a structured 1-5 scorecard with specific improvement suggestions.

agent-sort

Build an evidence-backed ECC install plan for a specific repo by sorting skills, commands, rules, hooks, and extras into DAILY vs LIBRARY buckets using parallel repo-aware review passes. Use when ECC should be trimmed to what a project actually needs instead of loading the full bundle.

ai-first-engineering

Engineering operating model for teams where AI agents generate a large share of implementation output. Use when setting team process, review gates, or ownership rules for a codebase largely written by agents.

ai-regression-testing

Regression testing strategies for AI-assisted development. Sandbox-mode API testing without database dependencies, automated bug-check workflows, and patterns to catch AI blind spots where the same model writes and reviews code. Use when adding regression coverage to AI-assisted code, or when the same model both wrote and reviewed a change.

android-clean-architecture

Clean Architecture patterns for Android and Kotlin Multiplatform projects — module structure, dependency rules, UseCases, Repositories, and data layer patterns. Use when structuring modules, layers, or data flow in an Android or KMP project.

angular-developer

Generates Angular code and provides architectural guidance. Trigger when creating projects, components, or services, or for best practices on reactivity (signals, linkedSignal, resource), forms, dependency injection, routing, SSR, accessibility (ARIA), animations, styling (component styles, Tailwind CSS), testing, or CLI tooling.

관련 스킬