| name | internal-relay |
| description | Workflow-state classification vocabulary for inter-team relay. Maps inbound signals from the remote agent to a routing decision. Intentionally narrow — states and destinations only. |
| argument-hint | Inbound signal text or workflow state to classify |
Internal Relay
Workflow-state classification vocabulary for mapping inbound signals from the remote agent to a routing decision. This skill is intentionally narrow — it defines states and destinations only. The bridge behaviour, subagent dispatch templates, outbound rules, information classification, and failure modes all live in the relay skill configured for your workspace.
Workflow State Mapping
| State | Trigger signals | Route to |
|---|
review_requested | "ready for review", "PR open", "please review" | Builder |
ci_failed | "CI failed", "test failed", "build failed" | Builder |
qa_requested | "ready for QA", "needs QA", "acceptance test", "retest" | Tester (Pre-QA Readiness Check mode only — see qa-ticket-workflow) |
blocked | "blocked", "waiting on", "cannot proceed" | Builder if engineering blocker; Router HOT for team lead if decision blocker. Engineering blockers: build failing, test blocked, dependency missing, environment down, type error, merge conflict. Decision blockers: needs approval, awaiting scope, pricing question, timeline decision, client commitment, awaiting direction. |
decision_required | "needs approval", "scope", "price", "timeline", "client promise" | Router HOT for team lead; surfaces at standup or dreaming |
info_only | "FYI", "status", no requested action | None — Router composes short ack |
unclear | Missing issue/PR, state, owner, or requested action | Sender — ask one concise clarifying question |
End-of-day and start-of-day signals are handled by dreaming and morning-standup. They are not relay-channel-only and do not belong in this table.