workflow-monitor
Use when you want to LIVE-monitor a Claude Code Workflow ("ultracode") fan-out — watch every parallel agent's status, lens/task, model, tokens, tool activity, and final result across the WHOLE FLEET (all sessions/projects) in a read-only terminal cockpit, instead of the sparse native /workflows view or opening a terminal-tail per agent. Also for triaging errored/retrying/stalled agents mid-run, or reviewing a finished run's per-agent prompt/output.
- License 许可
- MIT
- 最近更新
- 2026-11-02
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- workflow-monitor
- description
- Use when you want to LIVE-monitor a Claude Code Workflow ("ultracode") fan-out — watch every parallel agent's status, lens/task, model, tokens, tool activity, and final result across the WHOLE FLEET (all sessions/projects) in a read-only terminal cockpit, instead of the sparse native /workflows view or opening a terminal-tail per agent. Also for triaging errored/retrying/stalled agents mid-run, or reviewing a finished run's per-agent prompt/output.
02 资源文件 84
- 其他.coveragerc418 B
- 脚本codex_monitor.py714 B
- 脚本conftest.py941 B
- 参考文档data/gdd-purpose.md8.7 KB
- 其他fixtures/export/projects/C--Users-Prekzursil/d219bc39-7d7f-4290-befd-f1c079161057/subagents/workflows/wf_export00-fixture/agent-kitchensink.jsonl2.0 KB
- 其他fixtures/export/projects/C--Users-Prekzursil/d219bc39-7d7f-4290-befd-f1c079161057/subagents/workflows/wf_export00-fixture/agent-secretcheck.jsonl1.0 KB
- 其他fixtures/export/projects/C--Users-Prekzursil/d219bc39-7d7f-4290-befd-f1c079161057/subagents/workflows/wf_export00-fixture/agent-taskorder.jsonl778 B
- 其他fixtures/export/projects/C--Users-Prekzursil/d219bc39-7d7f-4290-befd-f1c079161057/subagents/workflows/wf_export00-fixture/journal.jsonl389 B
- 参考文档fixtures/export/projects/C--Users-Prekzursil/d219bc39-7d7f-4290-befd-f1c079161057/workflows/wf_export00-fixture.json2.4 KB
- 其他fixtures/projects/C--Users-Prekzursil/d219bc39-7d7f-4290-befd-f1c079161057/subagents/workflows/wf_a04ce988-c26/journal.jsonl65.1 KB
- 参考文档fixtures/projects/C--Users-Prekzursil/d219bc39-7d7f-4290-befd-f1c079161057/workflows/wf_a04ce988-c26.json24.0 KB
- 脚本monitorcore/__init__.py351 B
- 脚本monitorcore/agent_state.py16.2 KB
- 脚本monitorcore/agent_tail.py19.2 KB
- 脚本monitorcore/agents_source.py13.5 KB
- 脚本monitorcore/ansi_screen.py4.3 KB
- 脚本monitorcore/board.py1.7 KB
- 脚本monitorcore/cockpit.py10.8 KB
- 脚本monitorcore/codex_source.py13.4 KB
- 脚本monitorcore/codex_tail.py35.1 KB
- 脚本monitorcore/contract.py5.1 KB
- 脚本monitorcore/ctx.py3.0 KB
- 脚本monitorcore/databricks_source.py30.3 KB
- 脚本monitorcore/dbx_completion.py17.2 KB
- 脚本monitorcore/dbx_events.py33.3 KB
- 脚本monitorcore/discovery.py9.4 KB
- 脚本monitorcore/event_feed.py4.9 KB
- 脚本monitorcore/export.py5.7 KB
- 脚本monitorcore/group_tree.py6.1 KB
- 脚本monitorcore/health_source.py17.5 KB
- 脚本monitorcore/mcp_source.py25.2 KB
- 脚本monitorcore/monitors.py8.3 KB
- 脚本monitorcore/nav.py8.0 KB
- 脚本monitorcore/pane_views.py17.8 KB
- 脚本monitorcore/pane.py11.8 KB
- 脚本monitorcore/pdf.py11.4 KB
- 脚本monitorcore/redact.py5.8 KB
- 脚本monitorcore/remote_workers.py2.5 KB
- 脚本monitorcore/render_html.py17.1 KB
- 脚本monitorcore/render_md.py13.3 KB
- 脚本monitorcore/report_doc.py4.5 KB
- 脚本monitorcore/responsive.py5.0 KB
- 脚本monitorcore/spawn.py3.9 KB
- 脚本monitorcore/stall.py6.6 KB
- 脚本monitorcore/textsafe.py6.5 KB
- 脚本monitorcore/timeline.py3.7 KB
- 脚本monitorcore/unified.py14.3 KB
- 脚本monitorcore/view.py5.2 KB
- 脚本monitorcore/watchdog.py7.2 KB
- 脚本p2r2e_board.py483 B
- 参考文档README.md13.1 KB
- 脚本smoke_test.py3.1 KB
- 参考文档steps-e/step-e-01-discovery.md8.7 KB
- 参考文档steps-e/step-e-01b-legacy-conversion.md7.2 KB
- 参考文档steps-e/step-e-02-review.md8.2 KB
- 参考文档steps-e/step-e-03-edit.md7.8 KB
- 参考文档steps-e/step-e-04-complete.md5.2 KB
- 脚本test_workflow_run.py7.5 KB
- 脚本tests/test_cli.py15.0 KB
- 脚本tests/test_glyph_width.py7.3 KB
- 脚本tests/test_golden.py4.1 KB
- 脚本tests/test_journal_discovery.py16.5 KB
- 脚本tests/test_journal_roster.py12.2 KB
- 脚本tests/test_keybind.py8.7 KB
- 脚本tests/test_model.py14.1 KB
- 脚本tests/test_parser_backfill.py12.8 KB
- 脚本tests/test_quiet_wording.py3.7 KB
- 脚本tests/test_reintegration.py4.8 KB
- 脚本tests/test_render_html.py16.7 KB
- 脚本tests/test_render_md.py16.6 KB
- 脚本tests/test_source.py9.7 KB
- 脚本tests/test_timeline.py8.0 KB
- 脚本unified_board.py1.8 KB
- 脚本wfmon_export/__init__.py1.9 KB
- 脚本wfmon_export/__main__.py366 B
- 脚本wfmon_export/cli.py8.8 KB
- 脚本wfmon_export/model.py11.2 KB
- 脚本wfmon_export/render_html.py1.4 KB
- 脚本wfmon_export/render_md.py1.3 KB
- 脚本wfmon_export/source.py8.5 KB
- 其他wfmon.cmd808 B
- 脚本workflow_monitor.py36.1 KB
- 脚本workflow_run.py35.0 KB
- 参考文档workflow.md2.9 KB
03 SKILL.md 正文
workflow-monitor
Overview
A live, read-only, Windows-native Textual cockpit for Claude Code Workflow (ultracode) runs. It surfaces the one signal the native /workflows view and the old per-agent tailers under-use: the live-flushed telemetry manifest ~/.claude/projects/<proj>/<sess>/workflows/wf_<id>.json (re-written ~0s after every agent progress event), which already carries per-agent label (the human lens name), phase, model, state, tokens, tool activity, and prompt/result previews — for the whole fan-out, across every session/project.
Run it
pip install textual rich # one-time (textual is the only non-stdlib dep)
python workflow_monitor.py # the interactive whole-fleet cockpit
python workflow_run.py # a plain-text one-shot fleet board (no TUI) — quick check / CI-friendly
Cockpit: left = filter + status chips + a run → phase → agent tree (glyph · lens · model · tokens · last-tool; ↻ retry, STALL Ns when idle) + a collapsible Codex threads panel (the local OpenAI Codex fleet via the vendored codexmon adapter — its title always carries the live rollup); right = the selected agent's Task (its prompt), a live Feed (transcript tail), and Result (headline + clean output). Keys: q quit · f live-follow · r refresh. It never writes any .claude file and polls O(changed) so it stays snappy across hundreds of runs. The standalone Codex board is mon codexmon (entry codex_monitor.py → monitorcore.codex_tail; stream + rollout tailing with mandatory redaction at ingest).
How it works
workflow_run.py is the shared, dependency-light parser (manifest + journal + transcripts + FleetPoller O(changed) polling); the recall-workflow-agent skill shares this same core. Output/status come from the authoritative journal result / started events, not mtime guessing.
Export a run (e / wfmon export)
Snapshot any run to a self-contained, secret-redacted Markdown / HTML / PDF report. Pure-render core (wfmon_export), stdlib-only at import; PDF engines are optional and feature-detected.
wfmon export <wf_id> [--scope run|subset|agent] [--agents L1,L2] \
[--format md|html|pdf] [--pdf-engine ...] \
[--tools full|summary|none] [--no-thinking] [--no-redact] \
[--out DIR] [--projects DIR]
- Cockpit keybind: press
eon a selected run/agent node to export it off the UI thread (defaults: md, full tools, thinking on, strict redaction, out =<tempdir>/wfmon-exports/). - Scope:
run= every agent;subset/agent= agents whose label is in--agents(case-insensitive, label-set — all matching agents export). - Fan-out DAG: every report renders the run's phase→agent + phase→phase graph (Markdown as a
mermaidflowchart plus an ASCII fallback; HTML inline) built purely from the phase list — there is no storedfanoutfield. - Redaction (strict by default, fail-closed): API keys, GitHub PAT/oauth tokens, AWS keys, Slack tokens, JWTs, PEM private keys,
*.gitcrypt.keypaths are masked, then home paths (C:\Users\<u>,/mnt/c/Users/<u>, 8.3PREKZU~1, …) collapse to~. An audit banner reportsN masked;--no-redactopts out and is banner-flaggedredaction: off. - PDF ladder (best-available, never raises):
typst(+pandoc) →playwright→edge→chrome→pandoc→xhtml2pdf→fpdf2→html(terminal). On any engine failure it descends and always ends by writing the self-contained interactive HTML (whoseonbeforeprintexpands all sections for browser print-to-PDF).--pdf-engineforces a rung but still degrades to HTML. - Read-only out-guard:
--outis resolved (realpath of the nearest existing ancestor + normalized tail + normcase, expanding 8.3 short names) and refused if it lands under~/.claude/projects/**. Export only ever READS.claude. - Exit codes:
0success ·1render/engine error (PDF still degraded to HTML) ·2bad args / out-guard violation / unknownwf_id/ unknown label.
Caveat (important)
The manifest + journal shapes are Claude Code internal + undocumented (verified on v2.1.207). Parsing is defensive, and test_workflow_run.py pins the schema against a real fixture — if a Claude Code update changes the shape, that test fails loudly. Re-verify the fixture after major CC upgrades.
04 同仓库更多 Skills
clarify-requirements
Resolve genuine pre-execution ambiguity by scanning repo context, generating 1-6 grounded options, and asking 1-3 focused questions via AskUserQuestion. NOT for mid-task use (injection risk); NOT when the goal is already unambiguous; use to disambiguate vague prompts before any file edits.
openmm-md
Run FREE, open-source, Windows-native GPU molecular dynamics via the openmm-md MCP (OpenMM + CUDA on the local NVIDIA GPU). Use for protein / protein-ligand MD when you want a free stack or are on Windows without a Schrodinger license. Covers the full workflow (prepare, solvate, minimize, equilibrate, production, analyze, mmgbsa) AND an honest decision guide vs Schrodinger Desmond, including how to run Desmond legitimately on Linux or a cloud GPU with a real license. This is a deliberately LESSER free alternative and does NOT replace the schrodinger MCP tools. Do NOT use it to pick a free tool when a validated FEP+, WaterMap, IFD-MD, or Prime MM-GBSA result is actually required.
visual-review
Take screenshots of web pages and UI using Playwright for visual review and iteration
status
Diagnostic status report — shows metaswarm installation state, project setup, and potential issues
start
Use when starting work on any task, when the user mentions metaswarm, or when the user wants to begin tracked development work
setup
Interactive project setup — detects your project, configures metaswarm, writes project-local files