Skip to main content

pdca-watch

Live PDCA dashboard ticking every 30s — reads pdca-status.json + token-ledger.ndjson tail, renders fixed-width panel via CC /loop. Triggers: pdca watch, live dashboard, watch progress

설치로 이동

소스 정보

저장소
ww-w-ai/bkit-claude-code
최근 소스 활동
2026년 8월 8일 20:14
감지된 SKILL.md 언어
영어
스타
600
포크
154

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
pdca-watch
classification
workflow
classification-reason
Live PDCA dashboard tied to bkit's state machine + token ledger
deprecation-risk
none
effort
low
description
Live PDCA dashboard ticking every 30s — reads pdca-status.json + token-ledger.ndjson tail, renders fixed-width panel via CC /loop. Triggers: pdca watch, live dashboard, watch progress
argument-hint
[feature]
user-invocable
true
allowed-tools
["Read","Glob"]
imports
[]
next-skill
null
pdca-phase
null
task-template
[Watch] {feature}
# PDCA Watch — Live Tick Dashboard > v2.1.11 Sprint β FR-β4. Wraps `lib/dashboard/watch.js` over CC's > `/loop` (v2.1.71+). Read-only — only consumes state files; never > writes. Falls back to a single render when `/loop` is unsupported > (E-β4-01). ## Arguments | Argument | Description | Example | |----------|-------------|---------| | (none) | Auto-resolve active feature from `pdca-status.primaryFeature` | `/pdca-watch` | | `<feature>` | Watch a specific feature by name | `/pdca-watch bkit-v2111-integrated-enhancement` | ## Behavior ### Resolution 1. If `<feature>` is provided, use it verbatim. 2. Else read `.bkit/state/pdca-status.json` → `primaryFeature`, then `activeFeatures[0]` as fallback. 3. If still no feature → render `"No active PDCA feature. Start one with /pdca pm <feature>"` and exit. ### Tick (every 30s via `/loop`) For each tick, `lib/dashboard/watch.js#renderTick` produces a panel with: ``` Watch <feature> — tick N (HH:MM:SS) ───────────────────────────────────────────────────────────── Phase: <phase> Match: <%> Iter: <n / 5> Tokens: <in> in / <out> out · samples <N> Est cost: $<USD> ───────────────────────────────────────────────────────────── ``` Data sources: - Phase / matchRate / iterationCount: `pdca-status.features[<feature>]` - Token totals: last 50 lines of `token-ledger.ndjson` - Cost: Sonnet-class flat estimate ($3/Mtok in, $15/Mtok out) ### Termination - Ctrl-C from user - Feature `phase === 'completed'` or `phase === 'archived'` - After max 60 ticks (≈30 min) — caller restarts if more time needed ## CC `/loop` Support | CC Version | Behavior | |------------|----------| | ≥ 2.1.71 | Native `/loop 30s` ticker | | < 2.1.71 | E-β4-01: single render + warning, no loop | | Unknown | Same as < 2.1.71 (fail-safe) | The check is performed via `watch.checkLoopSupport({ ccVersion })` — caller passes the resolved CC version from `lib/infra/cc-version-checker`. ## Security - Pure read on `.bkit/state/pdca-status.json` and `.bkit/runtime/token-ledger.ndjson`. - Tail bounded to `MAX_TAIL_LINES = 200` regardless of caller input — defends against pathological NDJSON growth. - No subprocess spawning, no network. - PII redaction on the ledger is owned by the writer (Token Accountant); watch only reads what's already redacted. ## Module Dependencies | Module | Function | Usage | |--------|----------|-------| | `lib/dashboard/watch.js` | `resolveFeature()` | Auto-detect when no arg | | `lib/dashboard/watch.js` | `renderTick()` | One frame per tick | | `lib/dashboard/watch.js` | `tailLedger()` | NDJSON tail (≤200) | | `lib/dashboard/watch.js` | `checkLoopSupport()` | CC version gate | | `lib/infra/cc-version-checker.js` | `getCurrent()` | Version source | ## Examples ```bash # Auto-detect active feature /pdca-watch # Watch a specific feature /pdca-watch bkit-v2111-integrated-enhancement ``` ## Related - `/pdca status` — single snapshot (no loop) - `/control trust` — trust score informs auto-escalation - `/pdca-fast-track` — Daniel-mode auto-approve checkpoints ARGUMENTS:
GitHub에서 보기