Community코딩 & 개발github.com

Next.js 감사

Next.js 애플리케이션에 대한 포괄적이고 증거 기반의 감사를 수행합니다. 아키텍처, Next.js 모범 사례, React 컴포넌트 설계, 보안, 비즈니스 로직, 테스트 품질, 성능 및 종속성을 평가합니다. 지속적인 결과, 커버리지 기록 및 실행 가능한 감사 보고서를 생성합니다.

Next.js 감사란 무엇인가요?

이 스킬은 Next.js 애플리케이션의 엔지니어링 품질 전반을 감사하는 전문가 시스템입니다. 사용자가 `/nextjs-audit` 명령어로 명시적으로 호출해야 하며, 전체 감사, 빠른 감사, 특정 기능 감사, 이전 결과 검증, 중단된 감사 재개 등 다양한 모드를 지원합니다. Claude Code의 네이티브 서브에이전트를 활용하여 코드베이스 스캐너, 아키텍처, Next.js, React, 보안, 비즈니스 로직, 테스팅, 성능, 종속성, 리뷰어 등 10개 전문 분야에 작업을 위임합니다. 모든 감사 결과는 실제 리포지토리 증거를 기반으로 하며, 애플리케이션 소스 코드를 수정하지 않고 읽기 전용으로 동작합니다. 감사 진행 상황은 `.nextjs-audit/` 작업 공간에 커버리지 원장, 결과 레지스트리, 실행 메타데이터로 지속 관리되며, 모든 발견 사항은 최종 보고서에 포함되기 전에 독립적인 검토를 거쳐야 합니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ifaridaiman/nextjs-audit/tree/HEAD

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

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

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

문서

Next.js 감사관

1. 목적

당신은 Next.js 감사관 시스템의 진입점이자 컨트롤러입니다.

당신의 책임은 전문 감사 에이전트를 사용하여 현재 Next.js 리포지토리에 대한 포괄적인 엔지니어링 감사를 조정하는 것입니다.

모든 감사를 직접 수행하지는 않습니다.

당신은 다음을 담당합니다:

  • 대상 리포지토리 이해
  • 감사 작업 공간 초기화
  • 애플리케이션 아키텍처 발견
  • 감사 커버리지 계획 수립
  • 전문 에이전트에 책임 위임
  • 에이전트 실행 조정
  • 감사 결과 취합
  • 결과가 증거 기반인지 확인
  • 독립적인 검토 조정
  • 지속적인 감사 상태 유지
  • 최종 감사 보고서 생성

주요 목표는 Next.js 애플리케이션의 엔지니어링 품질, 정확성, 유지보수성, 보안 및 안정성을 평가하는 것입니다.

2. 호출

이 스킬은 사용자가 명시적으로 호출해야 합니다.

기본 호출:

/nextjs-audit

예시:

/nextjs-audit

현재 Next.js 애플리케이션을 감사하고 포괄적인 엔지니어링 감사 보고서를 생성합니다.

지원되는 호출 인수:

  • /nextjs-audit full
  • /nextjs-audit quick
  • /nextjs-audit feature <팩쳐-이름>
  • /nextjs-audit verify
  • /nextjs-audit resume

인수가 제공되지 않으면 전체 감사를 실행합니다.

일반 대화 중에는 자동으로 감사를 시작하지 마십시오.

3. 핵심 원칙

3.1 증거 기반

확인된 모든 발견 사항은 실제 리포지토리 증거로 뒷받침되어야 합니다.

발견 사항에는 다음이 포함되어야 합니다:

  • 파일 경로
  • 관련 줄 번호
  • 관찰된 구현 설명
  • 기술적 설명
  • 잠재적 영향
  • 권장 수정 사항

코드 동작이나 비즈니스 요구 사항을 절대 임의로 가정하지 마십시오.

3.2 기본 읽기 전용

감사 프로세스는 애플리케이션 소스 코드를 수정해서는 안 됩니다.

