Files
sodalive-ios/docs/20261019_스킬_자동_선택_정책/reviews/phase1-skill-routing-audit.md
T

39 KiB

스킬 라우팅 정책 감사

1. 리뷰 정보

항목 내용
리뷰 대상 Phase 1 / 프로젝트 스킬 선택 정책
기준 commit 또는 working tree 기준 ffa6ff0d22f4df5ac0a6cbb84288a73dcd7cf4cd, 정책 변경 작업 트리
리뷰 일자 2026-10-19 KST
리뷰어 정책 작성자·상위 작업자, Oracle 단일 독립 리뷰
기준 문서 AGENTS.md, docs/agent-guides/agent-execution-policy.md, docs/agent-guides/documentation-policy.md, docs/sample/sample-plan-task.md, docs/sample/sample-review.md
리뷰 상태 수정 검증 완료, 독립 리뷰 차단할 발견 사항 없음

2. 목적과 범위

목적

  • 프로젝트 지시가 Superpowers 중심의 하나의 생명주기와 좁은 전문 스킬 소유권을 설명하는지 점검한다.
  • 두 호스트의 지침 검색 및 스킬 호출 제약, 설치 자료의 차이와 누락을 기록한다.
  • 아래 아홉 사용자 문장을 정책에 따라 라우팅한다. 실제 앱 작업이나 모델 자동 선택 실행은 범위 밖이다.

포함 범위

  • root 지침과 실행 가이드의 정책 정합성, 설치 스킬 inventory, 호스트 검색/권한 동작, 명시적 경계 및 시뮬레이션.
  • 확인 자료: 프로젝트 문서, 설치된 skill 파일/메타데이터, 읽기 전용 플러그인 소스, 공개 공식 문서.

제외 범위

  • 앱 코드, 설정 및 전역 파일 수정, 설치/메타데이터 변경, 실제 로그인/결제/보안 코드 실행, 모델의 아홉 가지 자동 호출을 실제로 검증하는 일.

3. 판정 기준

  • 지시 권한과 도구 권한을 Markdown이 바꾸지 않는다.
  • 매 활성 하위 단계의 주 소유자는 하나이며, 보완 스킬은 범위가 좁다.
  • 유사 skill pair 간 우선순위 및 trigger/sequence가 명시된다.
  • 실제 설치/호스트 근거와 미확인 항목을 구분하고, 미설치 참고를 완료로 오인하지 않는다.
  • 시뮬레이션은 사용자 원문을 그대로 보존하고 자동 eligibility와 별도 명시 허용을 각각 밝힌다.

4. 검토 근거

프로젝트 파일 및 초기 상태

  • 필수 읽기: AGENTS.md (172 lines), docs/agent-guides/agent-execution-policy.md (53 lines), docs/agent-guides/documentation-policy.md (64 lines), docs/sample/sample-plan-task.md, docs/sample/sample-review.md.
  • 시작 상태는 clean, 기준 HEAD ffa6ff0d22f4df5ac0a6cbb84288a73dcd7cf4cd로 부모 작업자가 확인했다. root는 초기 9357 bytes였다.
  • root의 기존 priority는 사용자 → AGENTS → 프로젝트 제약 → oh-my-openagent → Superpowers 순으로 두고, Superpowers를 선택적 사용이라고 적었다. 상세 가이드도 같은 hierarchy를 복제했다. 실행 모드는 brainstorming까지 확장 모드의 사용자 승인 대상으로 묶어 설계 생명주기와 충돌했다. 이 항목은 재정의했고 CORE EXECUTION PRINCIPLES의 영어 원문 및 그 외 기존 프로젝트 규칙은 보존 대상으로 삼았다.
  • documentation-policy.md:11 및 sample-plan-task.md:69-70은 문서 작업의 PRD/TDD 형식 강제를 면제한다. 이에 최소 plan과 대체 문서 검증을 사용했다.
  • 프로젝트 검색에서 추가 하위 AGENTS/override/CLAUDE 지침 및 프로젝트 OpenCode 설정은 발견되지 않았다는 부모 확인을 사용했다. 상위 경로/전역 지침 경로도 부모 확인으로만 기록하며 여기서 다시 실행하지 않았다.

로컬 지침/설정 파일 inventory

작업 디렉터리와 Git root는 /Users/klaus/Develop/sodalive/iOS/SodaLive다. 아래 inventory는 상위 작업자의 정적 filesystem 탐색 결과이며, 다른 프로세스 환경의 추가 context까지 증명하지 않는다.

