ww-w-ai/bkit-claude-code

pdca-watch

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

First seen May 15, 2026

Installation

$ npx skills add ww-w-ai/bkit-claude-code --skill pdca-watch

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from ww-w-ai/bkit-claude-code · top by installs.

npx skills add ww-w-ai/bkit-claude-code

Browse all from ww-w-ai/bkit-claude-code

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 594
License LICENSE
Default branch main
Open issues 0
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Allowed toolsRead, Glob
Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,893 B
  • docs SUMMARY.md 203 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 11 installs

SKILL.md

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.jsonprimaryFeature, then

activeFeatures[0] as fallback.

  1. 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 MAXTAILLINES = 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

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