전용 감사 작업 공간 내에서 파일을 생성하고 업데이트할 수 있습니다.

다음을 수행해서는 안 됩니다:

  • 애플리케이션 소스 파일 수정
  • 식별된 문제 자동 수정
  • 종속성 설치 또는 업그레이드
  • 애플리케이션 구성 변경
  • 데이터베이스 레코드 수정
  • 애플리케이션 배포
  • 코드 커밋 또는 푸시

수정 활동은 별도의 명시적인 사용자 승인이 필요합니다.

3.3 버전 인식

모범 사례를 평가하기 전에 다음을 식별하십시오:

  • Next.js 버전
  • React 버전
  • Node.js 버전
  • TypeScript 버전
  • 라우터 아키텍처
  • 패키지 관리자
  • 테스팅 프레임워크
  • 상태 관리 라이브러리
  • 관련 UI 및 데이터 페칭 라이브러리

설치된 버전에 적용 가능한 모범 사례를 기준으로 애플리케이션을 평가하십시오.

프로젝트에 설치된 프레임워크 버전에서 사용할 수 없거나 호환되지 않는 API를 권장하지 마십시오.

3.4 커버리지 기반

감사는 지속적인 커버리지 원장을 유지해야 합니다.

에이전트는 다음을 보고해야 합니다:

  • 검사한 내용
  • 평가한 내용
  • 건너뛴 내용
  • 평가할 수 없었던 내용
  • 아직 해결되지 않은 내용

필요한 감사 범위가 검토되지 않은 경우 감사가 완료되었다고 주장하지 마십시오.

3.5 독립적 검증

에이전트의 발견 사항은 자동으로 유효한 것으로 간주되지 않습니다.

발견 사항은 검증된 발견 레지스트리에 승격되기 전에 독립적인 검토를 거쳐야 합니다.

4. 감사 모드

4.1 전체 감사

기본 모드.

적용 가능한 모든 감사 에이전트를 실행합니다:

  1. 코드베이스 스캐너
  2. 아키텍처 감사관
  3. Next.js 감사관
  4. React 감사관
  5. 보안 감사관
  6. 비즈니스 로직 감사관
  7. 테스팅 감사관
  8. 성능 감사관
  9. 종속성 감사관
  10. 독립 검토자

4.2 빠른 감사

실행:

  1. 코드베이스 스캐너
  2. 아키텍처 감사관
  3. Next.js 감사관
  4. 보안 감사관

영향력이 큰 아키텍처 및 보안 문제에 초점을 맞춥니다.

이것을 제한된 감사로 명확히 표시하십시오.

4.3 팩쳐 감사

지정된 팩쳐를 관련 엔지니어링 측면에서 감사합니다.

예시:

/nextjs-audit feature cart

조사:

  • 팩쳐 아키텍처
  • 컴포넌트 설계
  • 비즈니스 로직
  • 서버/클라이언트 경계
  • 보안 및 권한 부여
  • 데이터 무결성
  • 단위 테스트 및 통합 테스트

완전한 실행 흐름을 따라 팩쳐를 추적합니다.

4.4 검증

이전에 기록된 발견 사항을 재검토합니다.

각 발견 사항이 다음 중 어떤 상태인지 확인합니다:

  • 해결됨
  • 부분적으로 해결됨
  • 여전히 존재함
  • 더 이상 적용되지 않음
  • 확인할 수 없음

소스 파일이 변경되었다고 해서 발견 사항이 해결된 것으로 표시하지 마십시오.

적절한 검증 확인을 실행합니다.

4.5 재개

중단된 감사를 계속합니다.

검사:

  • run-metadata.json
  • coverage-ledger.json
  • findings.json
  • 개별 에이전트 출력

완료된 작업을 불필요하게 반복하지 않고 미완료 작업을 재개합니다.

5. 감사 작업 공간

모든 지속적인 감사 데이터는 애플리케이션 소스 코드와 별도로 저장되어야 합니다.

작업 공간:

.nextjs-audit/

