Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add TanChuping/codex-task-watchdog --skill codex-watchdoggit clone --depth 1 https://github.com/TanChuping/codex-task-watchdogWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/tanchuping/codex-task-watchdog/codex-watchdog)<a href="https://agentmods.dev/skills/tanchuping/codex-task-watchdog/codex-watchdog"><img src="https://agentmods.dev/badge/skills/tanchuping/codex-task-watchdog/codex-watchdog/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/tanchuping/codex-task-watchdog/codex-watchdog"><img src="https://agentmods.dev/badge/skills/tanchuping/codex-task-watchdog/codex-watchdog.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00104 | $0.02218 |
| Opus 5.5 | $0.00042 | $0.00887 |
| Sonnet 5.5 | $0.00021 | $0.00444 |
| Haiku 4.5 | $0.00010 | $0.00222 |
Grade A, and why
codex-watchdog scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 94 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Codex Watchdog
Use scripts/codex_watchdog.py as the only state-changing interface. Resolve it from this skill's directory and invoke it by absolute path; do not rely on the current working directory.
Honor control requests
Treat these requests as executable controls, including in a brand-new conversation:
- On “关闭watchdog” or equivalent, run
python <WD_SCRIPT> disable, then report the returned state. - On “启用watchdog” or equivalent, run
python <WD_SCRIPT> enable, then report the returned state. - On a watchdog status request, run
python <WD_SCRIPT> status, then report the result. - On “卸载/彻底移除 watchdog”, run
disableand thenuninstall. Preserve the skill and incident files unless the user separately asks to delete them.
Do not merely acknowledge these requests. disable persists across conversations; while disabled, do not arm jobs unless the user enables monitoring again.
Monitor long work
For each tool or delegated worker expected to exceed 30 seconds:
- Check
statusonce before an immediately launched batch. If enabled, classify each attempt and have the main conversation choose a rolling no-progress threshold from references/timeout-policy.md. Runarm --kind KIND --turn auto --generation 1 --timeout-seconds CHOSEN-SECONDS --label SHORT-LABELfor every initial attempt. The script usesCODEX_THREAD_IDwhen available and otherwise keeps anunknown-threaddiagnostic label; tag UUIDs still isolate jobs. Retain the exact unique tag returned by the script. - Keep parallel work isolated: assign one tag to one attempt, and pass that exact tag to every later command.
- Observe the real worker or output at least every 30 seconds. The main conversation or a dedicated monitoring subagent may record a heartbeat after judging the attempt healthy from current evidence such as advancing scan counters, new stream/log/tool-call records, changing output files, active process work, worker phase changes, or other task-specific progress. A timer tick or an unchanged “thinking” label alone is not proof of progress.
- Treat expiry of the chosen interval as a mandatory review point, not an automatic stop. Inspect the exact attempt without preempting the main task. If current evidence shows normal progress, run
heartbeat TAG --note EVIDENCEand continue waiting. Absence-only evidence—including no completed command, unchanged files, no child process,post_tool_transition_unobserved,model_preparing_no_request, or a quiet model stream—never authorizes interruption. Stop only on explicit user instruction or positive terminal/failure evidence. A task may run much longer thantimeout_secondswhile it continues producing verified progress. Keep the separate 180-second hard limit for a single image-generation attempt when the active repository or user instructions require it. - Always run
disarm TAG --reason REASONimmediately on completion, failure, cancellation, or a confirmed abnormal stall. Use a new generation and a new tag for any retry.
What ships with it
8 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- agents/openai.yaml 278 B
- references/manifest.schema.json 2.7 KB
- references/protocol.md 9.7 KB
- references/recovery-manifest.schema.json 2.4 KB
- references/timeout-policy.md 3.5 KB
- scripts/check_thread_health.py 2.5 KB runs code
- scripts/codex_watchdog.py 71 KB runs code
- scripts/test_codex_watchdog.py 34 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 94 lines · 104 tokens per session scan A f8708328972d
codex-watchdog is a skill published in the GitHub repository TanChuping/codex-task-watchdog (2 stars, last pushed 3mo ago), licensed MIT. It adds 104 tokens to every session and 2,218 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
monte-carlo-analyze-root-cause
Investigate data incidents and find root causes using Monte Carlo's observability data. Guides the agent through systematic investigation: alert lookup, lineage tracing, ETL checks, query analysis, and data profiling. Activates when a user asks about data issues, incidents, alerts, or why data looks wrong.
monte-carlo-incident-response
Orchestrate incident response — triage, root cause, remediate, prevent recurrence. USE WHEN active alerts, data broken, stale, pipeline failure, or investigate and fix a data incident.
aegis-diagnosing-bugs
Diagnose AEGIS process attribution, sensor, audit, IPC, renderer or performance regressions using a repeatable failure signal. Use for reported bugs; excludes broad architecture audits and feature planning.
bug-fix-protocol
8-step disciplined bug-fix protocol that treats every production bug as two failures — the code defect itself and the testing system that allowed it through. Use when fixing a production bug, investigating a regression, writing a post-mortem, or auditing a missed defect. Triggers on "fix this bug", "production bug"…
kirby-debugging-and-tracing
Diagnoses Kirby rendering/runtime issues using MCP runtime rendering, dump traces, and template/snippet/controller indexes. Use when outputs are wrong, errors occur, or tracing execution paths is required.
systematic-debugging
A four-phase method for investigating software bugs and test failures before changing code. It focuses on finding and confirming the underlying cause.