AgentSkillsCN

sc:enforce-verify

强制执行验证。在所有修改工作完成之前必须执行。若未通过验证,则禁止宣布任务完成。

SKILL.md
--- frontmatter
name: "sc:enforce-verify"
description: "검증 강제. 모든 수정 작업 완료 전 필수 실행. 검증 미통과 시 완료 선언 차단."

Enforce Verify Skill (Hard Block)

수정 완료 전 검증을 강제하는 Hard Block 스킬입니다.

이 스킬을 건너뛸 수 없습니다. Verify 보고서 없이 "완료" 선언은 차단됩니다.


사용법

code
/sc:enforce-verify
/sc:enforce-verify lib/features/fortune/

차단 조건

조건상태
flutter analyze 미실행⛔ 차단
flutter analyze 에러 존재⛔ 차단
build_runner 실패 (freezed 사용 시)⛔ 차단
사용자 테스트 미확인⛔ 차단
Verify 보고서 미출력⛔ 차단

강제 검증 프로세스

code
1️⃣ 정적 분석
   └─ flutter analyze 실행
   └─ 에러 0 필수, 경고 확인

   ⛔ 에러 있으면: "에러 수정 후 다시 실행해주세요" 출력 후 차단

2️⃣ 빌드 검증
   └─ dart run build_runner build (freezed 사용 시)
   └─ 컴파일 성공 확인

   ⛔ 실패 시: "빌드 에러 수정해주세요" 출력 후 차단

3️⃣ 포맷 검증
   └─ dart format --set-exit-if-changed .
   └─ 포맷 준수 확인

4️⃣ 품질 검증
   └─ /sc:quality-check 호출
   └─ 아키텍처 규칙 확인
   └─ 디자인 시스템 확인

   ⛔ 품질 이슈 시: "품질 이슈 수정해주세요" 출력 후 차단

5️⃣ 사용자 테스트 요청
   └─ 테스트 시나리오 제공
   └─ 사용자 확인 대기

   ⛔ 사용자 미확인 시: 완료 선언 불가

6️⃣ Verify 보고서 생성
   └─ JIRA 이슈 상태 → Done

필수 실행 명령어

bash
# 1. 정적 분석 (필수)
flutter analyze

# 2. 빌드 (freezed 사용 시)
dart run build_runner build --delete-conflicting-outputs

# 3. 포맷 확인
dart format --set-exit-if-changed .

# 4. 품질 검증
/sc:quality-check

필수 출력 형식

이 보고서가 출력되어야 차단이 해제됩니다:

code
============================================
✅ Verify (검증) 보고서
============================================

📊 정적 분석
   flutter analyze: ✅ 0 errors, N warnings

   경고 사항 (무시 가능):
   - [경고1] (이유: ...)
   - [경고2] (이유: ...)

🔧 빌드 검증
   build_runner: ✅ 성공
   또는
   build_runner: N/A (freezed 미사용)

📐 포맷 검증
   dart format: ✅ 통과

🛡️ 품질 검증
   아키텍처: ✅ 통과
   디자인 시스템: ✅ 통과
   앱스토어 규정: ✅ 통과

📁 수정된 파일
   1. [파일1.dart] - [변경 내용 요약]
   2. [파일2.dart] - [변경 내용 요약]
   3. [파일3.dart] - [변경 내용 요약]

============================================

🧪 동작 테스트 요청

   아래 시나리오로 테스트해주세요:

   1. [테스트 단계 1]
   2. [테스트 단계 2]
   3. [테스트 단계 3]

   예상 결과: [어떤 결과가 나와야 하는지]

   확인 방법: [어떻게 확인하는지]

============================================
⏳ 사용자 테스트 결과 대기 중...
============================================

사용자 응답 처리

테스트 성공 시

사용자가 다음 중 하나를 입력하면:

  • "테스트 완료"
  • "동작함"
  • "확인"
  • "됨"
  • "OK"
  • "성공"
code
============================================
✅ 작업 완료
============================================

📋 작업 요약
   [작업 내용 요약]

📁 수정된 파일
   1. [파일1.dart]
   2. [파일2.dart]

🧪 테스트: ✅ 사용자 확인 완료

📋 JIRA: FORT-XXX → Done 전환됨

============================================

테스트 실패 시

사용자가 다음 중 하나를 입력하면:

  • "안됨"
  • "에러"
  • "실패"
  • "문제"
  • "버그"
code
⛔ 테스트 실패 - 완료 선언 차단

사용자 피드백: [입력 내용]

다음 단계:
1. 에러 내용을 알려주세요
2. /sc:enforce-rca로 다시 분석
3. 수정 후 /sc:enforce-verify 재실행

현재 JIRA 이슈: FORT-XXX (In Progress 유지)

JIRA 연동

검증 완료 시

code
jira_post (상태 전환):
  issue: FORT-XXX
  transition: Done
  comment: |
    ## 검증 완료

    ### 정적 분석
    - flutter analyze: 0 errors

    ### 빌드 검증
    - build_runner: 성공

    ### 품질 검증
    - 모든 검증 통과

    ### 사용자 테스트
    - 사용자 확인: 완료

    ### 수정된 파일
    {파일 목록}

완료 선언 금지 패턴

다음 상황에서 "완료", "수정됨", "고쳤다" 선언 시 즉시 차단:

code
⛔ HARD BLOCK: 검증 없이 완료 선언 불가

감지된 선언: "수정이 완료되었습니다!"

차단 이유:
- flutter analyze 미실행
- 사용자 테스트 미확인

/sc:enforce-verify 를 먼저 실행해주세요.

자동 호출 조건

다음 Skill 완료 시 자동으로 /sc:enforce-verify 호출:

Skill자동 호출
/sc:troubleshoot
/sc:feature-fortune
/sc:feature-chat
/sc:feature-ui
/sc:backend-service
직접 코드 수정

테스트 시나리오 템플릿

UI 수정 시

code
🧪 동작 테스트 요청

1. 앱을 실행해주세요 (flutter run)
2. [해당 화면]으로 이동해주세요
3. [수정된 UI 요소]를 확인해주세요
4. 다크모드로 전환해서 확인해주세요

예상 결과: [UI가 어떻게 보여야 하는지]

버그 수정 시

code
🧪 동작 테스트 요청

1. 앱을 실행해주세요
2. [버그가 발생했던 상황]을 재현해주세요
3. [수정된 동작]을 확인해주세요

예상 결과: [에러 없이 정상 동작]
이전 증상: [이전에는 어떤 에러가 발생했는지]

API 수정 시

code
🧪 동작 테스트 요청

1. 앱을 실행해주세요
2. [API를 호출하는 기능]을 실행해주세요
3. 네트워크 탭에서 응답을 확인해주세요

예상 결과: [정상 응답, 데이터 표시]

새 기능 추가 시

code
🧪 동작 테스트 요청

1. 앱을 실행해주세요
2. [새 기능 진입 경로]로 이동해주세요
3. [새 기능]을 사용해보세요
4. [예상 동작]을 확인해주세요

예상 결과: [새 기능이 어떻게 동작해야 하는지]