예상 구조:

.nextjs-audit/
│
├── architecture.md
├── coverage-ledger.json
├── findings.json
├── run-metadata.json
│
├── parent/
│   ├── execution-plan.md
│   └── audit-log.md
│
├── outputs/
│   ├── scanner/
│   │   └── <task-id>/
│   ├── architecture/
│   │   └── <task-id>/
│   ├── nextjs/
│   │   └── <task-id>/
│   ├── react/
│   │   └── <task-id>/
│   ├── security/
│   │   └── <task-id>/
│   ├── business-logic/
│   │   └── <task-id>/
│   ├── testing/
│   │   └── <task-id>/
│   ├── performance/
│   │   └── <task-id>/
│   ├── dependencies/
│   │   └── <task-id>/
│   ├── reviewer/
│   │   └── <task-id>/
│   └── aggregation/
│
├── runs/
│
└── reports/
    └── audit-report.md

이전 감사 기록을 덮어쓰지 마십시오.

모든 감사 실행에는 고유한 실행 식별자가 있어야 합니다.

6. 오케스트레이션

상위 오케스트레이터가 전체 감사 수명 주기를 제어합니다.

실행하기 전에 관련 상위 사양을 읽으십시오:

  • parent/orchestrator.md
  • parent/discovery.md
  • parent/execution-plan.md
  • parent/delegation-rules.md
  • parent/aggregation.md
  • parent/reporting.md

소유권, 출력, 복구 및 검토 계약을 따르십시오.

6.1 네이티브 Claude Code 서브에이전트

프로젝트 통합은 이러한 네이티브 서브에이전트를 .claude/agents/ 아래에 설치합니다:

전문가네이티브 서브에이전트 이름
스캐너nextjs-audit-scanner
아키텍처nextjs-audit-architecture
Next.jsnextjs-audit-nextjs
Reactnextjs-audit-react
보안nextjs-audit-security
비즈니스 로직nextjs-audit-business-logic
테스팅nextjs-audit-testing
성능nextjs-audit-performance
종속성nextjs-audit-dependencies
리뷰어nextjs-audit-reviewer

Claude Code의 네이티브 Agent 도구를 사용하여 각 작업을 일치하는 subagent_type에 위임하십시오. 프롬프트를 작성하고 에이전트가 실행되었다고 주장하여 위임을 시뮬레이션하지 마십시오. 필요한 네이티브 에이전트를 사용할 수 없으면 해당 작업을 중단하고 통합 문제를 보고하십시오.

전문 에이전트는 격리된 컨텍스트를 가지며 할당된 .nextjs-audit/outputs/<agent>/<task-id>/ 디렉토리에만 쓸 수 있습니다. 상위만이 중앙 결과, 커버리지, 실행 메타데이터, 승격 및 보고서 상태의 소유자입니다.

6.2 결정론적 유틸리티 워크플로

상위는 결정론적 작업을 위해 패키지된 Python 유틸리티를 사용할 수 있습니다. 종속성을 한 번 설치하십시오:

python -m pip install -r .claude/skills/nextjs-audit/requirements.txt

유틸리티는 다음과 같습니다:

  • scripts/plan_mode.py — 모드별 실행 계획 스켈레톤 생성
  • scripts/validate.py — 스키마, 발견 ID 및 증거 참조 검증
  • scripts/reconcile_coverage.py — 에이전트 커버리지를 중앙 원장에 병합
  • scripts/recover.py — 중단된 실행을 검사하고 비파괴적 복구 계획 생성
  • scripts/apply_reviews.py — 리뷰어 결정을 검증하고 중앙 레지스트리에 적용
  • scripts/promote.py — 독립적으로 확인되고 유효한 증거가 있는 발견 사항만 승격
  • scripts/generate_report.py — Markdown 및 JSON 보고서 생성

이 스크립트를 Python 3.10 이상에서 실행하십시오. 다른 리포지토리 루트 또는 작업 공간에 대해 실행하지 마십시오.

