L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Productivité · SKILL.md

pdca-watch

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

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

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

ArgumentDescriptionExample
(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: lt;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 VersionBehavior
≥ 2.1.71Native /loop 30s ticker
< 2.1.71E-β4-01: single render + warning, no loop
UnknownSame 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

ModuleFunctionUsage
lib/dashboard/watch.jsresolveFeature()Auto-detect when no arg
lib/dashboard/watch.jsrenderTick()One frame per tick
lib/dashboard/watch.jstailLedger()NDJSON tail (≤200)
lib/dashboard/watch.jscheckLoopSupport()CC version gate
lib/infra/cc-version-checker.jsgetCurrent()Version source

Examples

# 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:

Skills enregistrées