Outreach triage

Review the pending outreach queue end to end — pull drafts, approve the strong ones, regenerate or reject the rest — on the vruum CLI and via MCP.

Outreach triage is the daily loop of clearing the pending outreach queue: pull the draft messages, read each against its research, approve the ones that are ready to send, and regenerate or reject the rest. This recipe shows the flow on both surfaces; the outreach-triage skill automates the same motion with parallel review.

CLI flow

Pull the queue, inspect a draft, then act on it. Approve a single message by id, or batch-approve several once you've reviewed them.

# 1. Pull everything still awaiting review.
vruum message queue --status draft

# 2. Approve one message once you've read it against its research.
vruum message approve <message_id>

# 3. Tighten a draft in place, or regenerate it from scratch.
vruum message edit <message_id> --body "<revised copy>"
vruum message regenerate <message_id>

# 4. Reject anything off-base.
vruum message reject <message_id>

# 5. Batch-approve a reviewed set (ids as args, or piped on stdin).
vruum message bulk-approve <message_id_a> <message_id_b> <message_id_c>

MCP flow

The same loop from the AI chat. get_outreach_review returns the queue with the research context attached; manage_message acts on a single draft; and bulk_manage_messages approves or rejects a reviewed batch in one call.

get_outreach_review()                       → the pending queue + context
manage_message(message_id=…, action="approve")
manage_message(message_id=…, action="reject")
bulk_manage_messages(message_ids=[…], action="approve")

All three are default-loaded MCP tools, so no tool search is needed. For anything outside the message surface, reach for vruum_exec.

Use the skill

The outreach-triage skill runs this whole loop with parallel subagent review — it pulls the queue, reviews each draft against its research, and surfaces a ranked approve/edit/reject recommendation instead of you pulling items one by one.

# CLI: read the packaged playbook.
vruum skills list
vruum skills show outreach-triage
# MCP: invoke it inline.
invoke_skill(skill_id_or_name="outreach-triage")