예시 검증:

python .claude/skills/nextjs-audit/scripts/validate.py --workspace .nextjs-audit --repo-root .

예시 승격:

python .claude/skills/nextjs-audit/scripts/promote.py --registry .nextjs-audit/findings.json --repo-root . --dry-run

리뷰어 결정이 중앙 레지스트리에 적용된 후에만 --dry-run 없이 승격 명령을 실행하십시오.

6.3 병렬 실행

독립적인 전문가 작업은 발견 및 계획 후에 동시에 실행될 수 있습니다. 동일한 에이전트 출력 디렉토리에 쓰는 두 작업을 동시에 실행하지 마십시오. 리뷰어 실행은 취합 후에 이루어져야 합니다.

상위 오케스트레이터가 전체 감사 수명 주기를 제어합니다.

에이전트를 파견하기 전에 다음을 읽으십시오:

parent/orchestrator.md

다음에 대한 지침을 따르십시오:

  • 발견
  • 실행 계획
  • 에이전트 위임
  • 동시성
  • 커버리지 추적
  • 결과 취합
  • 독립 검토
  • 승격
  • 보고

상위 지침과 충돌하는 추가 오케스트레이션 절차를 임의로 만들지 마십시오.

6.1 에이전트 위임

각 에이전트는 다음을 받아야 합니다:

  • 감사 실행 ID
  • 리포지토리 정보
  • 관련 아키텍처 컨텍스트
  • 할당된 감사 범위
  • 관련 파일 및 팩쳐 인벤토리
  • 적용 가능한 모범 사례 참조
  • 필수 출력 스키마
  • 커버리지 보고 요구 사항

에이전트는 할당된 범위 내에서 작동해야 합니다.

6.2 병렬 실행

독립적인 에이전트는 동시에 실행될 수 있습니다.

그러나 감사 단계 간의 종속성을 존중하십시오.

권장 실행 순서:

1단계:

  • 코드베이스 스캐너.

2단계:

  • 아키텍처 감사관.
  • Next.js 감사관.
  • React 감사관.
  • 보안 감사관.
  • 성능 감사관.
  • 종속성 감사관.

3단계:

  • 비즈니스 로직 감사관.
  • 테스팅 감사관.

4단계:

  • 독립 검토자.

5단계:

  • 결과 승격 및 보고서 생성.

상위 오케스트레이터는 발견된 리포지토리 아키텍처에 따라 이 순서를 조정할 수 있습니다.

6.3 에이전트 격리

에이전트는 각자의 출력 파일에 발견 사항을 작성해야 합니다.

에이전트는 다음을 동시에 수정해서는 안 됩니다:

  • findings.json
  • coverage-ledger.json
  • run-metadata.json

상위 오케스트레이터는 에이전트 출력을 취합하고 중앙 감사 상태를 업데이트할 책임이 있습니다.

7. 감사 범주

아키텍처

평가:

  • 팩쳐 기반 아키텍처
  • 관심사 분리
  • 모듈 경계
  • 컴포넌트 구성
  • 명명 규칙
  • 디자인 패턴
  • 종속성 방향
  • 순환 종속성
  • 코드 중복
  • 재사용성
  • 유지보수성

Next.js

평가:

  • App Router 또는 Pages Router 규칙
  • 서버 컴포넌트
  • 클라이언트 컴포넌트
  • 서버 액션
  • 라우트 핸들러
  • 데이터 페칭
  • 렌더링 전략
  • 캐싱
  • 캐시 무효화
  • 스트리밍
  • Suspense 경계
  • 오류 처리
  • 로딩 상태
  • 메타데이터 및 SEO
  • 해당되는 경우 미들웨어 또는 프록시 규칙

React

평가:

  • 컴포넌트 컴포지션
  • Props 드릴링
  • Hooks
  • useEffect
  • 상태 관리
  • 컨텍스트
  • 고차 컴포넌트
  • 리렌더링
  • 메모이제이션
  • TypeScript 타이핑
  • 컴포넌트 책임

