run-taskwatch_monitor
Use when running, launching, or smoke-testing taskwatch_monitor - the general-purpose long-task progress monitor - to watch a long-running job (build, download, CI run, FEP/BPMD driver, LLM generation, rclone transfer) with an honest, BLIND-aware status, p50/p90 ETA, and no fabricated percentages. Covers register/list/status, the live watch TUI, the MCP server, and the smoke test.
- License 许可
- MIT
- 最近更新
- 2026-11-02
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- run-taskwatch_monitor
- description
- Use when running, launching, or smoke-testing taskwatch_monitor - the general-purpose long-task progress monitor - to watch a long-running job (build, download, CI run, FEP/BPMD driver, LLM generation, rclone transfer) with an honest, BLIND-aware status, p50/p90 ETA, and no fabricated percentages. Covers register/list/status, the live watch TUI, the MCP server, and the smoke test.
02 资源文件 3
- 脚本smoke.ps12.9 KB
- 脚本taskwatch_board.py5.6 KB
- 脚本test_taskwatch_board.py8.7 KB
03 SKILL.md 正文
Run taskwatch_monitor
Overview
taskwatch_monitor polls any long-running job through one uniform adapter and
renders an honest status. It is engineered to avoid the two FEP-dashboard bug
classes: no hidden clamps (an out-of-range reading widens the ETA band and
shows a ! marker, never a silent clamp) and whole-record reads (monotonic
seq, never a fixed tail that undercounts after log rolloff). Unknown total ⇒
--% and elapsed+rate only; a poll error goes BLIND (last verdict held with
an age stamp, never relabelled DONE).
Tool dir: tools/taskwatch_monitor (in this repo). CLI runs as a module
(python -m cli.app) because it uses relative imports.
Quick Workflow
-
Install once (creates the venv + a
taskwatchPATH shim):cd tools/taskwatch_monitor .\install.ps1 -
Register a task from a template (see the template table in the tool README). The
generic-logfilefallback handles anyN/MorNN%log:taskwatch register generic-logfile mybuild --config path=C:\logs\build.log -
Check status — one-shot report, or JSON you can read back in chat:
taskwatch status # honest text report taskwatch status --json # BLIND-aware status views -
Watch live — the rich TUI (leg/stage grid, GPU sparkline, p50/p90 ETA, BLIND banner, stall flag):
.\launch.ps1 -Inline # current console .\launch.ps1 -Registry runs\a2d.toml # a specific registry, new window
MCP server (agent host)
Expose the same surface over stdio for an agent host:
uv run taskwatch-mcp
Tools: register_task, list_tasks, status, attach_watch, set_notify.
Every tool returns a terminal-state {"ok": ...} envelope and never raises.
attach_watch is where you flip the per-task tier-2 remediate opt-in;
observation is the default and nothing acts on a job unless you asked for it.
Smoke test
smoke.ps1 proves the register -> list -> status round-trip offline against
the bundled fixtures/demo.log (a Compiling 37/40 crates build log). It ends
with the longrun §4 terminal marker:
.\smoke.ps1
# → SUCCESS:taskwatch-smoke register+list+status round-trip verified (37/40 = 92%, blind-aware)
Use it as a fast post-install sanity check or a CI gate for the launcher glue.
Common Mistakes
- Expecting the
--watchTUI to render in chat. It is a live terminal surface; it cannot display inside the Claude chat interface. Usestatus --json(orlaunch.ps1 -PassThru status --json) for readable output. - Running the CLI by file path (
python cli/app.py). It uses relative imports — always run it as a module:python -m cli.app(the shim and launcher already do this). - Reading a fake percentage. When
totalis unknown the tool shows--%on purpose. That is honesty, not a bug — look at the liveness signal (is it moving?) and the elapsed/rate instead. - Confusing BLIND with DONE. A BLIND banner with an age stamp means the poll went dark; the last frontier is held, not completed.
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