Universal guardrails loaded by every agent. Defines Verify Before Reporting (VBR), Write-Ahead Log (WAL), and the security baseline. Always-on, role-independent.
日本語の概要は準備中です。原文の説明を表示しています。
Use when: Router bridges your team and the remote team across Telegram. Classifies inbound messages from the remote agent, dispatches Builder or Tester as subagents, composes replies, and posts outbound state-change notifications.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Use this skill when Router needs to bridge your team and the remote team across Telegram. The skill defines Router's behaviour rules on top of the hub relay daemon (cli/relay/). Router calls relay_send for outbound; inbound arrives as parsed jobs via relay_inbox_peek.
agents.router.displayName, e.g. Atlas, …) or Router, … when no display name is set. The relay daemon ignores group messages without this salutation.relay_send body is prefixed with the remote agent's name (from remoteTeam.agentName, e.g. Max, …) by the daemon when missing.memory/router.md HOT and surface at morning-standup or end-of-day dreaming.The runtime parses the remote agent's message and invokes Router with structured fields:
Router never reads the raw channel and never owns the Telegram tool surface — the runtime does.
Use the internal-relay state vocabulary:
| Incoming signal | Workflow state | Action |
|---|---|---|
| PR ready, review request | review_requested | Spawn Builder as subagent with parsed fields |
| CI failure, build failure | ci_failed | Spawn Builder as subagent; include CI exception |
| Ready for QA, retest | qa_requested | Spawn Tester as subagent in Pre-QA Readiness Check mode only |
| Blocked, waiting on something | blocked | Spawn Builder if engineering blocker; log to Router HOT if decision blocker |
| Approval, scope, price, timeline | decision_required | Log to Router HOT; surface at standup or dreaming |
| FYI, status update | info_only | Compose short ack; no subagent spawn |
| Missing context | unclear | Ask one concise clarification question; no subagent spawn |
When spawning Builder or Tester, pass:
[classified state]answer | confirmation of receipt | clarificationSubagent-spawned Tester cannot run live tests — browser-driven QA needs the shared browser tab and a direct Tester session. On qa_requested inbound, Tester operates in Pre-QA Readiness Check mode only (see qa-ticket-workflow):
memory/tester.md HOTREADY or INCOMPLETE: [missing fields]If the remote agent requests actual test execution, Tester's response is a queue confirmation only.
Router takes the subagent response, applies the information-classification check (see below), then calls relay_send({ text }) to post. The reply attributes the originating agent (e.g., "Builder: ...", "Tester: ...").
Outbound is state-machine driven, not free-form messaging. Builder or Tester dispatches Router as a subagent only after a state transition that warrants inter-team notification.
| State transition | Sending agent | Notification template |
|---|---|---|
any → state:ready-for-implementation on a delegated ticket | Builder | "Max, Ticket #N ready for remote agent to implement. <link>" |
any → state:ready-for-qa on a delegated ticket | Builder | "Max, Ticket #N in state:ready-for-qa, please pick up first-pass QA. <link>" |
state:ready-for-qa → state:changes-requested (Tester-side defect) | Tester | "Max, Ticket #N retest failed, defects on report. <link>" |
state:ready-for-qa → state:qa-passed | Tester | "Max, Ticket #N retest passed clean." |
any → state:blocked requiring remote team input | Builder | "Max, Ticket #N blocked on <reason>. Need <input>." |
Transitions on non-delegated tickets do not generate Telegram notifications.
Router, notify remote agent:
Ticket: #N
State: [current state]
Action: [what's expected from the remote agent]
Context: [one short line if needed]
If any check fails, return an error to the dispatching agent. The dispatching agent appends a retry note to its own HOT memory.
relay_status — confirm daemon is reachable (ok: true).relay_send({ text: "<composed message>" }) — daemon auto-prefixes remoteTeam.agentName (e.g. Max, …) if Router omitted it.Example (Builder dispatch → Router outbound):
Dispatch from Builder:
Router, notify Max:
Ticket: #58
State: state:ready-for-qa
Action: please pick up first-pass QA
Context: relay stack E2E probe
Router actions:
1. Validate ticket #58 is delegated and transition is on trigger table
2. relay_status → ok
3. relay_send({ text: "Ticket #58 in state:ready-for-qa, please pick up first-pass QA. <link>" })
→ daemon sends: "Max, Ticket #58 in state:ready-for-qa, please pick up first-pass QA. <link>"
4. Reply to Builder: sent (message_id …) or error with retry note
Three tiers, applied at Router's outbound validation step:
| Tier | Examples | Inter-team sharable? |
|---|---|---|
inter-team-sharable | PR open and ready for review; defect summaries; QA verdicts on tickets that originated from the remote team | Yes |
team-internal | Architecture-decision rationale, agent-internal debate, internal planning | No |
confidential | Scope, price, timeline, client commitments, commercial assumptions | No |
Default rule when uncertain: if the ticket originated from the remote team, share progress. Otherwise refuse and escalate to Router HOT.
The ticket itself is the audit. Builder and Tester comment on the ticket in their normal workflow when work is performed or state changes. Router does NOT create redundant GitHub comments mirroring Telegram traffic. Router's outbound is a short state-change notification, not a record.
| Failure | Response |
|---|---|
| Unknown sender | Do NOT reply on channel. Append to memory/router.md HOT; surfaces to the team lead at morning-standup or dreaming. |
| Telegram unreachable inbound | Runtime queues. Router takes no action until invoked with a parsed message. |
| Telegram unreachable outbound | relay_send returns error. Return error to the dispatching agent. The dispatching agent appends a retry note to its own HOT. |
| Ambiguous reference (e.g., "the ticket") | Ask one concise clarifying question via the runtime; no subagent spawn until resolved. |
| Classification failure | Escalate to Router HOT; surfaces at next standup or dreaming. No guess. |
internal-relay — workflow-state classification vocabulary used by inboundticket-lifecycle-mode — canonical state names used in outbound triggersqa-ticket-workflow — defines the Pre-QA Readiness Check mode used on qa_requested inboundteam-relay — defines what counts as a delegated ticket (and which transitions warrant inter-team notification)agent-foundations — VBR, WAL, security baseline; loaded under this skillまだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Universal guardrails loaded by every agent. Defines Verify Before Reporting (VBR), Write-Ahead Log (WAL), and the security baseline. Always-on, role-independent.
日本語の概要は準備中です。原文の説明を表示しています。
Use when: architecture mode, architect this, ADR, C4, PlantUML, system boundary, design decision, PRD gap, high ambiguity, multiple technical approaches, security architecture, data architecture, integration risk, implementability gap, story ticket, or epic ticket.
日本語の概要は準備中です。原文の説明を表示しています。
Use when: assumptions audit, audit assumptions, check for hidden assumptions, plan/ticket has ambiguous scope edges, pre-flight before finalizing a ticket, unstated assumptions, or 'what am I assuming'. Surfaces unstated assumptions, ambiguous scope edges, and untested preconditions in a finished plan/ticket/ADR before it is handed to Builder. Optional pass — Architect judges when to apply it; not a mandatory gate on every ticket.
日本語の概要は準備中です。原文の説明を表示しています。
Use when: Tester needs UI state evidence for VBR, or Builder needs to verify an integration wire is observable end-to-end. Powered by agent-browser MCP — token-efficient browser automation (200–400 tokens/page).
日本語の概要は準備中です。原文の説明を表示しています。
Conducts multi-axis code review. Use before merging any change. Use when reviewing code written by yourself, another agent, or a human. Use when you need to assess code quality across multiple dimensions before it enters the main branch.
日本語の概要は準備中です。原文の説明を表示しています。
Writing skill for freelancers and independent consultants. Covers project proposals, bids, client emails, and scope summaries. Leads with the client's problem, not the consultant's background.
日本語の概要は準備中です。原文の説明を表示しています。