[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6QZM0MRWY84H0STH89KF25H":3,"skill-same:01M6QZM0MRWY84H0STH89KF25H":79},{"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":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":49,"ownerHtmlUrl":50,"ownerBlogUrl":6,"ownerDescription":51,"updatedAt":52,"install":53,"resources":66},"01M6QZM0MRWY84H0STH89KF25H","wiki-harness-feed",null,"observe 계측을 llm-wiki vault 로 잇는 브릿지 — observe-report 결정론 집계(--candidates 0 --followups 0, 프롬프트 원문 0)를 observe-export.js 로 마크다운 스냅샷으로 렌더하고, feed-gate.sh 2차 게이트 + 사용자 승인 후 .planning\u002Fobserve-export\u002F\u003Cenv>-\u003C주차>.md 로 물화해 \u002Fwiki-feed 로 ingest 한다. 환경 라벨(personal|company)별 주간 시계열이 vault 에 축적되고, 부채 카운터가 큐레이션 시점을 안내한다. 원시 트레이스·원문 필드는 어떤 형태로도 ingest 하지 않는다. Use when: \"하네스 스냅샷 위키에 넣어줘\", \"observe 리포트 vault 에 축적\", 주간 하네스 건강 기록, 하네스 사용 이력 영속화 시.\nBridges observe telemetry into the llm-wiki vault: renders the raw-text-free deterministic aggregate into a markdown snapshot, double-gates it (renderer fail-closed + feed-gate.sh), and ingests via \u002Fwiki-feed as an env-labeled weekly time series with a curation debt counter. Use when: feeding harness health snapshots into the knowledge vault, persisting harness usage history.","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-harness-feed\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"harness","wiki harness feed","wiki","deterministic","personal","when","company","weekly","curation","free","as","time","markdown","observe","snapshots","export","snapshot","text","knowledge","time series","2026-11-10 10:12:30",false,"---\nname: wiki-harness-feed\ndescription: |\n  observe 계측을 llm-wiki vault 로 잇는 브릿지 — observe-report 결정론 집계(--candidates 0 --followups 0, 프롬프트 원문 0)를 observe-export.js 로 마크다운 스냅샷으로 렌더하고, feed-gate.sh 2차 게이트 + 사용자 승인 후 .planning\u002Fobserve-export\u002F\u003Cenv>-\u003C주차>.md 로 물화해 \u002Fwiki-feed 로 ingest 한다. 환경 라벨(personal|company)별 주간 시계열이 vault 에 축적되고, 부채 카운터가 큐레이션 시점을 안내한다. 원시 트레이스·원문 필드는 어떤 형태로도 ingest 하지 않는다. Use when: \"하네스 스냅샷 위키에 넣어줘\", \"observe 리포트 vault 에 축적\", 주간 하네스 건강 기록, 하네스 사용 이력 영속화 시.\n  Bridges observe telemetry into the llm-wiki vault: renders the raw-text-free deterministic aggregate into a markdown snapshot, double-gates it (renderer fail-closed + feed-gate.sh), and ingests via \u002Fwiki-feed as an env-labeled weekly time series with a curation debt counter. Use when: feeding harness health snapshots into the knowledge vault, persisting harness usage history.\n---\n\n# \u002Fwiki-harness-feed — 하네스 건강 스냅샷 투입\n\nobserve(생산)와 wiki-ops(소비)를 잇는 브릿지 스킬이다. 결합은 하드 의존이 아니라\n**파일 존재 검사**다 — observe 미설치·트레이스 부재 시 중단하고 안내한다.\nobserve 는 어떤 파일도 쓰지 않으므로(stdout-온리 계약) 물화·ingest 는 전부 이 스킬의 책임이다.\n\n## When to Apply\n\n- 주간 하네스 건강 스냅샷을 vault 시계열로 축적할 때 (권장 주기: 주 1회 수동)\n- raw TTL 정리·레포 이동·삭제 등으로 원천 트레이스가 사라지기 전에 사용 이력을 영속화할 때\n- description 튜닝 근거를 \"이번 주 수치\"에서 \"N주 연속 claim\"으로 상향하고 싶을 때\n\n## Usage\n\n```\n\u002Fwiki-harness-feed --env personal|company [--vault \u003Cdir>] [--window 7] [--provider fake]\n```\n\n| 인자 | 의미 |\n|------|------|\n| `--env` | 환경 라벨 (**필수, 기본값 없음** — 잘못된 라벨은 시계열을 오염시킨다) |\n| `--vault` | vault 경로 (생략 시 `$LLMWIKI_VAULT` → 둘 다 없으면 **진행하지 않고** 질문 1회 — fail-closed) |\n| `--window` | 집계 윈도우 일수 (기본 7 — 주간 슬롯) |\n| `--provider fake` | 파이프 전체 결정론 dry-run (Ollama·네트워크 0, 구조 검증 전용) |\n\n## Flow\n\n1. **Phase 0 — 존재 검사**: ① 트레이스 — `.tracer\u002Fevents\u002F`(observe 2.0) 또는 구 경로 `.claude\u002Fskill-trace.jsonl`(1.x, 2.0 호환 reader 가 계속 읽음) ② observe 설치본의 `bin\u002Fobserve-export.js`\n   ③ vault 경로. 하나라도 없으면 중단 — ①은 `OBSERVE_TRACE=1` 활성화(다음 세션부터 유효),\n   ②는 `\u002Fplugin install observe`, ③은 vault 준비(`\u002Fwiki-feed` 의 Stage 0)를 안내한다.\n2. **Phase 1 — 주간 슬롯 고정 + 렌더 + 2차 게이트**: 스냅샷 대상은 **지난 완결 ISO 주**다.\n   슬롯 타임스탬프를 결정론 계산해 집계·렌더 **양쪽**에 주입한다 — 이 고정이 없으면\n   `idle_days` 등 벽시계 파생값이 주중 재실행마다 변해 멱등(skipped) 계약이 깨진다:\n   `SLOT=$(node -e 'const d=new Date();const w=d.getUTCDay()||7;d.setUTCDate(d.getUTCDate()-w);d.setUTCHours(23,59,59,0);console.log(d.toISOString())')`\n   (직전 일요일 23:59:59Z = 지난 완결 주의 끝) →\n   `node \u003Cobserve>\u002Fbin\u002Fobserve-report.js --json --window 7 --candidates 0 --followups 0 --now \"$SLOT\"`\n   → `node \u003Cobserve>\u002Fbin\u002Fobserve-export.js --env \u003Cenv> --now \"$SLOT\"` (1차: 원문 필드 fail-closed exit 2)\n   → 임시 파일에 받아 `bin\u002Ffeed-gate.sh \u003Cfile>` (2차: 정형 비밀·경로·attr:, 차단 exit 1).\n   어느 게이트든 실패하면 ingest 없이 소견을 보고하고 중단한다.\n3. **Phase 2 — 승인 게이트**: 렌더 **전문**을 사용자에게 제시하고 승인을 받는다.\n   ingest 는 vault raw\u002F 와 git history 에 영구 고정되므로 승인 없는 인입은 없다.\n4. **Phase 3 — 물화**: 프로젝트 `.gitignore` 에 `.planning\u002Fobserve-export\u002F` 를 idempotent\n   등록한 뒤(스냅샷이 프로젝트 레포에 커밋되는 경로 차단) `.planning\u002Fobserve-export\u002F\u003Cenv>-\u003CISO주차>.md`\n   로 저장 — 주차는 SLOT 이 가리키는 지난 완결 주차(스냅샷 H1 과 일치). 같은 주차 파일이\n   이미 있고 내용이 다르면 \"재실행은 새 source 페이지를 추가한다(supersede 없음)\"를 고지한\n   뒤 진행 여부를 묻는다.\n5. **Phase 4 — ingest 위임**: `\u002Fwiki-feed` 로 위임 (락·dirty·에러 프로토콜은 도구 계약 소관).\n   ingest 는 스냅샷 디렉토리를 cwd 로 **파일명 상대경로**로 호출한다 — llmwiki 는 전달된\n   경로 문자열을 source_path frontmatter 에 그대로 영구 기록하므로(실측: 상대 호출 시\n   `source_path: \u003C파일명>`), 절대경로 호출은 홈 경로 준식별자를 vault 에 남긴다. uv 폴백은\n   cwd 를 바꾸는 `--directory` 대신 `uv run --project \"$LLMWIKI_REPO\" llmwiki`(cwd 보존,\n   실측 확인)를 쓴다. 판정은 exit 0 ∧ commit 해시 존재. `skipped:true` 는 실패가 아니라\n   **정상 멱등**(동일 주차 재실행)으로 구분 보고한다.\n6. **Phase 5 — 부채 카운터**: `grep -l '하네스 건강 스냅샷' \u003Cvault>\u002Fwiki\u002Fsources\u002F*.md | wc -l`\n   결정론 집계로 스냅샷 소스 페이지 수를 세고, 12 초과 시 `\u002Fwiki-curate` 로 구 주차 정리를\n   안내한다 (stale lint 는 주차별 신규 파일에 구조적으로 미발화 — `references\u002Fsnapshot-format.md`).\n\n## Boundaries\n\nWill: 원문 0 집계 스냅샷의 렌더·이중 게이트·승인·물화·ingest 위임, env 라벨 시계열 축적,\n멱등\u002F신규 구분 영수증(source_id·commit·claims), 부채 카운터 보고\nWill Not: 원시 트레이스(`.tracer\u002F`·구 `skill-trace.jsonl`)·원문 필드(candidates\u002Ffollowups\u002Fwhy\u002Fargs)의 ingest,\n승인 없는 자동 feed, vault 미지정 시 진행(fail-closed), ingest 우회 wiki\u002F 직접 쓰기,\n회사 어휘 유래 제안의 공개 레포 라우팅(회사 도메인 용어는 회사 프로젝트-로컬 CLAUDE.md 소관),\n환경 간 트레이스 파일 병합·운반(환경 구분은 머신·vault 분리로 성립)\n","# \u002Fwiki-harness-feed — 하네스 건강 스냅샷 투입\n\nobserve(생산)와 wiki-ops(소비)를 잇는 브릿지 스킬이다. 결합은 하드 의존이 아니라\n**파일 존재 검사**다 — observe 미설치·트레이스 부재 시 중단하고 안내한다.\nobserve 는 어떤 파일도 쓰지 않으므로(stdout-온리 계약) 물화·ingest 는 전부 이 스킬의 책임이다.\n\n## When to Apply\n\n- 주간 하네스 건강 스냅샷을 vault 시계열로 축적할 때 (권장 주기: 주 1회 수동)\n- raw TTL 정리·레포 이동·삭제 등으로 원천 트레이스가 사라지기 전에 사용 이력을 영속화할 때\n- description 튜닝 근거를 \"이번 주 수치\"에서 \"N주 연속 claim\"으로 상향하고 싶을 때\n\n## Usage\n\n```\n\u002Fwiki-harness-feed --env personal|company [--vault \u003Cdir>] [--window 7] [--provider fake]\n```\n\n| 인자 | 의미 |\n|------|------|\n| `--env` | 환경 라벨 (**필수, 기본값 없음** — 잘못된 라벨은 시계열을 오염시킨다) |\n| `--vault` | vault 경로 (생략 시 `$LLMWIKI_VAULT` → 둘 다 없으면 **진행하지 않고** 질문 1회 — fail-closed) |\n| `--window` | 집계 윈도우 일수 (기본 7 — 주간 슬롯) |\n| `--provider fake` | 파이프 전체 결정론 dry-run (Ollama·네트워크 0, 구조 검증 전용) |\n\n## Flow\n\n1. **Phase 0 — 존재 검사**: ① 트레이스 — `.tracer\u002Fevents\u002F`(observe 2.0) 또는 구 경로 `.claude\u002Fskill-trace.jsonl`(1.x, 2.0 호환 reader 가 계속 읽음) ② observe 설치본의 `bin\u002Fobserve-export.js`\n   ③ vault 경로. 하나라도 없으면 중단 — ①은 `OBSERVE_TRACE=1` 활성화(다음 세션부터 유효),\n   ②는 `\u002Fplugin install observe`, ③은 vault 준비(`\u002Fwiki-feed` 의 Stage 0)를 안내한다.\n2. **Phase 1 — 주간 슬롯 고정 + 렌더 + 2차 게이트**: 스냅샷 대상은 **지난 완결 ISO 주**다.\n   슬롯 타임스탬프를 결정론 계산해 집계·렌더 **양쪽**에 주입한다 — 이 고정이 없으면\n   `idle_days` 등 벽시계 파생값이 주중 재실행마다 변해 멱등(skipped) 계약이 깨진다:\n   `SLOT=$(node -e 'const d=new Date();const w=d.getUTCDay()||7;d.setUTCDate(d.getUTCDate()-w);d.setUTCHours(23,59,59,0);console.log(d.toISOString())')`\n   (직전 일요일 23:59:59Z = 지난 완결 주의 끝) →\n   `node \u003Cobserve>\u002Fbin\u002Fobserve-report.js --json --window 7 --candidates 0 --followups 0 --now \"$SLOT\"`\n   → `node \u003Cobserve>\u002Fbin\u002Fobserve-export.js --env \u003Cenv> --now \"$SLOT\"` (1차: 원문 필드 fail-closed exit 2)\n   → 임시 파일에 받아 `bin\u002Ffeed-gate.sh \u003Cfile>` (2차: 정형 비밀·경로·attr:, 차단 exit 1).\n   어느 게이트든 실패하면 ingest 없이 소견을 보고하고 중단한다.\n3. **Phase 2 — 승인 게이트**: 렌더 **전문**을 사용자에게 제시하고 승인을 받는다.\n   ingest 는 vault raw\u002F 와 git history 에 영구 고정되므로 승인 없는 인입은 없다.\n4. **Phase 3 — 물화**: 프로젝트 `.gitignore` 에 `.planning\u002Fobserve-export\u002F` 를 idempotent\n   등록한 뒤(스냅샷이 프로젝트 레포에 커밋되는 경로 차단) `.planning\u002Fobserve-export\u002F\u003Cenv>-\u003CISO주차>.md`\n   로 저장 — 주차는 SLOT 이 가리키는 지난 완결 주차(스냅샷 H1 과 일치). 같은 주차 파일이\n   이미 있고 내용이 다르면 \"재실행은 새 source 페이지를 추가한다(supersede 없음)\"를 고지한\n   뒤 진행 여부를 묻는다.\n5. **Phase 4 — ingest 위임**: `\u002Fwiki-feed` 로 위임 (락·dirty·에러 프로토콜은 도구 계약 소관).\n   ingest 는 스냅샷 디렉토리를 cwd 로 **파일명 상대경로**로 호출한다 — llmwiki 는 전달된\n   경로 문자열을 source_path frontmatter 에 그대로 영구 기록하므로(실측: 상대 호출 시\n   `source_path: \u003C파일명>`), 절대경로 호출은 홈 경로 준식별자를 vault 에 남긴다. uv 폴백은\n   cwd 를 바꾸는 `--directory` 대신 `uv run --project \"$LLMWIKI_REPO\" llmwiki`(cwd 보존,\n   실측 확인)를 쓴다. 판정은 exit 0 ∧ commit 해시 존재. `skipped:true` 는 실패가 아니라\n   **정상 멱등**(동일 주차 재실행)으로 구분 보고한다.\n6. **Phase 5 — 부채 카운터**: `grep -l '하네스 건강 스냅샷' \u003Cvault>\u002Fwiki\u002Fsources\u002F*.md | wc -l`\n   결정론 집계로 스냅샷 소스 페이지 수를 세고, 12 초과 시 `\u002Fwiki-curate` 로 구 주차 정리를\n   안내한다 (stale lint 는 주차별 신규 파일에 구조적으로 미발화 — `references\u002Fsnapshot-format.md`).\n\n## Boundaries\n\nWill: 원문 0 집계 스냅샷의 렌더·이중 게이트·승인·물화·ingest 위임, env 라벨 시계열 축적,\n멱등\u002F신규 구분 영수증(source_id·commit·claims), 부채 카운터 보고\nWill Not: 원시 트레이스(`.tracer\u002F`·구 `skill-trace.jsonl`)·원문 필드(candidates\u002Ffollowups\u002Fwhy\u002Fargs)의 ingest,\n승인 없는 자동 feed, vault 미지정 시 진행(fail-closed), ingest 우회 wiki\u002F 직접 쓰기,\n회사 어휘 유래 제안의 공개 레포 라우팅(회사 도메인 용어는 회사 프로젝트-로컬 CLAUDE.md 소관),\n환경 간 트레이스 파일 병합·운반(환경 구분은 머신·vault 분리로 성립)\n",{"name":5,"description":7},"main","e9f37e996e3d2b1b6ac9c879e9dfba1223b597c3","plugins\u002Fwiki-ops\u002Fskills\u002Fwiki-harness-feed",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":54,"prompt":64,"zipAvailable":65},[55,58,61],{"tool":56,"command":57},"npx","npx skills add Dokkabei97\u002Fdokkabei-harness --skill wiki-harness-feed",{"tool":59,"command":60},"bunx","bunx skills add Dokkabei97\u002Fdokkabei-harness --skill wiki-harness-feed",{"tool":62,"command":63},"pnpm","pnpm dlx skills add Dokkabei97\u002Fdokkabei-harness --skill wiki-harness-feed","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FDokkabei97\u002Fdokkabei-harness\u002Fblob\u002Fmain\u002Fplugins\u002Fwiki-ops\u002Fskills\u002Fwiki-harness-feed\u002FSKILL.md",true,[67,73],{"path":68,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":71,"sourceHtmlUrl":72},"bin\u002Ffeed-gate.sh","SCRIPT","脚本",2942,"https:\u002F\u002Fgithub.com\u002FDokkabei97\u002Fdokkabei-harness\u002Fblob\u002Fmain\u002Fplugins\u002Fwiki-ops\u002Fskills\u002Fwiki-harness-feed\u002Fbin\u002Ffeed-gate.sh",{"path":74,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":77,"sourceHtmlUrl":78},"references\u002Fsnapshot-format.md","REFERENCE","参考文档",3698,"https:\u002F\u002Fgithub.com\u002FDokkabei97\u002Fdokkabei-harness\u002Fblob\u002Fmain\u002Fplugins\u002Fwiki-ops\u002Fskills\u002Fwiki-harness-feed\u002Freferences\u002Fsnapshot-format.md",[80,111,142,165,185,208],{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":91,"publishedAt":39},"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",[86],{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,24],"sync","claude md","sync claude md","MCP","commit","architecture","pr","update","ci","integrations","use","diff","only","minimal","project","make","reviews","pending","mr",{"skillNo":112,"name":113,"nameZh":6,"description":114,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":123,"publishedAt":39},"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",[117,118],{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},{"categoryNo":119,"categoryName":120,"taxonomyType":121,"taxonomyTypeDesc":122},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[124,125,126,127,128,129,130,131,132,133,134,135,136,137,106,138,139,140,141,24],"spec","spec driven","dev","spec driven dev","driven","review","workflow","change","tasks","code","plan","ask","never","human","feature","for","vague","features",{"skillNo":143,"name":144,"nameZh":6,"description":145,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":146,"categories":147,"keywords":148,"publishedAt":39},"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",[],[149,150,151,152,153,154,155,134,156,157,102,158,159,138,160,161,162,163,164,24],"shipping","guide","shipping guide","launch","monitoring","lifecycle","feature flags","template","rollback","rollout","flags","thresholds","post","with","pre-launch","rollback plan",{"skillNo":166,"name":167,"nameZh":6,"description":168,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":169,"categories":170,"keywords":171,"publishedAt":39},"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",[],[167,129,92,132,172,19,173,174,175,176,177,178,104,179,180,181,182,183,184,24],"run","loop","evolve","write","edit","proposals","session","up","dry","learned","Session Retrospective","lessons","mistakes",{"skillNo":186,"name":187,"nameZh":6,"description":188,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":189,"categories":190,"keywords":192,"publishedAt":39},"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",[191],{"categoryNo":119,"categoryName":120,"taxonomyType":121,"taxonomyTypeDesc":122},[193,106,194,195,196,133,197,198,199,200,103,104,201,202,203,204,205,206,207,24],"Rules","project rules","core","generate","git","audit","stack","orm","es","drift","layout","runtime","-specialist","path","scoped",{"skillNo":209,"name":210,"nameZh":6,"description":211,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":212,"categories":213,"keywords":218,"publishedAt":39},"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",[214,217],{"categoryNo":215,"categoryName":216,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000002","文档处理",{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},[219,220,161,221,222,99,223,21,224,179,225,226,227,228,229,230,231,232,110,24],"merge","post merge","documentation","cleanup","batch","just","issue","tracker","close","closing","follow-up","true","plane","single"]