AGENT SKILL

wiki-harness-feed

observe 계측을 llm-wiki vault 로 잇는 브릿지 — observe-report 결정론 집계(--candidates 0 --followups 0, 프롬프트 원문 0)를 observe-export.js 로 마크다운 스냅샷으로 렌더하고, feed-gate.sh 2차 게이트 + 사용자 승인 후 .planning/observe-export/<env>-<주차>.md 로 물화해 /wiki-feed 로 ingest 한다. 환경 라벨(personal|company)별 주간 시계열이 vault 에 축적되고, 부채 카운터가 큐레이션 시점을 안내한다. 원시 트레이스·원문 필드는 어떤 형태로도 ingest 하지 않는다. Use when: "하네스 스냅샷 위키에 넣어줘", "observe 리포트 vault 에 축적", 주간 하네스 건강 기록, 하네스 사용 이력 영속화 시. 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 /wiki-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.

License 许可
Apache-2.0
最近更新
2026-10-29
Stars
★ 1
Forks
0

01 前言 Front Matter

name
wiki-harness-feed
description
observe 계측을 llm-wiki vault 로 잇는 브릿지 — observe-report 결정론 집계(--candidates 0 --followups 0, 프롬프트 원문 0)를 observe-export.js 로 마크다운 스냅샷으로 렌더하고, feed-gate.sh 2차 게이트 + 사용자 승인 후 .planning/observe-export/<env>-<주차>.md 로 물화해 /wiki-feed 로 ingest 한다. 환경 라벨(personal|company)별 주간 시계열이 vault 에 축적되고, 부채 카운터가 큐레이션 시점을 안내한다. 원시 트레이스·원문 필드는 어떤 형태로도 ingest 하지 않는다. Use when: "하네스 스냅샷 위키에 넣어줘", "observe 리포트 vault 에 축적", 주간 하네스 건강 기록, 하네스 사용 이력 영속화 시. 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 /wiki-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.

02 资源文件 2

03 SKILL.md 正文

/wiki-harness-feed — 하네스 건강 스냅샷 투입

observe(생산)와 wiki-ops(소비)를 잇는 브릿지 스킬이다. 결합은 하드 의존이 아니라 파일 존재 검사다 — observe 미설치·트레이스 부재 시 중단하고 안내한다. observe 는 어떤 파일도 쓰지 않으므로(stdout-온리 계약) 물화·ingest 는 전부 이 스킬의 책임이다.

When to Apply

  • 주간 하네스 건강 스냅샷을 vault 시계열로 축적할 때 (권장 주기: 주 1회 수동)
  • raw TTL 정리·레포 이동·삭제 등으로 원천 트레이스가 사라지기 전에 사용 이력을 영속화할 때
  • description 튜닝 근거를 "이번 주 수치"에서 "N주 연속 claim"으로 상향하고 싶을 때

Usage

/wiki-harness-feed --env personal|company [--vault <dir>] [--window 7] [--provider fake]
인자 의미
--env 환경 라벨 (필수, 기본값 없음 — 잘못된 라벨은 시계열을 오염시킨다)
--vault vault 경로 (생략 시 $LLMWIKI_VAULT → 둘 다 없으면 진행하지 않고 질문 1회 — fail-closed)
--window 집계 윈도우 일수 (기본 7 — 주간 슬롯)
--provider fake 파이프 전체 결정론 dry-run (Ollama·네트워크 0, 구조 검증 전용)

