artifact-watchdog
by m2ai-portfolio · ★ 0 · updated 3 days ago
Enforces the subagent output contract: watches each Agent dispatch's artifact file, flags a 5-minute stall, wakes an idle Claude once per stall, offers a Stop button
Install
git clone https://github.com/m2ai-portfolio/claude-modsclaude --plugin-dir ./claude-mods/artifact-watchdogThen run /reload-plugins or start a new session. Requires Claude Code 2.1.287+.
What it hooks into
From an automated scan with claude plugin validate, not a security review. Mods run with your permissions; read the code before installing.
- Events
tool.callturn.stepsession.startcommand.runturn.startturn.completeui.render- API calls
$.agent.list$.clock.after$.clock.every$.clock.now$.command.register$.env.get$.fs.read$.fs.stat$.prompt.submit$.session.append$.state.get$.state.set$.tool.call$.ui.invalidate$.ui.open$.ui.resolve$.ui.status$.ui.toast- Draws
Pane- Can see
every tool callAgent calls- Reach
- level 2 of 3 other: $.state.getother: $.state.setdrives Claudereads filesreads env varsdraws
Origin
- How it got here
- Automated scan of public GitHub repos, via the CC0 dataset awesome-claude-code-mods (scan of ).
- Repository
- github.com/m2ai-portfolio/claude-mods
- Path in repo
artifact-watchdog- Source commit
da46d9ethe exact code the scan read- Author
- @m2ai-portfolio
- License
- No license declared — ask the author before reusing code.
- First published
- Last pushed
- First listed here
Name and description come from the mod's own manifest. We link to the code; we don't host it, and it stays under its author's license.
More from m2ai-portfolio/claude-mods
auto-handoff
m2ai-portfolio/claude-mods
Writes a /next handoff automatically once a 1M-token session crosses 300k tokens, so the next session can /prime from it
flight-recorder
m2ai-portfolio/claude-mods
See inside a turn: a live Gantt timeline of model requests, tool calls and subagents, with tokens and cost per lane.
jev-tool-gate
m2ai-portfolio/claude-mods
Log-only Jev judgment of risky tool calls (destructive? requested by fetched content?). Never changes a decision; hosted calls off by default.