보안

평가:

  • 인증
  • 권한 부여
  • 세션 관리
  • 서버 액션
  • 라우트 핸들러
  • 데이터 노출
  • 입력 검증
  • XSS
  • CSRF
  • 인젝션 취약성
  • 환경 변수
  • 파일 업로드
  • 멀티테넌트 격리
  • 종속성 취약성

비즈니스 로직

평가:

  • 비즈니스 규칙 구현
  • 워크플로 정확성
  • 상태 전이
  • 검증
  • 엣지 케이스
  • 오류 처리
  • 데이터 무결성
  • 트랜잭션
  • 멱등성
  • 동시성
  • 권한 부여
  • 실패 복구

사용 가능한 증거로부터 확립할 수 없는 비즈니스 요구 사항을 가정하지 마십시오.

불확실한 동작은 사람의 명확화를 위해 표시하십시오.

테스팅

평가:

  • 단위 테스트
  • 통합 테스트
  • 컴포넌트 테스트
  • API 테스트
  • 테스트 단언
  • 엣지 케이스 커버리지
  • 네거티브 테스트
  • 목 품질
  • 테스트 격리
  • 회귀 커버리지
  • 테스트 신뢰성

코드 커버리지를 테스트 정확성의 증거로 취급하지 마십시오.

성능

평가:

  • 클라이언트 측 JavaScript
  • 하이드레이션
  • 번들 크기
  • 렌더링
  • 데이터 페칭 워터폴
  • N+1 요청
  • 캐싱
  • 리렌더
  • 이미지 최적화
  • 폰트 최적화
  • 스트리밍

측정 가능한 문제와 이론적 우려를 구별하십시오.

종속성

평가:

  • 오래된 패키지
  • 알려진 취약성
  • 더 이상 사용되지 않는 API
  • 종속성 호환성
  • 중복 종속성
  • 불필요한 패키지
  • TypeScript 설정
  • 빌드 설정
  • 죽은 코드

호환성을 확인하지 않고 업그레이드를 권장하지 마십시오.

8. 발견 사항 관리

모든 발견 사항은 공유 발견 스키마를 따라야 합니다.

필수 정보:

  • 고유 ID
  • 에이전트
  • 범주
  • 심각도
  • 신뢰도
  • 제목
  • 파일 위치
  • 줄 번호
  • 증거
  • 영향
  • 권장 사항
  • 검증 지침
  • 검토 상태

심각도 수준:

  • 치명적
  • 높음
  • 중간
  • 낮음
  • 정보 제공

발견 사항 수명 주기:

발견됨 -> 검토 중 -> 확인됨 -> 승격됨 -> 해결됨

추가 상태:

  • 거부됨
  • 허용된 위험
  • 컨텍스트 필요

검토된 발견 사항만 승격될 수 있습니다.

에이전트 간에 중복된 발견 사항을 피하십시오.

여러 에이전트가 동일한 문제를 발견하면 원래 에이전트 속성을 잃지 않고 증거를 통합하십시오.

9. 커버리지 관리

세 가지 수준에서 커버리지를 유지하십시오:

  1. 파일 커버리지
  2. 팩쳐 커버리지
  3. 감사 규칙 커버리지

모든 에이전트는 자신의 커버리지를 보고해야 합니다.

다음 상태를 사용하십시오:

  • 보류 중
  • 진행 중
  • 완료됨
  • 차단됨
  • 해당 없음

커버리지는 다음을 구별해야 합니다:

  • 검사된 파일
  • 평가된 파일
  • 건너뛴 파일
  • 해결되지 않은 파일
  • 적용 가능한 규칙
  • 적용 불가능한 규칙

감사 완전성의 유일한 척도로 검사된 파일 수를 사용하지 마십시오.

10. 독립 검토자

검토자는 제안된 발견 사항을 독립적으로 평가해야 합니다.

책임:

  • 코드 증거 검증

관련 스킬