Flow

  1. Phase 0 — 존재 검사: ① 트레이스 — .tracer/events/(observe 2.0) 또는 구 경로 .claude/skill-trace.jsonl(1.x, 2.0 호환 reader 가 계속 읽음) ② observe 설치본의 bin/observe-export.js ③ vault 경로. 하나라도 없으면 중단 — ①은 OBSERVE_TRACE=1 활성화(다음 세션부터 유효), ②는 /plugin install observe, ③은 vault 준비(/wiki-feed 의 Stage 0)를 안내한다.
  2. Phase 1 — 주간 슬롯 고정 + 렌더 + 2차 게이트: 스냅샷 대상은 지난 완결 ISO 주다. 슬롯 타임스탬프를 결정론 계산해 집계·렌더 양쪽에 주입한다 — 이 고정이 없으면 idle_days 등 벽시계 파생값이 주중 재실행마다 변해 멱등(skipped) 계약이 깨진다: 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())') (직전 일요일 23:59:59Z = 지난 완결 주의 끝) → node <observe>/bin/observe-report.js --json --window 7 --candidates 0 --followups 0 --now "$SLOT" → node <observe>/bin/observe-export.js --env <env> --now "$SLOT" (1차: 원문 필드 fail-closed exit 2) → 임시 파일에 받아 bin/feed-gate.sh <file> (2차: 정형 비밀·경로·attr:, 차단 exit 1). 어느 게이트든 실패하면 ingest 없이 소견을 보고하고 중단한다.
  3. Phase 2 — 승인 게이트: 렌더 전문을 사용자에게 제시하고 승인을 받는다. ingest 는 vault raw/ 와 git history 에 영구 고정되므로 승인 없는 인입은 없다.
  4. Phase 3 — 물화: 프로젝트 .gitignore 에 .planning/observe-export/ 를 idempotent 등록한 뒤(스냅샷이 프로젝트 레포에 커밋되는 경로 차단) .planning/observe-export/<env>-<ISO주차>.md 로 저장 — 주차는 SLOT 이 가리키는 지난 완결 주차(스냅샷 H1 과 일치). 같은 주차 파일이 이미 있고 내용이 다르면 "재실행은 새 source 페이지를 추가한다(supersede 없음)"를 고지한 뒤 진행 여부를 묻는다.
  5. Phase 4 — ingest 위임: /wiki-feed 로 위임 (락·dirty·에러 프로토콜은 도구 계약 소관). ingest 는 스냅샷 디렉토리를 cwd 로 파일명 상대경로로 호출한다 — llmwiki 는 전달된 경로 문자열을 source_path frontmatter 에 그대로 영구 기록하므로(실측: 상대 호출 시 source_path: <파일명>), 절대경로 호출은 홈 경로 준식별자를 vault 에 남긴다. uv 폴백은 cwd 를 바꾸는 --directory 대신 uv run --project "$LLMWIKI_REPO" llmwiki(cwd 보존, 실측 확인)를 쓴다. 판정은 exit 0 ∧ commit 해시 존재. skipped:true 는 실패가 아니라 정상 멱등(동일 주차 재실행)으로 구분 보고한다.
  6. Phase 5 — 부채 카운터: grep -l '하네스 건강 스냅샷' <vault>/wiki/sources/*.md | wc -l 결정론 집계로 스냅샷 소스 페이지 수를 세고, 12 초과 시 /wiki-curate 로 구 주차 정리를 안내한다 (stale lint 는 주차별 신규 파일에 구조적으로 미발화 — references/snapshot-format.md).

Boundaries

Will: 원문 0 집계 스냅샷의 렌더·이중 게이트·승인·물화·ingest 위임, env 라벨 시계열 축적, 멱등/신규 구분 영수증(source_id·commit·claims), 부채 카운터 보고 Will Not: 원시 트레이스(.tracer/·구 skill-trace.jsonl)·원문 필드(candidates/followups/why/args)의 ingest, 승인 없는 자동 feed, vault 미지정 시 진행(fail-closed), ingest 우회 wiki/ 직접 쓰기, 회사 어휘 유래 제안의 공개 레포 라우팅(회사 도메인 용어는 회사 프로젝트-로컬 CLAUDE.md 소관), 환경 간 트레이스 파일 병합·운반(환경 구분은 머신·vault 분리로 성립)

04 同仓库更多 Skills

Dokkabei97
Dokkabei97/dokkabei-harness

sync-claude-md

커밋·푸시·PR/MR 직전에 이번 변경이 프로젝트 CLAUDE.md 를 낡게 만드는지 검토하고, 필요할 때만 갱신 diff 를 제안한다 — 아키텍처·디렉터리 구조, 새 통합/MCP, 컨벤션, 빌드·CI·도구, 주요 의존성 변화가 대상. 해당 없으면 한 줄로 끝낸다. Reviews whether pending changes make the project CLAUDE.md stale (architecture, integrations, conventions, build/CI/tooling, major dependencies) and proposes a minimal update diff only when needed. Use when: "CLAUDE.md 갱신 필요해?", "CLAUDE.md 동기화", 커밋/푸시/MR 전에 구조·도구가 바뀐 변경을 정리할 때, sync CLAUDE.md, check CLAUDE.md before commit or PR.

Skill与智能体开发
★ 1
Dokkabei97
Dokkabei97/dokkabei-harness

spec-driven-dev

새 기능·프로젝트·큰 변경을 코드보다 스펙 먼저로 진행하는 게이트 워크플로(SPECIFY → PLAN → TASKS → IMPLEMENT) — 가정 명시, 측정 가능한 성공 기준, Always/Ask/Never 경계, 단계별 사람 검토로 범위 이탈과 재작업을 줄인다. Spec-before-code gated workflow for new features or significant changes: explicit assumptions, measurable success criteria, boundaries, and a human review between stages. Use when: "스펙 먼저", "기능 명세", "요구사항 정리", starting a new feature or project, a significant change with vague requirements. 단순 버그 수정·1~2줄 변경엔 불필요.

开发工程师Skill与智能体开发
★ 1
Dokkabei97
Dokkabei97/dokkabei-harness

shipping-guide

프로덕션 배포 전후 가이드 — 배포 전 체크리스트, 피처 플래그 수명주기, 단계적 롤아웃과 진행/보류/롤백 임계값, 롤백 계획 템플릿, 배포 후 모니터링. Production shipping guide: pre-launch checklist, feature-flag lifecycle, staged rollout with go/hold/rollback thresholds, rollback plan template, post-launch monitoring. Use when: "배포 준비", "릴리즈 전 점검", "롤아웃 계획", "롤백 계획", preparing a production deploy, staged rollout, feature flags.

★ 1
Dokkabei97
Dokkabei97/dokkabei-harness

retro

세션 회고·교훈 컴파운딩 — 이번 세션의 교정·실수·발견을 추출해 품질 기준(재현·일반화·판정 가능성)으로 거르고, 컨벤션 변화는 sync-claude-md 위임, 반복 실수는 tasks/lessons.md(#가드-훅-후보 태그), 스킬 지식 갱신은 수정 제안으로 나눈다. 모든 적용은 승인 후. Session retrospective that turns corrections, mistakes, and discoveries into vetted lessons routed to CLAUDE.md sync, tasks/lessons.md, or skill-edit proposals, with user approval before any write. Use when: "회고", "레트로", "교훈 정리", "같은 실수 반복", "재발 방지 규칙", retrospective, lessons learned, wrapping up a task, review, or loop. 여러 실행에 걸친 하네스 개선은 harness:evolve.

★ 1
Dokkabei97
Dokkabei97/dokkabei-harness

project-rules

현재 프로젝트의 스택(빌드 파일 버전, 마이그레이션 도구, ORM 유무, ES 사용, git 호스트)을 감지해 프로젝트 루트 AGENTS.md 의 마커 블록(스택 사실 + 항상 적용되는 스페셜리스트 핵심 ≤15줄 — Claude Code·Codex·Antigravity 공통)과 CLAUDE.md 의 `@AGENTS.md` 연결, Claude 전용 경로 한정 .claude/rules/<stack>-specialist.md(해당 버전에 실제로 맞는 상세 함정)를 diff 로 제안하고, 스택 플러그인을 런타임별로 프로젝트 범위에서 켜는 법을 안내한다. 이전 버전 출력(CLAUDE.md 블록·specialist-core.md)은 AGENTS.md 로 이전을 제안. --check 는 버전 불일치·사라진 ID·크기 한도·연결 누락을 점검. Detects 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. Use when: "이 프로젝트 세팅", "프로젝트 규칙 생성", "AGENTS.md/CLAUDE.md 점검", project setup, generate project rules, audit AGENTS.md or CLAUDE.md drift.

开发工程师
★ 1
Dokkabei97
Dokkabei97/dokkabei-harness

post-merge

MR 머지 완료 후 Plane 이슈 종료와 Outline 문서 업데이트를 자동으로 처리하는 오케스트레이터 스킬입니다. issue-tracker와 document-latest 스킬을 연계 실행하여 머지 후 후속 작업을 일괄 처리합니다. Orchestrates 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.

文档处理Skill与智能体开发
★ 1