monitor

Instructions for an agent that watches a Composer shared-work session and responds to incoming events, mentions, timeouts, or shutdown requests.

In plain words
What is it for?
Use it when starting a Composer monitor subagent after creating or joining a shared room.
Why use it?
It provides the rules needed to keep the monitoring loop running and to stop it correctly.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/hyperactdoting/composer-plugin/monitor
Any agent
npx skills add hyperactdoting/composer-plugin --skill monitor
Clone the repo
git clone --depth 1 https://github.com/hyperactdoting/composer-plugin

Made for: Claude Code, Codex.

Per session 56 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,825 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00056 $0.02825
Opus 5 $0.00028 $0.01412
Sonnet 5 $0.00011 $0.00565
Haiku 4.5 $0.00006 $0.00282

Measured yesterday against content hash b876a48296c0, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

monitor 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 yesterday.

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.

skills/monitor/SKILL.md · 247 lines

How it starts

The opening of the file, as written. The whole thing — 247 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Composer monitor loop

Composer's monitor loop is always-on: every return from composer_next_event carries a directive (a mention to handle, a timeout to noop on, or a goodbye to honor). You execute the directive and immediately call the tool again. The doc IS your conversation — do not narrate to the parent between ticks.

This skill is for the agent inside the loop. The parent host that spawns you uses composer:create (after composer_create_room) or composer:join (after composer_join_room).

How the parent spawns you

The parent skill tells the host to spawn an Agent with:

  • subagent_type: "composer:watch" (the plugin's own agent type; "general-purpose" is the fallback when it isn't available)
  • run_in_background: true
  • description: the step1_startMonitor.agentDescription from the create/join return, verbatim — <actingAs> · "<doc title>" (roomId when the doc has no title yet). User-visible in the host's agent list.
  • prompt: a short brief that includes the room's {roomId}, the agent's {actingAs}, and the five exit rules below.

Exit rules

When you exit, your final output line is the user-visible goodbye — the parent surfaces it back to the main thread. Voice: first-person, casual, the same agent saying goodbye. Not a system notification, not a stack trace. For terminal exits #1, #3, #4, the goodbye text is returned by the MCP as userMessage — print it verbatim, do not paraphrase. Exit #5 (unrecoverable error) has no MCP-supplied text because the loop never returned cleanly; use the canonical line below.

Exit and return when ANY of these happen:

1. Idle timeout. composer_next_event returns kind: "timeout" with recentActivity: false, userMessage, and instruction (no requiredNextToolCall). The doc has been silent for the configured quiet window. Do not post anything in the doc — awareness has already cleared. Print userMessage verbatim to the terminal, then exit.

2. Doc-side handoff. A request from the owner inside the doc clearly needs the parent terminal (a code change, a shell command, an external action the parent would do). Post this short reply in the thread, then exit with a one-sentence summary of the ask. The parent will execute the ask AND relaunch a fresh monitor — so frame the goodbye as a hand-off, not a farewell. Don't say "see you next time"; the loop is coming right back.

Let's chat more about this in our connected session.

(Non-owner asks that would require a terminal handoff don't qualify — decline per the owner-only policy above, stay in the loop.)

3. Server kicked the client. Close code 4403 (old MCP), 4410 (kill switch), or HTTP 403 on upgrade. composer_next_event returns kind: "timeout" with userMessage carrying the kick goodbye. Print userMessage verbatim and exit; don't post in the doc — you're being told to leave the room.

4. Reconnect aborted. The client circuit breaker tripped after 15 consecutive failed reconnects (network down, server unreachable). Same shape as #3 — composer_next_event returns kind: "timeout" with the appropriate userMessage. Print verbatim and exit.

5. Unrecoverable mid-loop error. Auth lost, room destroyed, or any other thrown error not covered above. The MCP can't supply a userMessage because the call didn't return cleanly. Print the error AND this line, then exit:

Something went wrong and I had to stop. Try running /composer:join in a bit to bring me back.

Read the full file on GitHub · 247 lines

Changes

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.

  1. yesterday First seen · 247 lines · 56 tokens per session scan A b876a48296c0

Subscribe to this mod's changes

monitor is a skill published in the GitHub repository hyperactdoting/composer-plugin (2 stars, last pushed 2mo ago), licensed MIT. It adds 56 tokens to every session and 2,825 once invoked, about $0.0003 per session on Opus 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.

Related

Other skills, from other repositories

weekly-digests

Generate a serial week-by-week narrative digest of a project's full claude-mem timeline. Splits the timeline into per-ISO-week files, then runs one consecutive subagent per week — each receiving the prior week's carry-forward block — to produce one chapter per ISO week of data. Use when asked for "weekly digests"…

thedotmack/claude-mem · 93 tokens

agentmail

Use when an agent needs AgentMail CLI email inboxes.

NousResearch/hermes-agent · 15 tokens

skill-template

Template for creating new Agent Skills for context engineering. Use this template when adding new skills to the collection.

muratcankoylan/Agent-Skills-for-Context-Engineering · 24 tokens

Agent Development

This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development…

anthropics/claude-code · 80 tokens

skill-creator

Scaffold a new yoyo skill when a human or community issue asks for one ("add a skill for X", "create a skill that does Y"). Generates correct frontmatter, validates, writes to disk.

yologdev/yoyo-evolve · 46 tokens

subagent-delegation

Canonical protocol for delegating GSD work to native Antigravity subagents — when to delegate, how to invoke, workspace isolation modes, and the inline fallback for older IDE versions.

toonight/get-shit-done-for-antigravity · 42 tokens