yaas-quest-dispatch

Handles Sidequestor quest dispatches by reading fired watches, acting draft-first, and logging outcomes.

4|1|Updated Jul 22, 2026
One-click install
npx skills add https://github.com/circlefin/sidequestor --skill yaas-quest-dispatch-circlefin
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: yaas-quest-dispatch
Source: https://github.com/circlefin/sidequestor/tree/main/src/sidequestor/runtime/yaas-triage/skills/yaas-quest-dispatch
Command: npx skills add https://github.com/circlefin/sidequestor --skill yaas-quest-dispatch-circlefin

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When a Sidequestor triage loop fires a watch (Slack thread, email, Jira issue, GitHub PR, Telegram chat, or scheduled cron), an agent must act on the new activity without corrupting shared state, duplicating replies, or losing track of commitments. This Skill defines the exact protocol for handling those dispatches safely. ## Core Features & Use Cases - Dispatch handling protocol: Read only the quest files needed (context.md, watch.json, meta.json, timeline.ndjson), re-query the fired watch's source, and act according to the quest's decision rules. - Draft-first outbound actions: Route Slack, Telegram, X, and email replies through surface helpers, with a manual review queue for anything requiring user approval. - State safety guarantees: Never edit existing watch.json watermarks, append follow-up watches with correct timestamps, and log every action through log-event.py so the dashboard stays accurate. - Use Case: A Slack thread watch fires because a partner replied. The agent reads the quest context, drafts a reply for approval, appends a thread watch anchored to the response timestamp, and logs the event — all without touching the orchestrator's watermark state. ## Quick Start Handle this quest dispatch for the dirty quest ID provided, following the activation protocol and acking every listed item before exiting.

Frequently Asked Questions about yaas-quest-dispatch

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I handle a Sidequestor quest dispatch?▼

Read the quest's context.md first, then select the exact watch entries named in the dispatch prompt and re-query their sources. Act per the quest's decision rules, append follow-up watches for anything you touched, log every action with log-event.py, and ack each item before exiting.

How do I reply to a Slack thread from a dispatched watch?▼

Query the thread with slack_read_thread using the watch's watermark truncated to 6 decimals, then send through the slack-send.py surface helper so the message body is logged automatically. Append a slack_thread watch with last_checked_ts set to your reply's response_ts.

Can I edit watch.json watermarks during a dispatch?▼

No. The triage orchestrator is the sole owner of watermark state and advances last_checked_ts itself. You may only read watch.json or append new entries via the add-watch helper; editing existing entries corrupts the termination-safety guarantee.

Why does a Slack watch read return empty when the dispatch says it is dirty?▼

Slack returns zero messages when the watermark timestamp has more than 6 decimal places. Truncate last_checked_ts to 6 decimals before using it as oldest, and if the read still comes back empty, ack blocked rather than nothing_to_do so the watermark is not burned.

When should an action go to the manual review queue?▼

Queue an action when meta.json sets allow_send to false, when a watch reason says DRAFT ONLY, or when you judge the action needs user review, such as first contact with an external party. Write it with sq approval write, which also arms the approval watch.

Does the skill support GitHub and Jira watches?▼

Yes. GitHub PR and issue watches are handled with gh commands, and Jira watches use the packaged jira-call.sh REST bridge since the interactive Atlassian MCP is unavailable in headless dispatch. Out-of-scope changes should be ignored without logging.