skills/watch/SKILL.md
Usage `rdc:watch` — Open a live browser viewer tailing this session's activity. Zero infrastructure — pure filesystem + static HTML.
npx skillsauth add LIFEAI/rdc-skills rdc:watchInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
⚠️ OUTPUT CONTRACT (READ FIRST):
guides/output-contract.mdChecklist-only output. No tool-call narration. No raw MCP/JSON/log dumps. One checklist upfront, updated in place, shown again at end with a 1-line verdict.
If dispatching subagents or running as a subagent: read
{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.mdfirst (fallback:{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md).
rdc:overnight, rdc:build on a large epic, or any multi-hour grindInitialize the log and viewer. Run the helper script from the plugin directory in the user's current project:
node ${CLAUDE_PLUGIN_ROOT}/scripts/watch-init.mjs
(If CLAUDE_PLUGIN_ROOT is not set, resolve the plugin path from your invocation context or the installed plugin cache.)
Parse the output. The script prints run_id, log_path, current, viewer, and open_hint. Capture log_path and viewer for the rest of the session.
Open the viewer in the browser. Run the exact open_hint line from the script output. On Windows that's start "" "<viewer-path>".
Report to the user. One line:
watcher live at <viewer-path> — tailing <log-path>
Append one line per substantive action for the rest of the session. Use the documented format — one line, no multi-line payloads:
[<ISO-timestamp>] [<kind>] <message>
Append to BOTH <log-path> (the full history) AND current.log (what the viewer polls). The viewer diffs current.log by length and only appends new lines.
ISO-timestamp — new Date().toISOString()kind — one of: dispatch, commit, test, error, note, bannermessage — single line, no newlines. Keep under ~200 chars.| Kind | When to append |
|------|----------------|
| dispatch | About to dispatch a subagent — include role + epic/task id |
| commit | After a git commit lands — include short sha + subject |
| test | Test run kicked off or result came back |
| error | Anything that failed — include what and why in one line |
| note | General progress ticks (reading files, analyzing, planning) |
| banner | Session start/end markers, major phase changes |
[2026-04-15T23:14:02.318Z] [dispatch] frontend agent → epic abc123 task 4 (rebuild DynamicForm)
[2026-04-15T23:17:41.902Z] [commit] 3f2a1b9 feat(marketing-engine): DynamicForm rhf+zod
[2026-04-15T23:18:05.113Z] [test] pnpm --filter @regen/rdc-marketing-engine test
[2026-04-15T23:18:41.002Z] [error] tsc: src/components/Form.tsx:42 — Property 'foo' does not exist
[2026-04-15T23:19:00.000Z] [note] retrying with corrected type import
[2026-04-15T23:45:10.000Z] [banner] Phase 2 complete — moving to review
printf '[%s] [%s] %s\n' "$(date -u +%Y-%m-%dT%H:%M:%S.000Z)" "dispatch" "your message" >> "$LOG_PATH"
printf '[%s] [%s] %s\n' "$(date -u +%Y-%m-%dT%H:%M:%S.000Z)" "dispatch" "your message" >> "$CURRENT_PATH"
Or from Node:
import { appendFileSync } from "node:fs";
const line = `[${new Date().toISOString()}] [note] ${msg}\n`;
appendFileSync(logPath, line);
appendFileSync(currentPath, line);
<projectRoot>/.rdc/session-log/current.log. Prior run logs remain on disk as <runId>.log.current.log via fetch() every 2s — no server, no deps.rdc:report (the end-of-session Obsidian writeup). It's a live tail for attended or semi-attended sessions.tools
Convert Office documents to/from Markdown with the build-corpus CLI: .docx/.pptx/.ppt → Markdown (Word OMML equations become KaTeX-readable TeX; tables, images, headings preserved), and Markdown → Word (.docx) where inline $...$ and display $$...$$ LaTeX become NATIVE Office Math (OMML) that Word renders as real equations. Use this skill whenever the user asks to convert a Word/PowerPoint document to Markdown, build a Markdown corpus from Office files, turn Markdown into a .docx (optionally with a .dotx template), or "open the report" to edit. Install build-corpus straight from GitHub and run it in the session.
development
Usage `rdc:brochure <input> [--out <path>] [--template <name>] [--format Letter|A4]` — Turn a zip, folder, HTML file, URL, or markdown folder into a print-quality PDF brochure via Puppeteer. Auto-detects print-variant HTML, honors @page CSS, falls back to a Studio-token-aware template when no HTML exists.
tools
Usage `rdc:convert <input> [--out <dir>] [--to markdown|word] [--images assets|base64|s3]` — Convert .docx/.pptx/.ppt → Markdown (Word OMML equations as KaTeX TeX, tables, images) or Markdown → Word via the build-corpus CLI (PyPI `build-corpus`, npm `regen-mde`). Portable: runs in any session that can reach npm or PyPI — Claude Code CLI and claude.ai both fetch + run it. Use whenever the user asks to convert an Office document, build a Markdown corpus from .docx/.pptx, turn Markdown into a .docx, or 'open the report' in the regen-mde editor (Windows).
tools
Usage `rdc:fs-mcp <task>` — Use the File System MCP bridge for live repo reads, safe writes, cloud-to-local ingest, and GitHub-branch imports into a dirty local monorepo. Use when Claude.ai, Cowork, or CLI agents need fs_read/fs_write/fs_import_git_files guidance.