원클릭으로
evolution
Nova 자체를 진화시킬 때 사용한다. — MUST TRIGGER: /nova:evolve 호출, 외부 기술 동향을 Nova에 반영해야 할 때, Nova 메타-개선(규칙/스킬/훅 구조 변경) 작업.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Nova 자체를 진화시킬 때 사용한다. — MUST TRIGGER: /nova:evolve 호출, 외부 기술 동향을 Nova에 반영해야 할 때, Nova 메타-개선(규칙/스킬/훅 구조 변경) 작업.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
세션 간 맥락을 연결해야 할 때. — MUST TRIGGER: 세션 시작 시 NOVA-STATE.md 읽기, 커밋 후 상태 갱신, 스프린트 전환 시.
단일 Evaluator의 편향이 우려되는 중요 판단일 때 여러 관점으로 재검토한다. — MUST TRIGGER: 아키텍처 결정, 릴리스 게이트 의심 케이스, 사용자가 /nova:ask 또는 다관점 평가를 요청할 때.
새 Nova 스킬을 작성하거나 기존 스킬 description을 수정할 때. — MUST TRIGGER: skills/ 하위 신규 SKILL.md 생성, 기존 SKILL description 리팩터, 사용자가 'Nova 스킬 추가/수정' 요청 시.
Nova 방법론을 실제 프로젝트에서 검증해 개선 포인트를 찾을 때. — MUST TRIGGER: 신규 Nova 기능 검증, 사용자가 실전 피드백을 요청할 때, 워크트리 격리 환경에서 방법론을 리허설할 때.
자연어 요청을 받아 전체 개발 사이클을 자동 처리해야 할 때. — MUST TRIGGER: /nova:auto 호출, 사용자가 '전체 알아서 해줘' 유형의 요청을 할 때, 다중 에이전트 편성이 필요한 복합 작업.
Plan 문서의 탐색 폭/검증 깊이가 부족할 때 깊이 있는 Plan을 생성한다. — MUST TRIGGER: 복잡도 8+ 작업, 아키텍처 분기 결정, /nova:plan 결과가 얕다고 판단되는 경우, 사용자가 /nova:deepplan 호출.
| name | evolution |
| description | Nova 자체를 진화시킬 때 사용한다. — MUST TRIGGER: /nova:evolve 호출, 외부 기술 동향을 Nova에 반영해야 할 때, Nova 메타-개선(규칙/스킬/훅 구조 변경) 작업. |
| description_en | Use when evolving Nova itself. — MUST TRIGGER: /nova:evolve invocation, when external tech trends must be reflected into Nova, or Nova meta-improvement (rules/skills/hooks structural changes). |
| user-invocable | false |
/nova:evolve 커맨드의 핵심 파이프라인을 정의한다.
Scanner → Filter → Proposal → [Builder → Gate Chain → Merge]
(--apply/--auto만)
Scanner는 WebSearch + GitHub Search API (gh api) 두 채널을 병렬 사용한다. gh api는 star/topic 같은 정량 시그널을 수집하고, WebSearch는 changelog/블로그 같은 서술 정보를 수집한다.
WebSearch 키워드:
site:docs.anthropic.com Claude Codesite:anthropic.com/blogClaude Code changelog latestClaude Code hooks MCP updategh api 쿼리:
gh api 'search/repositories?q=org:anthropics+claude-code&sort=updated&per_page=10'
gh api 'search/repositories?q=org:anthropics+language:TypeScript&sort=updated&per_page=10'
체크 포인트:
WebSearch 키워드:
Claude Code plugin communityCLAUDE.md best practices 2026Claude Code custom agentsgh api 쿼리:
gh api 'search/repositories?q=claude+code+skills+in:name,description&sort=stars&per_page=10'
gh api 'search/repositories?q=topic:claude-code&sort=stars&per_page=10'
gh api 'search/repositories?q=awesome-claude-code&sort=stars&per_page=10'
gh api 'search/repositories?q=claude+code+mcp+in:name,description&sort=stars&per_page=10'
체크 포인트:
WebSearch 키워드:
aider changelog latestcursor rules updateAI coding assistant comparison 2026LLM harness engineeringgh api 쿼리 (2개 — 다양성 의무 충족 후 노이즈 회피):
gh api 'search/repositories?q=aider-chat+in:name,description&sort=stars&per_page=10'
gh api 'search/repositories?q=cursor+rules+in:name,description&sort=stars&per_page=10'
총 8개 쿼리 (Anthropic 2 + 생태계 4 + 하네스 2). cline/continue.dev/windsurf는 WebSearch 키워드로 커버. 추가 쿼리 필요 시
--sources옵션으로 확장 가능.
체크 포인트:
WebSearch와 gh api 채널을 다음 기준으로 평가한다:
| 채널 결과 | 분류 |
|---|---|
| 정상 응답 + 결과 0건 | 0건 |
| HTTP 200 + 결과 ≥1건 | 정상 |
| HTTP 403 (rate-limit) | 실패 |
| HTTP 5xx / network timeout | 실패 |
gh: command not found / 미인증 | 실패 |
| WebSearch 도구 호출 실패 | 실패 |
Baseline fallback 트리거: (WebSearch == 실패 OR WebSearch == 0건) AND (gh api 8개 쿼리 모두 실패 OR 모두 0건). 이 조건 충족 시 dev/docs/evolve-baseline.md에서 nova_applied=false 항목을 로드해 Phase 2 입력으로 전달. 보고서 헤더에 ⚠ Baseline fallback — Live scan failed (reason: {WebSearch={상태}, gh_api={실패 N건/0건 N건}) 명시.
부분 실패(WebSearch 정상 + gh api 일부만 실패)는 fallback 트리거 X — 사용 가능한 데이터로 계속 진행하되 Phase 1 출력에 skip 카운트 노출.
Baseline 갱신 책임은 dev/docs/evolve-baseline.md 참조.
Filter는 3단계 직렬로 동작한다: ① 신호 강도 임계값 → ② Ledger 매칭(중복 흡수 차단) → ③ MUST/MUST NOT 조건.
| 조건 | 통과 기준 |
|---|---|
| GitHub 레포 | stars ≥ 100 OR updated_within_180d |
Anthropic 공식 (docs.anthropic.com, github.com/anthropics/*, anthropic.com/blog) | 임계값 면제 (무조건 통과) |
--min-stars N 오버라이드 | N>0이면 임계값을 N으로 대체 |
--min-stars 0 | 임계값 비활성화 — 모든 GitHub 레포 통과 (노이즈 폭증 주의, 디버그/탐색용) |
낮은 임계값은 노이즈, 너무 높으면 신생 도구 누락 — 100은 시작점이며 측정 후 조정한다.
각 발견 항목에 대해 dev/docs/proposals/_ABSORBED.md를 조회:
source_url substring 매칭 (status≠deprecated 한정) → 이미 흡수 표기 후 제안 제외title/description 키워드 ↔ pattern_slug fuzzy 매칭(단어 단위) → 잠재 중복 표기. 자동 폐기 X — Phase 3 제안서 항목으로 포함하되 ⚠ ledger 잠재 중복: {pattern_slug} 주석을 제안서 헤더에 명시. 사용자는 다음 사이클에서 별도 응답할 필요 없으며, 제안서를 읽고 직접 채택/폐기 판단 (수락 시 일반 머지 흐름, 폐기 시 제안서 삭제).docs/proposals/*-evolve-scan.md)의 비채택(drop/defer/⊘) 항목과 주제가 같으면 → 직전 비채택 재제출: {slug} ({기각 사유}) 표기. 직전 기각 사유를 반박하는 새 근거 없이는 제안에서 제외. 동일 논점이 한 사이클 만에 재등장(예: tree-sitter 컨텍스트 압축맵 graphify→RepoMapper)하는 중복 필터 누락을 차단한다. ledger는 "흡수한 것", 본 단계는 "기각한 것"을 함께 기억해 양방향 중복을 막는다..claude/rules/ 우선순위를 침범하는 변경WebSearch-only 학술 인용(arxiv 등)·개인 블로그는 환각/오인용/결론왜곡 위험이 높다. 2026-06-01 사이클에서 ai-eng 카테고리(WebSearch-only)의 arxiv 인용 3건 전부가 결함으로 드러났다 — 제목 불일치 1건, 결론 상반 1건(논문이 "process 검증은 일관된 개선 없음·고분산"인데 "검증축 추가로 품질 향상"으로 정반대 인용), 맥락 차이 1건. 검증 없이 --apply로 갔으면 틀린 근거가 그대로 머지됐다.
| 출처 유형 | 1차 대조 의무 |
|---|---|
| WebSearch-only 학술(arxiv 등)·개인 블로그 | 필수 — 제안서 진입 전 WebFetch로 제목·결론을 대조. 인용 주장과 불일치/상반/미확인 시 단독 근거 금지(보조 근거 강등 또는 제외) |
| Anthropic 공식 호스트(docs.anthropic.com / github.com/anthropics/* / CHANGELOG) | 경량 확인 (이미 신호강도 면제 대상) |
| stars≥임계 GitHub 레포 | 경량 확인 (gh api로 실재·갱신일 확인으로 충분) |
전수가 아니라 고위험 출처 한정. 실패가 집중된 영역(WebSearch-only 학술/블로그)만 의무화해 비용/지연을 통제한다. low effort 세션에서 의례적 고무도장으로 퇴화하지 않도록, **대조 미수행 인용은 자동으로 보조 근거 강등(default-deny)**이 기본값이다.
변경 가능 범위:
docs/eval-checklist.md — 체크리스트 항목 추가/수정docs/nova-rules.md — 규칙 문구 개선 (의미 변경 불가)docs/templates/*.md — 템플릿 보완commands/*.md — 오타 수정, 문구 개선 (로직 변경 불가)README.md, README.ko.md — 문서 개선변경 불가:
hooks/*.sh — 세션 훅은 patch로 변경 불가skills/*/SKILL.md — 스킬 로직 변경 불가mcp-server/src/** — 서버 코드 변경 불가변경 가능 범위:
hooks/*.sh — 훅 로직 개선commands/*.md — 옵션 추가, 검증 기준 추가skills/*/SKILL.md — 스킬 로직 개선docs/nova-rules.md — 규칙 추가/변경 (session-start.sh 동기화 필수)mcp-server/src/** 변경Gate 1 (Tests): bash tests/test-scripts.sh 실행
git restore .으로 롤백Gate 2 (Evaluator): /nova:review --fast 실행
Gate 3 (수준별 분기):
--auto: 커밋 메시지 자동 생성, git add + git commit--auto: 브랜치 생성 + PR + _ABSORBED.md ledger 행 appendminor 머지 또는 major 사용자 결재 직후:
| {pattern_slug} | {source_url} | v{current_version} | {nova_artifact_path} | active |
pattern_slug — kebab-case, 외부 도구 일반명 (예: aider-repo-map, cursor-rules-mdc)nova_artifact_path — 흡수 결과물 경로 (예: skills/new-skill/SKILL.md)활성화:
/nova:evolve --from-observations
사용자의 실제 행동 패턴에서 CPS Problem 초안을 제안한다. 외부 스캔(WebSearch) 없이 내부 관찰 데이터만 사용한다.
[1] analyze-observations.sh 호출
↓
[2] Top N 반복 패턴 추출 (--pattern 선택)
↓
[3] 패턴 → CPS Problem 초안 드래프트
↓
[4] 사용자 승인 요청 (자동 승격 금지)
↓
[5] 승인된 경우만 → Phase 3 Proposal 진입
# 도구 호출 빈도 분석 (기본)
bash scripts/analyze-observations.sh --top 10 --pattern tool-frequency
# 시퀀스 패턴 분석
bash scripts/analyze-observations.sh --top 5 --pattern sequence
# 반복 실패 패턴 분석
bash scripts/analyze-observations.sh --top 10 --pattern failures
docs/proposals/YYYY-MM-DD-from-observations.md에 저장하고 대기한다/schedule로 cron 등록하여 자동 실행할 수 있다:
/schedule "Nova Self-Evolution 스캔" --cron "0 21 * * 1,3,5" --command "/nova:evolve --auto"
위 예시: 매주 월/수/금 06:00 KST (UTC 21:00)에 자동 스캔 + 자율 범위 적용