[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6QZM8RKHBH1E1237E2DX8V7":3,"skill-same:01M6QZM8RKHBH1E1237E2DX8V7":82},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":49,"commitSha":50,"skillDirectory":51,"forksCount":52,"repositoryHtmlUrl":53,"repositoryHomepageUrl":54,"ownerHtmlUrl":55,"ownerBlogUrl":6,"ownerDescription":56,"updatedAt":57,"install":58,"resources":71},"01M6QZM8RKHBH1E1237E2DX8V7","wiki-ops-orchestrator",null,"llmwiki CLI를 도구로 구동해 인용 기반 지식 vault를 운영하는 지식 운영 하네스 오케스트레이터. 문서 투입(feed)→결정론 감사(lint 구조·무결성·스키마)→큐레이션 루프(harness generic 루프 엔진 재사용)→인용 질의응답(ask)의 게이트 기반 상태기계. \"위키\u002Fvault에 문서 넣어줘\", \"지식 베이스 감사·정리해줘\", \"vault에서 답 찾아줘\" 요청과 \u002Fwiki-feed·\u002Fwiki-audit·\u002Fwiki-curate·\u002Fwiki-ask 실행 시 발동. llm-wiki 소스코드 개발에는 발동하지 않음 — 스택 플러그인에 위임. Outline 사내위키 문서화는 사용자에게 \u002Fdocument-latest 실행을 안내(workflow:document-latest, 사용자 직접 호출 전용).\nKnowledge-ops orchestrator that drives the llmwiki CLI to operate a cited knowledge vault: gated feed → deterministic audit (structure\u002Fintegrity\u002Fschema lint) → curation loop (reuses the harness generic loop engine) → cited Q&A. Use when: ingesting documents into an llm-wiki vault, auditing or curating wiki health, or answering questions from the compiled wiki. Does not fire for developing the llm-wiki source code itself.","Dokkabei97\u002Fdokkabei-harness","Dokkabei97","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F69792585?v=4","01M6QYPVTYK6CGF609W541QNSD","JangMK","01M6QYPVYXBP1GRYHZ7ZABCZC6",1,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FDokkabei97\u002Fdokkabei-harness\u002Fblob\u002Fmain\u002Fplugins\u002Fwiki-ops\u002Fskills\u002Fwiki-ops-orchestrator\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"orchestrator","wiki ops orchestrator","ops","wiki","audit","integrity","code","knowledge","loop","ask","cli","documents","curate","structure","curation","operate","q&a","source","when","workflow","2026-11-10 10:12:30",false,"---\nname: wiki-ops-orchestrator\ndescription: |\n  llmwiki CLI를 도구로 구동해 인용 기반 지식 vault를 운영하는 지식 운영 하네스 오케스트레이터. 문서 투입(feed)→결정론 감사(lint 구조·무결성·스키마)→큐레이션 루프(harness generic 루프 엔진 재사용)→인용 질의응답(ask)의 게이트 기반 상태기계. \"위키\u002Fvault에 문서 넣어줘\", \"지식 베이스 감사·정리해줘\", \"vault에서 답 찾아줘\" 요청과 \u002Fwiki-feed·\u002Fwiki-audit·\u002Fwiki-curate·\u002Fwiki-ask 실행 시 발동. llm-wiki 소스코드 개발에는 발동하지 않음 — 스택 플러그인에 위임. Outline 사내위키 문서화는 사용자에게 \u002Fdocument-latest 실행을 안내(workflow:document-latest, 사용자 직접 호출 전용).\n  Knowledge-ops orchestrator that drives the llmwiki CLI to operate a cited knowledge vault: gated feed → deterministic audit (structure\u002Fintegrity\u002Fschema lint) → curation loop (reuses the harness generic loop engine) → cited Q&A. Use when: ingesting documents into an llm-wiki vault, auditing or curating wiki health, or answering questions from the compiled wiki. Does not fire for developing the llm-wiki source code itself.\n---\n\n# Wiki-Ops Orchestrator — 지식 운영 하네스\n\n한 줄 요지: 문서를 던지면 **코드가 검증한 인용 위키**가 쌓인다.\n\n핵심 명제: **위키의 신뢰는 모델이 아니라 코드가 만든다.** llmwiki의 lint 3종(구조·무결성·스키마)은\nLLM-0 결정론 게이트다 — 이 하네스는 게이트를 새로 만들지 않고 도구에 내장된 게이트를 루프\n정지조건으로 조립한다. 완료 판정은 모델이 아니라 하네스(exit code)가 한다.\n\n## When to Apply\n\n발동:\n- 문서·디렉토리를 vault에 투입\u002F컴파일할 때 (\"위키에 넣어줘\", \"이 문서들 지식베이스로\")\n- vault 건강 감사·정리가 필요할 때 (\"위키 감사\", \"모순 확인\", \"lint 소견 해소\")\n- 컴파일된 위키 기반 질의응답·synthesis 축적이 필요할 때 (\"vault에서 답해줘\")\n- \u002Fwiki-feed · \u002Fwiki-audit · \u002Fwiki-curate · \u002Fwiki-ask · \u002Fwiki-status 실행 시\n\n미발동 (위임 경계):\n- llm-wiki 소스코드 개발·버그픽스 → python-fastapi 등 스택 플러그인\n- Outline 사내위키 문서화 → 사용자에게 `\u002Fdocument-latest` 실행을 안내 (`workflow:document-latest` 는 `disable-model-invocation: true` — Skill 도구로 위임 불가)\n- 웹 기반 심층 리서치 리포트 → deep-research (vault 근거 리서치는 \u002Fwiki-ask --research)\n\n## Architecture\n\n| 축 | 결정 |\n|---|---|\n| 패턴 | Pipeline (feed→audit→curate→ask) + Producer-Reviewer (wiki-curator maker ↔ wiki-auditor checker) |\n| 실행 모드 | Sub-agents (산출물 파일 경유, 교차 통신 불필요). Stage 3 루프 주체는 **메인 세션** — Stop훅이 메인 세션 종료를 가로채는 구조적 제약 |\n| 루프 엔진 | **harness generic 엔진 재사용** (engine=generic, \u002Floop-run 위임) — 자체 훅 0줄. 플러그인 의존성: harness |\n| 메모리 | vault 자체(git history) + `.planning\u002Fwiki-feed-report.md`·`wiki-audit.md` + generic 루프 파일(`.planning\u002Floop-*`) |\n| 도구 계약 | [references\u002Fllmwiki-contract.md](references\u002Fllmwiki-contract.md) — **에이전트 디스패치 프롬프트에 3요소(vault 절대경로 · LLMWIKI_BIN · 이 파일의 절대경로)를 반드시 포함** (서브에이전트는 이전 대화를 모른다) |\n\n## Team Members\n\n| ID | 에이전트 | 역할 | 산출물 | 도구 경계 |\n|----|---------|------|--------|----------|\n| WC | agents\u002Fwiki-curator.md | maker — 대량 ingest, lint 소견 해소 편집 | vault 커밋, .planning\u002Fwiki-feed-report.md | Edit 보유 |\n| WA | agents\u002Fwiki-auditor.md | checker — lint 실행·triage, 큐레이션 사기 적발 | .planning\u002Fwiki-audit.md | **Edit 미보유** (검증 대상을 못 고침) |\n| WL | agents\u002Fwiki-librarian.md | 질의·synthesis — query\u002Fresearch 라우팅 | 인용 답변 (syntheses는 llmwiki가 씀) | 읽기 + Bash |\n\n## Orchestration Phases\n\n### Stage 0 — Intake & Vault 준비 (담당: 메인 세션)\n\n- Input: vault 경로 (인자 → `$LLMWIKI_VAULT` → 사용자 질문 1회)\n- 절차:\n  1. LLMWIKI_BIN 결정 — contract의 우선순위 (PATH → `$LLMWIKI_REPO` → 질문)\n  2. vault 판정: `init --json` — 기존 vault면 `idempotent_noop:true`, 빈 디렉토리면 신규 스캐폴딩.\n     비어있지 않은 비-vault 디렉토리는 exit 2 → 사용자에게 경로 재확인\n  3. dirty 가드 예방: vault `.gitignore`에 `.planning\u002F`·`HANDOFF.md` 등록+커밋 ([gate-recipes](references\u002Fgate-recipes.md))\n  4. 프로바이더 결정: 기본 ollama. 파이프라인 검증 목적이면 `--provider fake` (품질 판단 금지)\n- Output: vault 절대경로 + LLMWIKI_BIN 확정 (세션 내 고정)\n- 결정론 게이트: `init` exit 0 ∧ `lint --schema` exit 0\n\n### Stage 1 — Feed (담당: 소량 ≤5개 메인 세션 \u002F 대량 WC 디스패치 1회)\n\n- Input: 소스 파일 목록 (md\u002Fmarkdown\u002Ftxt\u002Fpdf만 — 그 외 exit 2) + vault 절대경로·LLMWIKI_BIN (Stage 0 산출, 세션 고정 — WC 디스패치 시 3요소로 전달)\n- 절차: 파일별 `ingest --json` **순차** 실행 (단일 작성자 락 — 병렬 무의미).\n  에러 프로토콜: exit 2(Ollama 다운)→중단·보고 \u002F exit 3(dirty)→원인 파일 확인 후 커밋 or --allow-dirty \u002F\n  exit 3(락)→15초 후 1회 재시도 \u002F exit 4→정책 위반 보고. `skipped:true`는 정상 멱등.\n- Output: `.planning\u002Fwiki-feed-report.md` — 파일별 {source_id, claims, contradictions, commit|skipped|실패 사유}\n- 결정론 게이트: 신규 ingest 전건에 commit 해시 존재\n\n### Stage 2 — Audit (담당: WA 디스패치)\n\n- Input: 디스패치 3요소 (vault 절대경로·LLMWIKI_BIN·contract 절대경로) + gate-recipes 절대경로 + .planning\u002Fwiki-feed-report.md (신규 ingest 건 식별)\n- 절차: lint 3종 `--json` 실행 → 소견 유형별 triage. `--semantic` 요청 시(Ollama 필요) 모순 원장 확인.\n  사기 적발: git diff로 claim 삭제·quote 변조 검사 (integrity pass-rate 조작 반증)\n- Output: `.planning\u002Fwiki-audit.md`\n- ★사용자 게이트 G1: 모순 원장(`wiki\u002F_reports\u002Fcontradictions.md`)에 미해소 모순이 있으면\n  처리 방향(어느 소스를 신뢰할지)은 **반드시 사용자가 결정** — 자동 해소 금지 (llmwiki 설계 불변식)\n\n### Stage 3 — Curate 루프 (담당: 메인 세션이 WC 규율 체화 + generic 루프)\n\n- Input: .planning\u002Fwiki-audit.md 소견 목록 + vault 절대경로·LLMWIKI_BIN (Stage 0 산출)\n- 진입 조건: Stage 2 소견 > 0 이고 사용자가 정리를 원할 때\n- 절차:\n  1. 게이트 시운전 (gate-recipes — exit 0이면 루프 불필요, exit 127\u002F2면 진입 금지)\n  2. `\u002Floop-run` 위임: gate-cmd = lint 3종 `&&` 사슬, promise = `\u003Cpromise>WIKI_CURATE_COMPLETE\u003C\u002Fpromise>`\n  3. 반복 규율: 소견 해소 편집 → `lint --schema` 자가 확인 → vault 커밋(\"curate: …\") → 종료 시도 (판정은 훅)\n  4. 편집 불변식: raw\u002F 수정 금지, claim 삭제로 integrity 통과 금지(사용자 승인 필요), stale은 재-ingest로 해소\n- 정지 조건(훅 판정): 게이트 그린 ∧ promise. 가드레일: max 12회 \u002F 60분 \u002F no-progress 2회 → BLOCKED.md\n- 킬스위치: `\u002Floop-stop`. generic 외 loop-active 발견 시 가동 보류 + 사용자 확인\n- Output: 게이트 그린 vault + progress.md\n\n### Stage 4 — Ask (담당: 경량 질의 메인 세션 \u002F 다면 리서치 WL 디스패치)\n\n- Input: 사용자 질문 + 컴파일된 vault (Stage 3 게이트 그린 산출 — 미큐레이션 상태면 잔존 소견을 답변 한계에 명시)\n- 라우팅: 단일 질문→`query` \u002F 재사용 가치→`--persist`(distinct source ≥2일 때만 물화) \u002F 다면 질문→`research`\n- `citations`가 비면 지어내지 않고 \"근거 없음 — 관련 소스를 feed하라\" 정직 보고 (exit 0 함정)\n- Output: 인용 답변 (+ `wiki\u002Fsyntheses\u002F` reuse_count 복리)\n\n## Gate Policy\n\n- 결정론 게이트 통과 → 자율 진행, 1줄 보고. 실패·모호 → 중단하고 보고 (게이트 우회 금지)\n- 사용자 게이트는 정확히 1개 (★G1 모순 처리 방향) — 나머지 판정은 전부 exit code가 한다\n\n## Error Handling\n\n| 상황 | 대응 |\n|------|------|\n| Ollama 다운 (exit 2) | LLM-0 경로(lint 3종·reindex·graph·MCP-read)는 계속 가능 — feed\u002Fask만 중단 보고 |\n| 작성자 락 30s 초과 (exit 3) | 동시 세션 확인 → 15초 후 1회 재시도 → 재실패 시 보고 |\n| dirty tree (exit 3) | git status로 원인 식별 — 큐레이션 편집이면 커밋, 미지 파일이면 사용자 확인 |\n| no-progress BLOCKED | BLOCKED.md 확인 — 동일 소견 반복이면 해소 불가 사유 보고 + 사용자 에스컬레이션 |\n| airgap 위반 (exit 4) | 우회 금지 — 정책 보고 |\n| loop-active가 generic 외 | 가동 보류 + 내용 표시 후 사용자 확인 (비침범 규약) |\n\n## Completion Criteria\n\n- [ ] 투입 소스 전건 처리 (commit 해시 또는 skipped 근거)\n- [ ] lint 3종 exit 0 (결정론 게이트 그린)\n- [ ] 미해소 모순 0건, 또는 사용자 결정 대기로 명시 이관\n- [ ] `.planning\u002F` 리포트 2종 최신화\n\n## Re-run Support\n\n상태는 vault git history + `.planning\u002F`이 전부다 (대화 컨텍스트에 의존하지 않는다).\n재진입 시 lint 3종 `--json`과 최근 커밋으로 현황을 재구성해 미완 Stage부터 재개한다.\n루프 재개는 `\u002Floop-run` 재실행 (잔존 loop-active 충돌은 loop-run이 검사한다).\n\n## Boundaries\n\nWill:\n- llm-wiki vault 운영 전반 (feed \u002F audit \u002F curate \u002F ask \u002F status)\n- llmwiki CLI 구동과 --json 필드 기반 결정론 판정\n- harness generic 루프 엔진에 큐레이션 루프 위임\n\nWill Not:\n- llm-wiki 소스코드 수정 (→ 스택 플러그인)\n- vault의 raw\u002F 편집, 모순 자동 해소, `--semantic`을 루프 게이트로 사용\n- 사용자 확인 없는 타 엔진 loop-active 침범\n\n## References\n\n- [references\u002Fllmwiki-contract.md](references\u002Fllmwiki-contract.md) — 도구 계약 (종료코드·JSON 필드·락·불변식)\n- [references\u002Fgate-recipes.md](references\u002Fgate-recipes.md) — 게이트 사슬·loop-run 위임·vault 준비 레시피\n","# Wiki-Ops Orchestrator — 지식 운영 하네스\n\n한 줄 요지: 문서를 던지면 **코드가 검증한 인용 위키**가 쌓인다.\n\n핵심 명제: **위키의 신뢰는 모델이 아니라 코드가 만든다.** llmwiki의 lint 3종(구조·무결성·스키마)은\nLLM-0 결정론 게이트다 — 이 하네스는 게이트를 새로 만들지 않고 도구에 내장된 게이트를 루프\n정지조건으로 조립한다. 완료 판정은 모델이 아니라 하네스(exit code)가 한다.\n\n## When to Apply\n\n발동:\n- 문서·디렉토리를 vault에 투입\u002F컴파일할 때 (\"위키에 넣어줘\", \"이 문서들 지식베이스로\")\n- vault 건강 감사·정리가 필요할 때 (\"위키 감사\", \"모순 확인\", \"lint 소견 해소\")\n- 컴파일된 위키 기반 질의응답·synthesis 축적이 필요할 때 (\"vault에서 답해줘\")\n- \u002Fwiki-feed · \u002Fwiki-audit · \u002Fwiki-curate · \u002Fwiki-ask · \u002Fwiki-status 실행 시\n\n미발동 (위임 경계):\n- llm-wiki 소스코드 개발·버그픽스 → python-fastapi 등 스택 플러그인\n- Outline 사내위키 문서화 → 사용자에게 `\u002Fdocument-latest` 실행을 안내 (`workflow:document-latest` 는 `disable-model-invocation: true` — Skill 도구로 위임 불가)\n- 웹 기반 심층 리서치 리포트 → deep-research (vault 근거 리서치는 \u002Fwiki-ask --research)\n\n## Architecture\n\n| 축 | 결정 |\n|---|---|\n| 패턴 | Pipeline (feed→audit→curate→ask) + Producer-Reviewer (wiki-curator maker ↔ wiki-auditor checker) |\n| 실행 모드 | Sub-agents (산출물 파일 경유, 교차 통신 불필요). Stage 3 루프 주체는 **메인 세션** — Stop훅이 메인 세션 종료를 가로채는 구조적 제약 |\n| 루프 엔진 | **harness generic 엔진 재사용** (engine=generic, \u002Floop-run 위임) — 자체 훅 0줄. 플러그인 의존성: harness |\n| 메모리 | vault 자체(git history) + `.planning\u002Fwiki-feed-report.md`·`wiki-audit.md` + generic 루프 파일(`.planning\u002Floop-*`) |\n| 도구 계약 | [references\u002Fllmwiki-contract.md](references\u002Fllmwiki-contract.md) — **에이전트 디스패치 프롬프트에 3요소(vault 절대경로 · LLMWIKI_BIN · 이 파일의 절대경로)를 반드시 포함** (서브에이전트는 이전 대화를 모른다) |\n\n## Team Members\n\n| ID | 에이전트 | 역할 | 산출물 | 도구 경계 |\n|----|---------|------|--------|----------|\n| WC | agents\u002Fwiki-curator.md | maker — 대량 ingest, lint 소견 해소 편집 | vault 커밋, .planning\u002Fwiki-feed-report.md | Edit 보유 |\n| WA | agents\u002Fwiki-auditor.md | checker — lint 실행·triage, 큐레이션 사기 적발 | .planning\u002Fwiki-audit.md | **Edit 미보유** (검증 대상을 못 고침) |\n| WL | agents\u002Fwiki-librarian.md | 질의·synthesis — query\u002Fresearch 라우팅 | 인용 답변 (syntheses는 llmwiki가 씀) | 읽기 + Bash |\n\n## Orchestration Phases\n\n### Stage 0 — Intake & Vault 준비 (담당: 메인 세션)\n\n- Input: vault 경로 (인자 → `$LLMWIKI_VAULT` → 사용자 질문 1회)\n- 절차:\n  1. LLMWIKI_BIN 결정 — contract의 우선순위 (PATH → `$LLMWIKI_REPO` → 질문)\n  2. vault 판정: `init --json` — 기존 vault면 `idempotent_noop:true`, 빈 디렉토리면 신규 스캐폴딩.\n     비어있지 않은 비-vault 디렉토리는 exit 2 → 사용자에게 경로 재확인\n  3. dirty 가드 예방: vault `.gitignore`에 `.planning\u002F`·`HANDOFF.md` 등록+커밋 ([gate-recipes](references\u002Fgate-recipes.md))\n  4. 프로바이더 결정: 기본 ollama. 파이프라인 검증 목적이면 `--provider fake` (품질 판단 금지)\n- Output: vault 절대경로 + LLMWIKI_BIN 확정 (세션 내 고정)\n- 결정론 게이트: `init` exit 0 ∧ `lint --schema` exit 0\n\n### Stage 1 — Feed (담당: 소량 ≤5개 메인 세션 \u002F 대량 WC 디스패치 1회)\n\n- Input: 소스 파일 목록 (md\u002Fmarkdown\u002Ftxt\u002Fpdf만 — 그 외 exit 2) + vault 절대경로·LLMWIKI_BIN (Stage 0 산출, 세션 고정 — WC 디스패치 시 3요소로 전달)\n- 절차: 파일별 `ingest --json` **순차** 실행 (단일 작성자 락 — 병렬 무의미).\n  에러 프로토콜: exit 2(Ollama 다운)→중단·보고 \u002F exit 3(dirty)→원인 파일 확인 후 커밋 or --allow-dirty \u002F\n  exit 3(락)→15초 후 1회 재시도 \u002F exit 4→정책 위반 보고. `skipped:true`는 정상 멱등.\n- Output: `.planning\u002Fwiki-feed-report.md` — 파일별 {source_id, claims, contradictions, commit|skipped|실패 사유}\n- 결정론 게이트: 신규 ingest 전건에 commit 해시 존재\n\n### Stage 2 — Audit (담당: WA 디스패치)\n\n- Input: 디스패치 3요소 (vault 절대경로·LLMWIKI_BIN·contract 절대경로) + gate-recipes 절대경로 + .planning\u002Fwiki-feed-report.md (신규 ingest 건 식별)\n- 절차: lint 3종 `--json` 실행 → 소견 유형별 triage. `--semantic` 요청 시(Ollama 필요) 모순 원장 확인.\n  사기 적발: git diff로 claim 삭제·quote 변조 검사 (integrity pass-rate 조작 반증)\n- Output: `.planning\u002Fwiki-audit.md`\n- ★사용자 게이트 G1: 모순 원장(`wiki\u002F_reports\u002Fcontradictions.md`)에 미해소 모순이 있으면\n  처리 방향(어느 소스를 신뢰할지)은 **반드시 사용자가 결정** — 자동 해소 금지 (llmwiki 설계 불변식)\n\n### Stage 3 — Curate 루프 (담당: 메인 세션이 WC 규율 체화 + generic 루프)\n\n- Input: .planning\u002Fwiki-audit.md 소견 목록 + vault 절대경로·LLMWIKI_BIN (Stage 0 산출)\n- 진입 조건: Stage 2 소견 > 0 이고 사용자가 정리를 원할 때\n- 절차:\n  1. 게이트 시운전 (gate-recipes — exit 0이면 루프 불필요, exit 127\u002F2면 진입 금지)\n  2. `\u002Floop-run` 위임: gate-cmd = lint 3종 `&&` 사슬, promise = `\u003Cpromise>WIKI_CURATE_COMPLETE\u003C\u002Fpromise>`\n  3. 반복 규율: 소견 해소 편집 → `lint --schema` 자가 확인 → vault 커밋(\"curate: …\") → 종료 시도 (판정은 훅)\n  4. 편집 불변식: raw\u002F 수정 금지, claim 삭제로 integrity 통과 금지(사용자 승인 필요), stale은 재-ingest로 해소\n- 정지 조건(훅 판정): 게이트 그린 ∧ promise. 가드레일: max 12회 \u002F 60분 \u002F no-progress 2회 → BLOCKED.md\n- 킬스위치: `\u002Floop-stop`. generic 외 loop-active 발견 시 가동 보류 + 사용자 확인\n- Output: 게이트 그린 vault + progress.md\n\n### Stage 4 — Ask (담당: 경량 질의 메인 세션 \u002F 다면 리서치 WL 디스패치)\n\n- Input: 사용자 질문 + 컴파일된 vault (Stage 3 게이트 그린 산출 — 미큐레이션 상태면 잔존 소견을 답변 한계에 명시)\n- 라우팅: 단일 질문→`query` \u002F 재사용 가치→`--persist`(distinct source ≥2일 때만 물화) \u002F 다면 질문→`research`\n- `citations`가 비면 지어내지 않고 \"근거 없음 — 관련 소스를 feed하라\" 정직 보고 (exit 0 함정)\n- Output: 인용 답변 (+ `wiki\u002Fsyntheses\u002F` reuse_count 복리)\n\n## Gate Policy\n\n- 결정론 게이트 통과 → 자율 진행, 1줄 보고. 실패·모호 → 중단하고 보고 (게이트 우회 금지)\n- 사용자 게이트는 정확히 1개 (★G1 모순 처리 방향) — 나머지 판정은 전부 exit code가 한다\n\n## Error Handling\n\n| 상황 | 대응 |\n|------|------|\n| Ollama 다운 (exit 2) | LLM-0 경로(lint 3종·reindex·graph·MCP-read)는 계속 가능 — feed\u002Fask만 중단 보고 |\n| 작성자 락 30s 초과 (exit 3) | 동시 세션 확인 → 15초 후 1회 재시도 → 재실패 시 보고 |\n| dirty tree (exit 3) | git status로 원인 식별 — 큐레이션 편집이면 커밋, 미지 파일이면 사용자 확인 |\n| no-progress BLOCKED | BLOCKED.md 확인 — 동일 소견 반복이면 해소 불가 사유 보고 + 사용자 에스컬레이션 |\n| airgap 위반 (exit 4) | 우회 금지 — 정책 보고 |\n| loop-active가 generic 외 | 가동 보류 + 내용 표시 후 사용자 확인 (비침범 규약) |\n\n## Completion Criteria\n\n- [ ] 투입 소스 전건 처리 (commit 해시 또는 skipped 근거)\n- [ ] lint 3종 exit 0 (결정론 게이트 그린)\n- [ ] 미해소 모순 0건, 또는 사용자 결정 대기로 명시 이관\n- [ ] `.planning\u002F` 리포트 2종 최신화\n\n## Re-run Support\n\n상태는 vault git history + `.planning\u002F`이 전부다 (대화 컨텍스트에 의존하지 않는다).\n재진입 시 lint 3종 `--json`과 최근 커밋으로 현황을 재구성해 미완 Stage부터 재개한다.\n루프 재개는 `\u002Floop-run` 재실행 (잔존 loop-active 충돌은 loop-run이 검사한다).\n\n## Boundaries\n\nWill:\n- llm-wiki vault 운영 전반 (feed \u002F audit \u002F curate \u002F ask \u002F status)\n- llmwiki CLI 구동과 --json 필드 기반 결정론 판정\n- harness generic 루프 엔진에 큐레이션 루프 위임\n\nWill Not:\n- llm-wiki 소스코드 수정 (→ 스택 플러그인)\n- vault의 raw\u002F 편집, 모순 자동 해소, `--semantic`을 루프 게이트로 사용\n- 사용자 확인 없는 타 엔진 loop-active 침범\n\n## References\n\n- [references\u002Fllmwiki-contract.md](references\u002Fllmwiki-contract.md) — 도구 계약 (종료코드·JSON 필드·락·불변식)\n- [references\u002Fgate-recipes.md](references\u002Fgate-recipes.md) — 게이트 사슬·loop-run 위임·vault 준비 레시피\n",{"name":5,"description":7},"main","e9f37e996e3d2b1b6ac9c879e9dfba1223b597c3","plugins\u002Fwiki-ops\u002Fskills\u002Fwiki-ops-orchestrator",0,"https:\u002F\u002Fgithub.com\u002FDokkabei97\u002Fdokkabei-harness","https:\u002F\u002Fdokkabei97.github.io\u002Fdokkabei-harness\u002F","https:\u002F\u002Fgithub.com\u002FDokkabei97","Contact: wkdrn970@gmail.com","2026-10-29 06:49:16",{"source":8,"skillName":5,"commands":59,"prompt":69,"zipAvailable":70},[60,63,66],{"tool":61,"command":62},"npx","npx skills add Dokkabei97\u002Fdokkabei-harness --skill wiki-ops-orchestrator",{"tool":64,"command":65},"bunx","bunx skills add Dokkabei97\u002Fdokkabei-harness --skill wiki-ops-orchestrator",{"tool":67,"command":68},"pnpm","pnpm dlx skills add Dokkabei97\u002Fdokkabei-harness --skill wiki-ops-orchestrator","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FDokkabei97\u002Fdokkabei-harness\u002Fblob\u002Fmain\u002Fplugins\u002Fwiki-ops\u002Fskills\u002Fwiki-ops-orchestrator\u002FSKILL.md",true,[72,78],{"path":73,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":76,"sourceHtmlUrl":77},"references\u002Fgate-recipes.md","REFERENCE","参考文档",3688,"https:\u002F\u002Fgithub.com\u002FDokkabei97\u002Fdokkabei-harness\u002Fblob\u002Fmain\u002Fplugins\u002Fwiki-ops\u002Fskills\u002Fwiki-ops-orchestrator\u002Freferences\u002Fgate-recipes.md",{"path":79,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":80,"sourceHtmlUrl":81},"references\u002Fllmwiki-contract.md",6169,"https:\u002F\u002Fgithub.com\u002FDokkabei97\u002Fdokkabei-harness\u002Fblob\u002Fmain\u002Fplugins\u002Fwiki-ops\u002Fskills\u002Fwiki-ops-orchestrator\u002Freferences\u002Fllmwiki-contract.md",[83,114,138,161,181,203],{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":94,"publishedAt":44},"01M6QZQTNF815AWYMAMJ3B25GY","sync-claude-md","커밋·푸시·PR\u002FMR 직전에 이번 변경이 프로젝트 CLAUDE.md 를 낡게 만드는지 검토하고, 필요할 때만 갱신 diff 를 제안한다 — 아키텍처·디렉터리 구조, 새 통합\u002FMCP, 컨벤션, 빌드·CI·도구, 주요 의존성 변화가 대상. 해당 없으면 한 줄로 끝낸다.\nReviews whether pending changes make the project CLAUDE.md stale (architecture, integrations, conventions, build\u002FCI\u002Ftooling, major dependencies) and proposes a minimal update diff only when needed.\nUse when: \"CLAUDE.md 갱신 필요해?\", \"CLAUDE.md 동기화\", 커밋\u002F푸시\u002FMR 전에 구조·도구가 바뀐 변경을 정리할 때, sync CLAUDE.md, check CLAUDE.md before commit or PR.","https:\u002F\u002Fgithub.com\u002FDokkabei97\u002Fdokkabei-harness\u002Fblob\u002Fmain\u002Fplugins\u002Fworkflow\u002Fskills\u002Fsync-claude-md\u002FSKILL.md",[89],{"categoryNo":90,"categoryName":91,"taxonomyType":92,"taxonomyTypeDesc":93},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,42],"sync","claude md","sync claude md","MCP","commit","architecture","pr","update","ci","integrations","use","diff","only","minimal","project","make","reviews","pending","mr",{"skillNo":115,"name":116,"nameZh":6,"description":117,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":122,"publishedAt":44},"01M6QZQEK94G00N955VQH9EFQN","spec-driven-dev","새 기능·프로젝트·큰 변경을 코드보다 스펙 먼저로 진행하는 게이트 워크플로(SPECIFY → PLAN → TASKS → IMPLEMENT) — 가정 명시, 측정 가능한 성공 기준, Always\u002FAsk\u002FNever 경계, 단계별 사람 검토로 범위 이탈과 재작업을 줄인다.\nSpec-before-code gated workflow for new features or significant changes: explicit assumptions, measurable success criteria, boundaries, and a human review between stages.\nUse when: \"스펙 먼저\", \"기능 명세\", \"요구사항 정리\", starting a new feature or project, a significant change with vague requirements. 단순 버그 수정·1~2줄 변경엔 불필요.","https:\u002F\u002Fgithub.com\u002FDokkabei97\u002Fdokkabei-harness\u002Fblob\u002Fmain\u002Fplugins\u002Fworkflow\u002Fskills\u002Fspec-driven-dev\u002FSKILL.md",[120,121],{"categoryNo":90,"categoryName":91,"taxonomyType":92,"taxonomyTypeDesc":93},{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[123,124,125,126,127,128,43,129,130,30,131,33,132,133,109,134,135,136,137,42],"spec","spec driven","dev","spec driven dev","driven","review","change","tasks","plan","never","human","feature","for","vague","features",{"skillNo":139,"name":140,"nameZh":6,"description":141,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":144,"publishedAt":44},"01M6QZQA9F6QVGTVDMJ28YQGDV","shipping-guide","프로덕션 배포 전후 가이드 — 배포 전 체크리스트, 피처 플래그 수명주기, 단계적 롤아웃과 진행\u002F보류\u002F롤백 임계값, 롤백 계획 템플릿, 배포 후 모니터링.\nProduction shipping guide: pre-launch checklist, feature-flag lifecycle, staged rollout with go\u002Fhold\u002Frollback thresholds, rollback plan template, post-launch monitoring.\nUse when: \"배포 준비\", \"릴리즈 전 점검\", \"롤아웃 계획\", \"롤백 계획\", preparing a production deploy, staged rollout, feature flags.","https:\u002F\u002Fgithub.com\u002FDokkabei97\u002Fdokkabei-harness\u002Fblob\u002Fmain\u002Fplugins\u002Fworkflow\u002Fskills\u002Fshipping-guide\u002FSKILL.md",[],[145,146,147,148,149,150,151,131,152,153,105,154,155,134,156,157,158,159,160,42],"shipping","guide","shipping guide","launch","monitoring","lifecycle","feature flags","template","rollback","rollout","flags","thresholds","post","with","pre-launch","rollback plan",{"skillNo":162,"name":163,"nameZh":6,"description":164,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":165,"categories":166,"keywords":167,"publishedAt":44},"01M6QZQ3M962PCWYM6YH62D76Z","retro","세션 회고·교훈 컴파운딩 — 이번 세션의 교정·실수·발견을 추출해 품질 기준(재현·일반화·판정 가능성)으로 거르고, 컨벤션 변화는 sync-claude-md 위임, 반복 실수는 tasks\u002Flessons.md(#가드-훅-후보 태그), 스킬 지식 갱신은 수정 제안으로 나눈다. 모든 적용은 승인 후.\nSession retrospective that turns corrections, mistakes, and discoveries into vetted lessons routed to CLAUDE.md sync, tasks\u002Flessons.md, or skill-edit proposals, with user approval before any write.\nUse when: \"회고\", \"레트로\", \"교훈 정리\", \"같은 실수 반복\", \"재발 방지 규칙\", retrospective, lessons learned, wrapping up a task, review, or loop. 여러 실행에 걸친 하네스 개선은 harness:evolve.","https:\u002F\u002Fgithub.com\u002FDokkabei97\u002Fdokkabei-harness\u002Fblob\u002Fmain\u002Fplugins\u002Fworkflow\u002Fskills\u002Fretro\u002FSKILL.md",[],[163,128,95,130,168,169,32,170,171,172,173,174,107,175,176,177,178,179,180,42],"run","harness","evolve","write","edit","proposals","session","up","dry","learned","Session Retrospective","lessons","mistakes",{"skillNo":182,"name":183,"nameZh":6,"description":184,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":185,"categories":186,"keywords":188,"publishedAt":44},"01M6QZPPDATJ7DAGNP0JCXFGRV","project-rules","현재 프로젝트의 스택(빌드 파일 버전, 마이그레이션 도구, ORM 유무, ES 사용, git 호스트)을 감지해 프로젝트 루트 AGENTS.md 의 마커 블록(스택 사실 + 항상 적용되는 스페셜리스트 핵심 ≤15줄 — Claude Code·Codex·Antigravity 공통)과 CLAUDE.md 의 `@AGENTS.md` 연결, Claude 전용 경로 한정 .claude\u002Frules\u002F\u003Cstack>-specialist.md(해당 버전에 실제로 맞는 상세 함정)를 diff 로 제안하고, 스택 플러그인을 런타임별로 프로젝트 범위에서 켜는 법을 안내한다. 이전 버전 출력(CLAUDE.md 블록·specialist-core.md)은 AGENTS.md 로 이전을 제안. --check 는 버전 불일치·사라진 ID·크기 한도·연결 누락을 점검.\nDetects the project's stack and proposes a cross-runtime AGENTS.md block (stack facts + always-on specialist core) linked from CLAUDE.md via @AGENTS.md, plus Claude-only path-scoped specialist rules; migrates the older CLAUDE.md-block layout; --check audits drift.\nUse when: \"이 프로젝트 세팅\", \"프로젝트 규칙 생성\", \"AGENTS.md\u002FCLAUDE.md 점검\", project setup, generate project rules, audit AGENTS.md or CLAUDE.md drift.","https:\u002F\u002Fgithub.com\u002FDokkabei97\u002Fdokkabei-harness\u002Fblob\u002Fmain\u002Fplugins\u002Fworkflow\u002Fskills\u002Fproject-rules\u002FSKILL.md",[187],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[189,109,190,191,192,30,193,28,194,195,106,107,196,197,198,199,200,201,202,42],"Rules","project rules","core","generate","git","stack","orm","es","drift","layout","runtime","-specialist","path","scoped",{"skillNo":204,"name":205,"nameZh":6,"description":206,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":207,"categories":208,"keywords":213,"publishedAt":44},"01M6QZPF3S8YAM27F297F6GVD7","post-merge","MR 머지 완료 후 Plane 이슈 종료와 Outline 문서 업데이트를 자동으로 처리하는 오케스트레이터 스킬입니다.\nissue-tracker와 document-latest 스킬을 연계 실행하여 머지 후 후속 작업을 일괄 처리합니다.\nOrchestrates post-merge follow-up after an MR is merged: chains the issue-tracker and document-latest skills to close the Plane issue and update Outline wiki docs in a single batch. Use when: an MR was just merged, closing tickets and syncing documentation after a merge, post-merge cleanup.","https:\u002F\u002Fgithub.com\u002FDokkabei97\u002Fdokkabei-harness\u002Fblob\u002Fmain\u002Fplugins\u002Fworkflow\u002Fskills\u002Fpost-merge\u002FSKILL.md",[209,212],{"categoryNo":210,"categoryName":211,"taxonomyType":92,"taxonomyTypeDesc":93},"01JBSEEDCAT000000000000002","文档处理",{"categoryNo":90,"categoryName":91,"taxonomyType":92,"taxonomyTypeDesc":93},[214,215,157,216,217,102,218,27,219,175,220,221,222,223,224,225,226,227,113,42],"merge","post merge","documentation","cleanup","batch","just","issue","tracker","close","closing","follow-up","true","plane","single"]