ワンクリックで
steward-watch
Run the steward watch-respond-rewatch loop
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Run the steward watch-respond-rewatch loop
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Collaboratively refine a high-level ambition into a set of chunk prompts.
Migrate the project's ACTIVE chunks to the present-tense, intent-owning standard. Audits each chunk's goal against the code it claims to govern; rewrites retrospective framing inline; logs over-claims that need operator triage; historicalizes chunks with no enduring intent. Designed for full-corpus migrations — fans out across many parallel sub-agents at 5 chunks per agent.
Create a new chunk of work and refine its goal. Use when the operator wants to start new intent-bearing work, chunk something, define a piece of work, or break work into a chunk.
Update code references in the current chunk and move both the PLAN.md and the GOAL.md to the ACTIVE state.
Wake an entity by loading its identity, memories, and operational context
Set up a project steward via interactive interview
| name | steward-watch |
| description | Run the steward watch-respond-rewatch loop |
Run the steward's watch-respond-rewatch loop. This is the core steward lifecycle — the agent watches for inbound messages, triages them according to the SOP, acts, posts outcomes, and rewatches.
Read docs/trunk/STEWARD.md and parse the YAML frontmatter to extract:
swarm — the swarm IDchannel — the inbound channel to watchchangelog_channel — where to post outcomesbehavior.mode — autonomous, queue, or custombehavior.custom_instructions — freeform instructions (if mode is custom)Also check the prose body for a server URL. If one is noted, use
--server <url> on all ve board commands.
If docs/trunk/STEWARD.md does not exist, tell the operator to run
/steward-setup first and stop.
Run ve board watch <channel> --swarm <swarm_id> using run_in_background.
This command blocks until a message arrives on the channel.
Single watch only. There must be exactly ONE watch per channel at any time.
Before starting a new watch, stop any previous watch background task using
TaskStop. Running multiple concurrent watches on the same channel causes
cursor confusion — both watches consume from the same cursor position, leading
to missed or double-processed messages. Track the current watch task ID and
stop it explicitly before starting the next one.
OS-level safety net. The ve board watch command now automatically
kills any existing watch process on the same channel before starting.
However, you should still explicitly stop previous background tasks via
TaskStop — the PID-based kill is a fallback for zombie processes that
survive task termination, not a replacement for clean task lifecycle
management.
Example:
# Stop previous watch if one exists
# TaskStop(task_id="<previous_watch_task_id>")
# Start watching in the background
ve board watch <channel> --swarm <swarm_id>
# Record the returned task ID — you'll need it to stop this watch later
When the background watch returns, it outputs the decrypted message plaintext to stdout. Read the output and triage according to the SOP's behavior mode:
If mode is autonomous:
/chunk-create,
/investigation-create). Write only the goal — do NOT plan or implement.ve orch inject <chunk>). The orchestrator
handles planning and implementation autonomously.If mode is queue:
If mode is custom:
custom_instructions from the SOP frontmatterAfter processing the message, post an outcome summary to the changelog channel:
ve board send <changelog_channel> "<outcome summary>" --swarm <swarm_id>
The outcome summary should be concise but informative — what was received, what action was taken, and what the result was.
After durable processing is complete (the work is done and the changelog entry is posted), acknowledge the message to advance the cursor:
ve board ack <channel>
The ack command auto-increments the cursor by 1 — no position argument needed.
Critical: Do NOT ack before processing is complete. The cursor is the steward's recovery mechanism — if the agent crashes, it will re-read from the last acked position on restart, automatically re-processing the unfinished message.
Every message must be acked. This includes messages that don't produce actionable work — bootstrap/initialization messages, questions answered inline, no-ops, and duplicates. The ack advances the cursor past the message. Without it, the cursor stays in place and the next watch cycle re-delivers the same message, causing the steward to loop on it indefinitely.
After injecting a chunk, run /orchestrator-monitor <chunk_name> --changelog-channel <changelog_channel> --swarm <swarm_id> to set up
recurring orchestrator monitoring. This runs concurrently with the channel
watch — the monitor polls orchestrator status while the watch blocks on
inbound messages.
When multiple chunks are injected during the session, pass all chunk names
to a single /orchestrator-monitor invocation. The skill handles loop
lifecycle management (creation, update, and cancellation).
The operator may edit the SOP while the steward is running to change behavior. Before starting the next watch iteration:
Re-read docs/trunk/STEWARD.md — parse the frontmatter again to pick
up any changes to behavior mode, channels, or custom instructions.
Start the next watch — Go back to Step 2 and repeat the loop.
This creates a continuous watch-respond-rewatch cycle. The steward runs autonomously until the agent session ends.
run_in_background is how the agent waits asynchronously for messages.
Do NOT poll. The watch command blocks until a message arrives./loop is how the agent monitors the orchestrator concurrently. The
watch blocks on inbound messages while the loop polls orchestrator status
on a timer. Together they give the steward two concurrent event sources./steward-watch
picks up from the last acked position — the unprocessed message will be
re-delivered.ve board watch commands (or one
ve board watch-multi). Restart each independently on failure.ve board watch OS process may
continue running and reconnecting. Always TaskStop the previous task
AND let the CLI's PID-based kill handle any stragglers before starting a
new watch.ve board watch fails (e.g., network error), stop the failed task
first (TaskStop), then start a new watch. Never start a retry watch
without stopping the previous one — even failed tasks may still be running
or reconnecting in the background, creating duplicate watches.ve board send to the changelog fails, retry once. If it still fails,
proceed with ack — the work was done even if the notification failed.