위치/범위 발견/부재한 파일 및 판정
조상 경로 /, /Users, /Users/klaus, /Users/klaus/Develop, /Users/klaus/Develop/sodalive, /Users/klaus/Develop/sodalive/iOS 각각 AGENTS.md, override/CLAUDE 및 관련 opencode 설정 없음으로 확인
저장소 root 및 descendant (hidden 포함, vendor/generated 제외한 project policy scope) root AGENTS.md 존재. 추가 AGENTS.md, AGENTS.override.md, CLAUDE.md 없음
Codex/OpenCode/Claude global instruction ~/.codex/AGENTS.md, ~/.codex/AGENTS.override.md, ~/.config/opencode/AGENTS.md, ~/.claude/CLAUDE.md 모두 부재
project OpenCode config opencode.json, opencode.jsonc, .opencode/opencode.json, .opencode/opencode.jsonc 부재
global Codex config ~/.codex/config.toml 존재. 승인 정책 never, sandbox danger-full-access, trusted project, multi-agent/plugin hooks enabled 관찰. Superpowers active block은 없음. cache에 존재한다는 사실만으로 inactive라고 단정하지 않음
global OpenCode config ~/.config/opencode/opencode.json 존재. Superpowers Git plugin 및 ponytail/omo plugins 포함, instructions, skills.paths, permission 또는 agent override 없음
skills provenance ~/.agents/.skill-lock.json:104-206가 Matt Pocock 5개와 Addy Osmani 6개 설치를 기록. provenance 기록이지 서명된 무결성 증명은 아님
Codex OMO 잠재 instruction hooks ~/.codex/plugins/cache/sisyphuslabs/omo/5.1.35/hooks/session-start-loading-project-rules.json, user-prompt-submit-loading-project-rules.json 및 components/rules/README.md, components/rules/dist/cli.js, components/rules/bundled-rules/hephaestus/gpt-6.md 확인. 탐색 대상은 CONTEXT, .omo/.claude/.cursor, GitHub/Copilot이며 native AGENTS는 중복 방지를 위해 제외. 프로젝트 내 해당 추가 rule files 및 ~/.omo/rules, ~/.opencode/rules, ~/.claude/rules 부재. hook source를 읽었을 뿐 실행/실제 session output은 확인하지 않음
Codex role config / 기타 host skill ~/.codex/agents/*.toml은 해당 agent 선택 시에만 적용. Codex system skills ~/.codex/skills/.system/{imagegen,openai-docs,review-agent,skill-creator,skill-installer} 및 ~/.config/opencode/skills/commit-with-validation/SKILL.md 존재. 프로젝트 commit skill .opencode/skills/commit-policy/SKILL.md는 명시 경로로 확인 가능

공식 OpenCode 외부 skill scanner는 ~/.agents/skills를 검색한다. Codex도 shared ~/.agents/skills discovery를 지원하나, 특정 세션에서 그 skill이 호출되었다는 뜻은 아니다. 현재 OpenCode skill 도구 목록에서 접근 가능한 실제 skill과 Codex의 문서상 scanner/discovery, Codex session 호출 증거를 서로 구분한다. Skill은 현재 host에서 실제로 발견되고 접근 가능해야 사용 가능하며, deny/ask 및 agent/tool permission을 우선한다. 프로젝트 Markdown은 host permission이나 backend/hook을 덮어쓰거나 강제 차단하지 않는다. 이 감사는 기존 설정/전역 파일을 읽기만 했으며 변경하지 않았다.

호스트 발견/우선순위 구분

  • 문서 검색 규칙과 실행 절차 우선순위는 서로 다르다. 지침 파일 탐색은 호스트 규칙에 따르고, 그 뒤 실행 절차는 root 프로젝트 정책이 정한다. 호스트가 Markdown을 읽는다는 사실은 skill 자동 선택이나 성공을 보증하지 않는다.
  • Codex 공식 자료에 따르면 global guidance가 먼저 오고, project root부터 CWD까지 디렉터리마다 AGENTS.override.md > AGENTS.md > configured fallback 순서에서 첫 비어 있지 않은 파일을 최대 하나 선택한다. 각 하위 디렉터리에서 선택한 지침이 이전 내용을 뒤에 이어 추가/상위 precedence로 적용된다. 이 프로젝트에는 configured fallback이 없다. 기본 지침 크기 한도는 32 KiB다. 문서 순서는 공식 규칙이며, 현재 세션의 실제 병합 출력은 runtime 확인하지 않았다.
  • OpenCode 공식 rules 자료는 현재/상위의 AGENTS.md 또는 CLAUDE.md와 전역 ~/.config/opencode/AGENTS.md 또는 ~/.claude/CLAUDE.md를 설명한다. opencode.json의 instructions는 추가 파일을 합친다. 공식 자료로 AGENTS.override.md 지원은 확인되지 않았다. 로컬/전역 설정 여부는 부모의 초기 조사 결과를 참조하며, 설정 dump를 하지 않았다.
  • 두 호스트 모두 Markdown 링크를 자동으로 본문에 펼친다고 가정하지 않는다. 실행 시 참조 파일을 직접 읽어야 한다. 지침 로드 후 스킬 탐색은 별도 과정이다.

호스트/설치 스킬 inventory

  • 실행 시점의 실제 skill 도구에는 아래 표의 대상 스킬들이 노출되어 있었다. 이것은 도구 목록 증거이지 아홉 prompt의 실제 라우팅 결과가 아니다.
  • OpenCode Superpowers 설치 root: /Users/klaus/.cache/opencode/packages/superpowers@git+https:/github.com/obra/superpowers.git/node_modules/superpowers/skills.
  • Codex Superpowers cache: /Users/klaus/.codex/plugins/cache/openai-curated-remote/superpowers/6.4.2/skills. manifest의 plugin은 skills path ./skills/, version 6.4.2로 선언한다. OpenCode package package.json은 version 7.0.0이다. 두 host의 15 skill 본문은 존재하며, 12개는 동일하고 brainstorming, requesting-code-review, systematic-debugging은 내용이 다르다. Codex cache의 존재는 현재 세션 활성화를 입증하지 않는다. 현재 호스트가 해석한 본문을 우선 읽고 다른 호스트의 문장을 동일하다고 전제하지 않는다.
  • 공통 Superpowers 15개: using-superpowers, brainstorming, writing-plans, executing-plans, subagent-driven-development, dispatching-parallel-agents, using-git-worktrees, test-driven-development, systematic-debugging, requesting-code-review, receiving-code-review, verification-before-completion, finishing-a-development-branch, diagnosing-superpowers, writing-skills.
  • ~/.agents/skills의 Matt Pocock 5개: domain-modeling, codebase-design, grilling, improve-codebase-architecture, setup-matt-pocock-skills. Addy Osmani 6개: security-and-hardening, api-and-interface-design, ci-cd-and-automation, frontend-ui-engineering, observability-and-instrumentation, performance-optimization. 설치 lock은 설치 출처 표기이지 서명/무결성 증명은 아니다.
  • 관련 추가 설치: agora, archify, find-skills, i-have-adhd, kotlin-coroutines-flows, swiftui-expert-skill, ui-ux-pro-max. 기능 트리거가 없는 한 일반 라우팅에 강제하지 않는다. commit-policy는 프로젝트 .opencode/skills/commit-policy/SKILL.md에 있다. Codex의 자동 검색 경로로 간주하지 말고 이미 알려진 파일을 읽는다.
  • Addy의 CI/CD, UI/accessibility, telemetry, measured performance skill은 해당 작업 시에만 쓴다. security-and-hardening은 필요한 보안 범위에만 쓴다.

핵심 skill 및 자료의 제약

  • deep-interview는 모호한 목표·범위·제약·성공 기준의 요구사항 정리용 임시 owner다. 구체적 요청, 오타, 작은 설정 변경, 테스트 보강은 trigger가 아니다. 전체 점수 공식은 기존 작업: 1 - (goal*.30 + scope*.20 + constraints*.15 + success*.20 + context*.15), 신규: 1 - (goal*.35 + scope*.25 + constraints*.15 + success*.25)이며 신규 점수에서 context는 제외된다. 이는 판단 보조이지 측정된 사실이 아니다. 종료는 전체 불확실성 <=0.20과 모든 중요 결정 해결을 함께 만족해야 한다. 중요한 차원 하나가 충분히 확정되지 않았으면 <=0.50 기준에 따라 계속한다. 질문은 한 번에 하나씩이며 요약에 남은 모호성, 차원 점수, 결정, 열린 질문을 담는다.
  • deep-interview는 /Users/klaus/.agents/skills/deep-interview/SKILL.md의 이름이다. description은 목표/범위/제약/성공 기준이 불명확한 요청 trigger로 하고 구체 요청·오타·작은 config/test 작업을 제외한다. frontmatter argument hint는 <rough request>다. SKILL은 산출물/의존성을 정하지 않고 자동 .scratch나 별도 spec 작성을 요구하지 않는다. 해결 사항은 기존 PRD에 합친다. implicit restriction field, agents/openai.yaml, 추가 참조/의존성/다른 skill 파일은 없다. Codex 및 OpenCode 공식 discovery는 ~/.agents/skills 검색을 지원하고, 이 세션의 OpenCode skill tool에 실제 노출됐다. Codex 설치 디렉터리 검색·implicit skill call은 현 세션에서 실행되지 않아 호출 증거가 없다.
  • brainstorming은 새 기능/설계의 기본 설계 흐름이다. 현재 해석된 host 본문을 읽는다. Codex cached copy의 사용자 승인/범위 게이트를 OpenCode 본문과 동일하다고 가정하지 않는다. 상위 실행 권한 및 저장소 기본 단일 작업 원칙은 항상 적용된다.
  • grilling은 아키텍처 전용이 아니다. 계획·결정·아이디어에 적용할 수 있고, 사용자 stress-test 요청 또는 구체적인 대안 비교 때 선택한다. 그릴의 다중 질문 회차와 deep-interview의 단일 질문 규칙을 동시에 소유시키지 않는다.
  • codebase-design은 모듈 규모와 무관하게 깊이/seam/locality 및 exposed interfaces를 다룬다. api-and-interface-design은 REST/GraphQL뿐 아니라 내부 interface/type contracts도 다룬다. 구분은 internal/public 이분법이 아니라 depth/seam/locality 대 stable contract/errors/compatibility다.
  • improve-codebase-architecture는 HTML report를 만들고 브라우저를 열어 사용자 선택 후 grilling을 잇는 workflow다. 설치 skill 및 agents/openai.yaml에 Codex explicit-only gate가 있다. setup-matt-pocock-skills도 같다. OpenCode autoinvoke metadata는 없어서 현재 OpenCode에서 광고될 수 있으며, backend 호출 제한으로 표현하면 안 된다. 프로젝트 Markdown은 두 skill의 implicit invocation을 금지하지만 서버/hook 차단을 보장하지 않는다. 이름을 명시한 skill 호출만 허용한다. 구조 개선 후보 조사나 일반 HTML 결과물 요청만으로 호출 권한을 얻지 않는다. HTML/브라우저/grilling 단계도 흉내 내지 않는다. setup은 별도 일회성 이름 지정 요청만 허용한다.
  • Addy security-and-hardening의 references/hardening-patterns.md는 존재한다. 관련 Addy checklist인 ~/.agents/references/security-checklist.md, accessibility-checklist.md, observability-checklist.md, performance-checklist.md는 없다. 선택적으로 언급된 deprecation-and-migration, debugging-and-error-recovery, shipping-and-launch도 설치되지 않았다. 누락 자료 없이 완전 수행했다고 주장하지 않는다.

공식 문서/외부 출처

실행 환경 및 한계

  • 부모가 확인한 버전: Codex CLI 0.163.0, OpenCode 1.19.3. 적용 환경은 macOS, 작업일 2026-10-19 KST.
  • 부모가 열거한 일부 환경 변수는 현재 작업 시작 시 unset이었다. 다른 프로세스의 환경이나 향후 세션 상태는 증명하지 않는다.
  • Codex OMO 플러그인의 읽기 전용 소스는 CONTEXT.md, .omo/.claude/.cursor 규칙, GitHub instruction/Copilot 경로를 조사하며 native AGENTS 재로딩은 중복 방지를 위해 제외한다. 해당 프로젝트 파일들은 발견되지 않았다는 부모 검색 결과가 있다. hephaestus/gpt-6.md는 persona와 컨텍스트 규칙이지 실제 hook 성공 로그가 아니다. hook은 실행하지 않았다.
  • Codex plugin roles는 선택된 agent에만 적용되며 project rules file이 아니다. 플러그인 자체 AGENTS는 이 저장소의 상위 지침이 아니다. 권한 승인 정책과 sandbox mode는 관찰사항일 뿐 AGENTS로 낮출 수 없고 여기서 변경하지 않았다.
  • 호스트별 새 세션/재시작은 실제 반영을 위해 권장되지만, 이 보고서에서 자동 선택 성공 또는 런타임 효과를 주장하지 않는다.

5. 충돌 처리 결과

다음 표는 상세 가이드의 여섯 조합을 요약한다. 각 경우 한 단계에 중복 owner를 두지 않는다.

충돌 공유 작업 고유 소유권 트리거·순서·우선
brainstorming / deep-interview 제품 요구사항 brainstorming은 설계, interview는 중요 미결정 질문 미결정/충돌/요청 때만 interview 임시 선행, 요약을 기존 PRD에 합친 뒤 설계. 해결된 인터뷰는 반복하지 않는다.
brainstorming / grilling 설계 대안 brainstorming은 생성, grilling은 스트레스 테스트 사용자가 원하거나 concrete alternatives가 있을 때 설계 후 grilling 선택. 단일 질문 인터뷰와 다중 질문 grilling 동시 진행 금지.
brainstorming / codebase-design 경계 설계 전체 설계 대 module 규모와 무관한 depth/seam/locality 및 exposed interface 판단 설계 중 구체적인 seam/depth 문제면 codebase-design 보완. 독립 전체 흐름 대체 불가.
codebase-design / api-and-interface-design module/API contracts depth/seam/locality 대 stable contracts/errors/compatibility; 둘 다 internal/external surfaces 가능 계약 문제는 API skill, seam/depth 문제는 codebase-design이 단계 owner. internal/public로 제한하지 않음.
requesting-code-review / security-and-hardening 보안 리뷰 단일 review 절차 대 보안 기준 보안 기준이 실질 관련될 때만 review에 범위 한정 보완. 리뷰 절차 중복 금지.
systematic-debugging / 일반 조사 원인 파악 재현 버그 진단 대 정보 탐색 실패가 있으면 systematic-debugging부터. 버그가 아닌 조사에 debug 절차를 강제하지 않음.

6. 사용자 요청 라우팅 시뮬레이션

아래 문장은 요청 그대로 옮겼다. 표의 “자동 조건”은 설치/호스트상 선택 가능성만 뜻하며 실제 모델 동작 증거가 아니다. 사용자 명시 호출 및 확장 실행 승인은 서로 다른 조건이다.

# / 정확한 사용자 문장 분류 / 주 skill 보완 skill 실행 순서 제외할 중복 자동 eligibility / 호스트 조건 명시 호출·승인
1. 사용자 로그인 기능을 만들어줘. 구현까지 명시한 신규 기능 요청. 주 lifecycle brainstorming 실제 관련 시 security-and-hardening; 중요 auth 결정 미해결일 때만 임시 deep-interview; 구현 테스트 단계 test-driven-development; 적절한 계획 실행·검증 스킬 로그인 기능 설계 → 필요한 요구사항/contract 및 host approval gate 충족 → 계획 → 승인된 기능 범위 구현 → 테스트/검증 요청을 설계만으로 축소, 이미 승인된 기능 범위 재승인 요구, 추정 backend contract, 무조건 interview, multi-agent 중첩 brainstorming 설치/접근 및 현재 host skill semantics 필요. 실제 자동 호출은 미검증. Codex/OpenCode 본문별 승인 gate를 지킴 “만들어줘”가 기능 구현 범위 권한이다. 필요한 clarification은 실제 중요 미결정에 한정하며 별도 범위 확장만 추가 승인. 인증 계약/방식은 만들어내지 않음
2. 요구사항이 아직 모호한 신규 서비스를 설계해줘. 중요 미결정 신규 요구. 임시 owner deep-interview, 이후 brainstorming 실제 glossary/business domain 결정이면 domain-modeling; 구체적 내부 seam에는 codebase-design 한 질문씩 인터뷰 → 종료 기준 만족/결정 요약 → 기존 PRD 통합 → 서비스 설계 → 필요 시 계획 반복 인터뷰, 자동 .scratch/별도 spec 생성, 자동 grilling deep-interview는 설명상 trigger 적합, OpenCode 설치 노출 확인. Codex 호출/runtime은 미검증 explicit skill 문구가 아니어도 요청이 실질 트리거. 확장 병렬 작업은 별도 승인
3. 결제 도메인의 용어와 상태를 정리해줘. 도메인 용어/model 문서 변경. domain-modeling 실제 신규 동작/제품 설계가 함께 요청되면 brainstorming 기존 용어/도메인 문서 확인 → glossary/state 정리 → 필요한 범위의 문서 검증 단순 조회인데 domain skill 호출, 자동 ADR/이슈 생성 설치되어 있으나 실제 자동 선택 미검증 도메인 모델을 실제로 수정하라는 명시 요청. 커밋은 요청되지 않음
4. 이 모듈의 의존성 설계를 검토해줘. architecture read-only review. codebase-design concrete redesign alternatives가 있으면 brainstorming; 사용자 stress-test 목적이면 grilling module/code evidence 확인 → dependency depth/seam/locality 판단 → findings 보고 improve-codebase-architecture HTML/브라우저/grilling workflow 또는 다른 코드 변경 codebase-design discovery/accessible 필요. improve는 Codex implicit false지만 OpenCode native auto suppression은 설정되지 않음. 프로젝트 정책상 두 host 모두 implicit 호출 금지 사용자가 skill 이름 improve-codebase-architecture를 직접 명시 호출해야 한다. 일반 HTML report 요청은 허가가 아니다. 그 경우도 요구 범위 밖 HTML workflow를 강제하지 않음
5. 새로운 REST API를 설계해줘. API 설계. brainstorming 주 설계, API 계약의 좁은 owner api-and-interface-design 인증/신뢰 경계가 실제이면 security-and-hardening; depth/seam/locality 판단에는 codebase-design 요구/경계 설계 → REST 계약 결정 → 해당 보안 검토 → 문서화/계획 전체 보안 skill 강제, codebase-design으로 안정 계약/errors/compatibility 책임 대체, 구현 자동 착수 brainstorming 및 API skill 설치/노출 조건. 실제 자동 선택 미검증 API 설계 요청으로 충분. 다중 agent/구현 범위 확장은 별도 승인 필요
6. 인증 과정에 보안 취약점이 있는지 검토해줘. read-only security review. security-and-hardening 완료 산출물 리뷰가 필요하면 단일 requesting-code-review; 보안 검토만이면 추가 review skill 불필요 인증 흐름/적용 가능한 checklist 근거 확인 → 취약점 판정/한계 기록 → 보고 인증 수정, 테스트/구현 workflow, 일반 코드 변경, 없는 checklist를 읽었다는 주장 설치 skill은 노출 가능. 필수 참조 일부 없음, 해당 부분 제한 보고. 실제 prompt routing 미검증 보안 검토 요청은 명시. 수정은 요청되지 않았으므로 금지
7. 테스트에 실패하는 버그를 수정해줘. 재현 가능한 버그. systematic-debugging 회귀 테스트 단계 test-driven-development; 구현 후 필요 시 단일 requesting-code-review, 완료 전 verification-before-completion 재현/가설 진단 → 회귀 실패 확인 → 최소 수정 → 관련 테스트 → 검증 별도 일반 조사 owner, 병렬 구현자 중첩, test 없이 symptom-only 변경 해당 Superpowers skill 설치/현재 host 내용 로드 필요. 자동 routing 실제 검증 아님 수정 요청 명확. 무관한 대규모 리팩터링이나 병렬 실행은 별도 허용 필요
8. 기존 코드베이스에서 구조 개선 후보를 찾아줘. 읽기 전용 architecture exploration. 허용된 codebase-design 분석 질문 범위가 모호하면 한 번의 명확화; concrete candidate alternatives를 stress-test해 달라면 grilling 범위/근거 확인 → module/dependency 관찰 → 후보와 근거 보고 improve-codebase-architecture 자동 실행, HTML 작성/브라우저 열기, 사용자 선택 및 후속 grilling 흐름 흉내 improve는 Codex implicit false지만 OpenCode metadata가 없어 광고될 수 있다. AGENTS는 backend/hook 차단을 강제하지 않는다. 프로젝트 정책은 implicit 호출을 금지한다. 사용자가 이름으로 해당 skill 호출을 명시할 때만 허용. 일반 구조 개선 요청은 불충분하며 codebase-design read-only 대안만 수행한다. 명시 요청도 실제 범위/상위 권한을 넘지 않음
9. 기존 설계가 확정되었으니 구현을 계속해줘. 기존 작업 continuation. 유효 plan 있으면 첫 미완료 단계의 owner, 없으면 writing-plans 계획 실행 시 사용자 선택/도구에 따라 executing-plans 또는 subagent-driven-development 하나; 구현 테스트에는 test-driven-development; 완료 검증 verification-before-completion 기존 PRD/plan 및 체크 상태 확인 → plan 유효 시 첫 incomplete task → 없으면 writing-plans로 빠진 계획 보강 → 실행/검증 설계 반복, 새 interview, 설계 확정만으로 계획 존재를 가정, 두 plan-execution 스킬 중첩 현재 host 스킬 노출/계획 문서 존재 조건. 실제 자동 선택 미검증 기존 설계 승인만으로 계획/병렬 방식 승인이 되지 않는다. 유효 plan과 이미 고른 실행 방식이 없으면 계획 작성, 작업 크기에 맞게 단일 경로

7. 발견 사항 요약 및 판정

ID 심각도 상태 제목 후속
REV-P1-001 Medium 수정 완료 이전 root/guide hierarchy가 프로젝트 Superpowers 생명주기를 선택 사항으로 낮추고 플러그인과 단계 순서를 경쟁시킴 root 기준 우선순위와 lifecycle로 교체, 상세 가이드에서 중복 hierarchy 제거
REV-P1-002 Medium 보류 일부 Addy 선택 참고 파일과 optional skills가 설치되지 않음 범위 안에서 한계를 보고. 전역 설치/참고 파일 복원은 수행하지 않음
REV-P1-003 Low 보류 문서 규칙은 런타임 자동 호출 성공을 증명하지 않음 호스트별 실제 아홉 prompt 실행은 요청 범위 밖이며 수행하지 않음
REV-P1-004 Medium 수정 완료 Codex/OpenCode implicit gate와 사용자 명시 범위의 일부 표현이 부정확하거나 과도하게 좁음 plan-task.md P1-R1에 따라 직접 대조 후 수정

REV-P1-001 — 기존 hierarchy 및 lifecycle 모순

  • 심각도: Medium
  • 상태: 수정 완료
  • 관찰: 초기 root와 상세 guide는 skill hierarchy를 plugin 아래에 두고 Superpowers를 선택적 사용으로 표시했다. 또한 브레인스토밍을 확장 모드 승인 대상으로 나열해 설계 단계와 사용자 승인 정책을 섞었다.
  • 근거: 위 문서 초기 내용, 이 보고서 §5, 변경 후 root AGENTS.md의 지시 우선순위/Skill Orchestration, 상세 guide의 root 참조.
  • 영향: 충돌하는 절차 중복, 상위 role/tool permission을 문서로 덮는 오해, 기본 설계 절차 불일치 가능성.
  • 권장 조치: root에서 단일 hierarchy를 권위로 유지하고, guide는 충돌 조합과 실행 제약만 상세화한다.
  • 판정 기록: 2026-10-19 — 두 Markdown 문서를 교체/정리했다. 별도 fresh reviewer는 상위 작업자 소유다.

REV-P1-002 — 설치 참고 자료 누락

  • 심각도: Medium
  • 상태: 보류
  • 관찰: 네 Addy checklist와 세 선택 skill이 설치되지 않았다.
  • 근거: 부모의 설치 경로 확인 기록, 이 보고서 §4 inventory.
  • 영향: 해당 Addy skill을 선택하더라도 일부 checklist 기반 점검은 완전 수행할 수 없다.
  • 권장 조치: 실제 작업 시 한계를 구체적으로 밝히고 가능한 부분만 확인한다. 이번 정책 변경에서 전역 설치/자료 복구는 하지 않는다.
  • 판정 기록: 2026-10-19 — scope 밖 변경 없이 한계로 보류.

REV-P1-003 — 모델 자동 라우팅 증거 부재

  • 심각도: Low
  • 상태: 오탐 아님, 관찰 한계
  • 관찰: 설치 목록과 metadata는 prompt별 자동 skill routing을 증명하지 않는다.
  • 근거: 이번 작업은 정적/논리 검증을 수행했으며 실제 prompt별 모델 실행은 하지 않았다.
  • 영향: 정책상 기대 경로와 모델의 실제 자동 호출은 달라질 수 있다.
  • 권장 조치: 사용 중인 host에서 새 세션으로 별도 검증하되, 프로젝트 정책은 명시 호출 및 권한 경계를 유지한다.
  • 판정 기록: 2026-10-19 — 자동 성공 주장 없이 한계로 기록.

REV-P1-004 — 호스트 호출 gate 및 요청 범위 표현

  • 심각도: Medium
  • 상태: 수정 완료
  • 관찰: 초기 시나리오 8은 OpenCode에서 model invocation이 비활성이라고 잘못 적었으나 installed skill에는 OpenCode autoinvoke metadata가 없어 광고될 수 있다. 시나리오 4는 일반 HTML 요청을 explicit-only skill 허가와 혼동했다. 로그인 기능 만들기 요청을 설계 요청으로만 축소했고, module/API skill 구분을 내부/공개로 잘못 제한했다. Codex manifest 경로/버전과 조사 inventory도 부족했다.
  • 근거: 부모가 직접 확인한 Codex manifest .codex-plugin/plugin.json:46-49, OpenCode Superpowers package.json:1-6, 실제 installed skill metadata 및 부모가 재확인한 파일 목록/설정 경로. 이번 보정의 직접 대상은 AGENTS.md, 상세 guide, 이 감사, plan의 Task 1.3.
  • 영향: OpenCode의 auto-selection 억제 여부에 대한 잘못된 주장, 사용자 요청 권한 축소/일반 산출물 요구의 오승인, 스킬 경계의 오라우팅 가능성.
  • 권장 조치: Codex implicit suppression, OpenCode visibility, project policy, user authorization, backend enforcement를 분리하고 실제 설치본의 경로/버전을 고정 기록한다.
  • 판정 기록: 2026-10-19 — 부모의 직접 대조 결과를 네 문서에서 교정. 이 기록은 구현자의 자체 검증이며 독립 reviewer 결과가 아니다.

8. 리뷰 종료 판정

판정 항목 결과 근거
리뷰 범위 전체 확인 충족 요구된 정책 및 sample 파일 읽음, 설치/검색 증거 범위와 한계 기록
후보 항목 판정 완료 충족 기존 모순은 수정 대상, 미설치 자료 및 런타임 자동 선택은 한계로 분리
확정 항목 plan 반영 충족 plan-task.md Task 1.1에 정책 갱신 기록
보류 항목 담당·재개 조건 기록 충족 REV-P1-002/003에 제한 및 재개 조건 명시
실행 검증과 결과 기록 충족 상위 작업자 정적 assert/직접 대조 및 Oracle 독립 리뷰 완료. 실제 모델 라우팅과 앱 실행은 미검증

최종 결론: 프로젝트 정책 문서 수정 및 검증 완료. Oracle의 독립 리뷰에서 차단/권장 수정 발견 사항은 없었으며, 아홉 시나리오는 모두 논리상 적합하다. 설치 누락과 실제 런타임 확인 한계는 REV-P1-002/003에 남긴다.

남은 항목: 현재 프로젝트 문서 작업에는 없음. 전역 자료 복구나 실제 모델 라우팅 검증을 원하면 별도 요청으로 진행한다.

9. 수정 후 검증 기록

1차 문서 수정 — 2026-10-19

  • 무엇을: root 정책, 실행 상세 guide, 계획 및 이 감사 문서를 작성했다.
  • 왜: project lifecycle hierarchy를 하나로 만들고 host/skill 경계를 출처와 함께 남기기 위해서다.
  • 어떻게:
    • read — 필수 다섯 문서를 읽음.
    • glob docs/20261019_스킬_자동_선택_정책/** — 기존 작업 폴더 없음 확인.
    • wc -c AGENTS.md — 변경 전 9357 bytes.
    • 최종 diff/바이트 검사 및 독립 리뷰 — 아직 실행하지 않음.
  • 남은 항목: 상위 작업자 fresh verification 및 reviewer 결과를 이 기록과 plan-task.md에 누적.

직접 대조 correction — 2026-10-19

  • 무엇을: P1-R1에서 확인된 OpenCode 광고 가능성, Codex skills: ./skills//version 6.4.2와 OpenCode package version 7.0.0, Codex 지침 선택 순서, explicit-only 요청의 정확한 경계, 기능 구현 권한 및 module/API 계약 범위를 반영했다. inventory와 deep-interview discovery 근거를 보강했다.
  • 왜: 이전 audit 표현 중 일부가 설치 metadata와 요청 의미를 부정확하게 나타냈다.
  • 어떻게: 네 대상 Markdown만 apply_patch로 수정했다. 아래 검증은 실제 수행한 정적 파일/문구/diff checks이며 host별 prompt 실행이나 independent review는 아니다.
  • 별도 정정: 1차 기록의 최종 diff/바이트 검사 및 독립 리뷰 — 아직 실행하지 않음은 당시 시점의 사실로 유지한다. 이후 1차 작성 작업에서 wc -c, test, rg, GIT_MASTER=1 git diff --check, GIT_MASTER=1 git status --short를 수행했다. 이번 보정 후 검증은 상위 작업자 수행 예정이다.
  • 남은 항목: 부모의 최종 fresh verification 및 independent review 결과를 별도 누적한다.

상위 작업자 문구 정합성 보정 — 2026-10-19

  • 무엇을: grilling의 회차별 답변 대기와 최종 공유 이해 확인을 구분했다. API 전문 기준은 brainstorming 설계 안에서 적용하도록 명시하고, gstack의 모든 단계 사용·설치를 금지했다. 상세 가이드의 기존 변경 전/중/후 및 커밋 운영 체크를 보존했다.
  • 근거: ~/.agents/skills/grilling/SKILL.md:8-30, 두 호스트 brainstorming의 설계 후 계획 인계, 사용자 gstack 금지 요청, 기준 commit의 상세 가이드 운영 체크.
  • 어떻게: P1-R1에 확인 항목을 먼저 추가한 뒤 지정 네 Markdown 안에서만 수정했다. Codex 디렉터리별 지침 선택도 파일이 없을 수 있으므로 '최대 하나'로 정밀화했다.
  • 남은 항목: 독립 리뷰와 최종 정적/논리 검증. 실제 prompt별 모델 실행은 수행하지 않는다.

최종 상위 작업자 검증 및 독립 리뷰 — 2026-10-19

  • 독립 리뷰: Oracle 세션 ses_ead5ae4d3ffe9PQKHtYkj9nogU가 기준 ffa6ff0d22f4df5ac0a6cbb84288a73dcd7cf4cd 대비 git diff HEAD와 네 문서 전체를 검토했다. 차단/권장 수정 발견 사항 없음, 아홉 시나리오 모두 적합 판정이다. 작성자 자체 검토와 구분되는 단일 독립 리뷰다.
  • 정적 검사: 일회성 Node assert에서 보호 대상 root 섹션 8개 원문 일치, 커밋 스킬 로딩을 호스트별로 바꾼 한 줄 외 개발 가이드 보존, 기존 issue-tracker/domain 문서 불변, 정확한 네 파일 변경 범위, 기준 HEAD 유지, 아홉 사용자 문장 행·여섯 충돌 쌍 및 참조 파일 존재를 확인했다. 결과는 PASS이며 root 크기는 15,975 bytes다. 이는 문서 내용/구조 검사이지 모델 자동 호출 실험이 아니다.
  • 공백 검사: 상위 작업자의 GIT_MASTER=1 git diff --check 및 신규 기록 두 개의 git diff --no-index --check /dev/null <대상 경로>가 모두 통과했다. 독립 리뷰의 GIT_MASTER=1 git diff --check HEAD도 통과했다.
  • 진단: 네 파일에 lsp_diagnostics를 요청했으나 모두 No LSP server configured for extension: .md를 반환했다. Markdown LSP가 깨끗하다고 주장하지 않으며 서버 설치/설정 변경 없이 직접 문서 대조로 대체했다.
  • 제외: 앱 코드 수정, 빌드·앱 테스트, 실제 모델 세션/훅 실행, 전역 설정/설치 파일 수정, 커밋·푸시·히스토리 재작성은 하지 않았다. 설치본의 upstream 무결성 및 Codex 세션 활성화도 입증하지 않았다.
  • index 관찰: 네 문서의 staged/unstaged 변경이 혼재했다. staged 상태의 소유권이 확정되지 않아 그대로 보존했고, 검토와 검증은 unstaged diff만이 아닌 기준 HEAD 대비 전체 작업 트리를 대상으로 했다.
  • 추가 승인 범위: Codex에서 Superpowers의 실제 활성/발견 상태를 별도로 확인한 뒤 필요할 때 전역 활성화 변경을 검토할 수 있다. 빠진 Addy 참고 파일/선택 스킬 복구와 호스트 권한 정책 변경 역시 이 작업에 포함되지 않으며 별도 요청·승인이 필요하다.

사용자 요청 재검증 — 2026-10-19

  • 범위: 사용자의 재검증 요청에 따라 현재 네 문서와 기준 commit을 새로 대조했다. 정책 본문은 수정하지 않았으며 이 감사 기록만 추가한다. 이전 리뷰 승인을 이번 판정의 증거로 재사용하지 않았다.
검증 항목 이번 확인 결과 판정 근거/산출물
기존 규칙 보존 보호 대상 AGENTS 섹션 8개 원문 일치, 의도된 커밋 로딩 문구 외 개발 가이드 보존, 기존 tracker/domain 문서 불변 PASS 기준 ffa6ff0d22f4df5ac0a6cbb84288a73dcd7cf4cd 대비 일회성 Node assert, AGENTS.md
생명주기 및 중복 방지 Superpowers 주 생명주기, 단일 하위 단계 소유권, 여섯 충돌 조합 및 인터뷰 종료/인계 조건 재대조 PASS AGENTS.md:74-140, 상세 가이드, 현재 설치된 deep-interview/grilling 본문과 두 Matt 스킬의 YAML/frontmatter
아홉 시나리오 사용자 원문 9개와 각 행의 필수 7개 항목 확인, 부정 조건을 포함한 논리 대조 PASS 이 문서 §6, 새 정적 검사 및 아래 독립 리뷰
문서 구조·범위 참조 경로 존재, orchestration 섹션 중복 없음, root 15,975 bytes, 기존 네 파일만 변경된 상태 PASS 새 Node assert, git status, GIT_MASTER=1 git diff HEAD --check
단일 독립 게이트 현재 작업 트리 전체를 새로 읽어 검토, 새로운 차단/수정 필요 발견 사항 없음 APPROVE Oracle 세션 ses_ead3313d8ffeXV3nlpORxCVzeQ, 정적/논리 정합성에 한정한 높은 신뢰도

환경 상태의 후속 정정

  • 이번 확인에서는 ~/.agents/references/security-checklist.md, accessibility-checklist.md, observability-checklist.md, performance-checklist.md 네 파일이 모두 존재하며 전체 내용을 읽을 수 있었다. 따라서 §4, REV-P1-002 및 이전 시나리오 6의 참고 파일 부재 표현은 이전 점검 시점의 기록이다. 네 체크리스트 부재로 인한 한계는 현재 해소된 것으로 정정한다. 이번 작업에서 해당 전역 파일을 생성하거나 수정하지는 않았다.
  • deprecation-and-migration, debugging-and-error-recovery, shipping-and-launch 세 선택 스킬은 공유 설치 경로에서 여전히 발견되지 않았다. 이 사실을 네 체크리스트의 현재 존재 여부와 구분한다.
  • Superpowers 15개에 대한 두 호스트 설치본, Matt 5개, Addy 6개와 deep-interview 파일의 존재를 다시 확인했다. 파일 존재는 실제 모델 자동 호출 성공을 뜻하지 않는다. 프로젝트/하위 지침 검색에서는 여전히 root AGENTS.md만 발견됐고, 확인한 전역/프로젝트 override 후보는 부재했다.

재검증 결론: 요청한 오케스트레이션 내용은 현재 정책에 반영되어 있고, 새로운 정책 수정 필요 사항은 발견되지 않았다. 실제 Codex/OpenCode 자동 선택·훅·앱 실행은 이번에도 수행하지 않았다. 네 Markdown에 대한 LSP 요청은 .md 서버 미설정으로 실행 불가였으며, 직접 대조·정적 검사·독립 리뷰로 대체했다. 정책/앱 소스/전역 설정/설치 파일/index/HEAD는 변경하지 않았고, 커밋·푸시도 수행하지 않았다.