Synapse A2A Communication

SkillFiles & storage

Synapse A2A agent communication — sending messages, spawning agents, delegating tasks, sharing memory, and coordinating file edits. Use this skill when: running synapse send/reply/broadcast/interrupt, spawning agents with synapse spawn or synapse team start, managing the task board with synapse tasks, sharing knowledge with synapse memory, locking files with synapse file-safety, checking agent status with synapse list/status, or orchestrating any multi-agent workflow.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Synapse A2A Communication skill

What this skill tells your AI

The instructions your AI receives, as published by s-hiraoku/vscode-sidebar-terminal in .agents/skills/synapse-a2a/SKILL.md and read by ahel’s review.

Inter-agent communication framework via Google A2A Protocol.

Quick Reference

TaskCommand
List agentssynapse list (auto-refresh, interactive: arrows/1-9 select, Enter jump, k kill, / filter; --json for machine-readable output). MCP alternative: list_agents tool (via tools/call)
Agent detailsynapse status <target> [--json]
Send messagesynapse send <target> "<msg>" (default: --notify; --from auto-detected)
Send with tasksynapse send <target> "<msg>" --task / -T (auto-creates board task, auto-claim on receive, auto-complete on finalize)
Broadcastsynapse broadcast "<msg>"
Wait for replysynapse send <target> "<msg>" --wait
Fire-and-forgetsynapse send <target> "<msg>" --silent
Replysynapse reply "<response>"
Reply to specificsynapse reply "<response>" --to <sender_id>
Interrupt (priority 4)synapse interrupt <target> "<msg>"
Spawn agentsynapse spawn <type> --name <n> --role "<r>" -- <tool-specific-automation-args>
Spawn with worktreesynapse spawn <type> --worktree --name <n> --role "<r>" -- <tool-specific-automation-args>
Team startsynapse team start <homogeneous-profiles...> [--worktree] -- <tool-specific-automation-args>
Create tasksynapse tasks create "<subject>" -d "<desc>" --priority <n> [--group G] [--component C] [--milestone M]
List taskssynapse tasks list [--verbose] [--format json] [--group-by COL] [--group G] [--component C] [--milestone M]
Assign tasksynapse tasks assign <id> <agent>
Complete tasksynapse tasks complete <id>
Purge taskssynapse tasks purge [--status STATUS] [--older-than DURATION] [--dry-run]
Approve plansynapse approve <id>
Reject plansynapse reject <id> --reason "<feedback>"
Save knowledgesynapse memory save <key> "<content>" --tags <t> --notify
Search knowledgesynapse memory search "<query>"
Lock filesynapse file-safety lock <file> <agent_id> --intent "..."
Check lockssynapse file-safety locks
Task historysynapse history list --agent <name>
Kill agentsynapse kill <name> -f
Attach filessynapse send <target> "<msg>" --attach <file> --wait
Saved agentssynapse agents list / synapse spawn <agent_id>
Post to Canvassynapse canvas post <format> "<body>" --title "<title>"
Link previewsynapse canvas link "<url>" --title "<title>"
Post templatesynapse canvas briefing '<json>' --title "<title>"
Post plan cardsynapse canvas plan '<json>' --title "<title>" (Mermaid DAG + step list with status tracking)
Open Canvassynapse canvas open (auto-starts server, opens browser)
Accept plansynapse tasks accept-plan <plan_id> (register plan steps as task board tasks)
Sync plan progresssynapse tasks sync-plan <plan_id> (sync task board status back to plan card)

Collaboration Decision Framework

Evaluate collaboration opportunities before starting work:

SituationAction
Small task within your roleDo it yourself
Task outside your role, READY agent existsDelegate: synapse send --notify or --silent
No suitable agent existsSpawn: synapse spawn <type> --name <n> --role "<r>" -- <tool-specific-automation-args>
Stuck or need expertiseAsk: synapse send <target> "<question>" --wait
Completed a milestoneReport: synapse send <manager> "<summary>" --silent
Discovered a patternShare: synapse memory save <key> "<pattern>" --tags ... --notify

Mandatory Collaboration Gate (3+ phases OR 10+ file changes):

  1. synapse list — check available agents
  2. synapse memory search "<topic>" — check shared knowledge
  3. synapse tasks create — register work on the task board
  4. Build Agent Assignment Plan (Phase / Agent / Rationale)
  5. Spawn specialists if needed (prefer different model types for diversity)

Use Synapse Features Actively

FeatureWhy It MattersCommands
Task BoardTransparent work tracking prevents duplication; grouping (--group, --component, --milestone), verbose/JSON output, age-based purgesynapse tasks create/assign/complete/fail/reopen/purge/list
Shared MemoryCollective knowledge survives agent restartssynapse memory save/search/list
File SafetyLocking prevents data loss when two agents edit the same filesynapse file-safety lock/unlock/locks
WorktreeFile isolation eliminates merge conflicts in parallel editingsynapse spawn --worktree
BroadcastTeam-wide announcements reach all agents instantlysynapse broadcast "<msg>"
HistoryAudit trail tracks what happened and whensynapse history list/show/stats
Plan ApprovalGated execution ensures quality before actionsynapse approve/reject
CanvasVisual dashboard for sharing rich cards and templates (briefing, comparison, dashboard, steps, slides, plan)synapse canvas post/link/briefing/plan/open/list
Admin Command CenterBrowser-based agent management via Canvas #/admin view (select agents, send messages, view responses)synapse canvas open → navigate to #/admin
Plan CardsMermaid DAG + step list with accept/sync workflow for task board integrationsynapse canvas plan / synapse tasks accept-plan / synapse tasks sync-plan
Smart SuggestMCP tool that analyzes prompts and suggests team/task splits for large workMCP tool: analyze_task
Proactive ModeMandatory feature usage checklist for every task (SYNAPSE_PROACTIVE_MODE_ENABLED=true)See references/features.md
MCP BootstrapDistribute instructions via MCP resources for compatible clients (opt-in, including Copilot via tools-only). MCP tools: bootstrap_agent, list_agents, analyze_tasksynapse mcp serve / python -m synapse.mcp

Task Board Default Triggers

Use the Task Board by default when any of these are true:

  • 2+ agents will work on the task
  • The work is likely to run longer than 30 minutes
  • The task spans 3+ files, multiple phases, or distinct subtasks
  • A handoff, manager review, or resume later workflow is likely
  • You need the team to see pending / in_progress / completed / failed state at a glance

Minimum pattern:

synapse tasks create "<subject>" -d "<shared scope and done criteria>"
synapse tasks assign <id> <agent>
synapse tasks complete <id>
synapse tasks fail <id> --reason "<blocker or failure>"

Shortcut — task-linked send: Use --task / -T to create a board task and link it to the message in one step. The receiver auto-claims the task on receipt, and it auto-completes when the A2A task finalizes. The PTY displays a [Task: XXXXXXXX] tag so both agents can see the link.

synapse send Impl "Implement auth module" --task --silent
# Equivalent to: tasks create + tasks assign + send with board_task_id

Cleanup: Use synapse tasks purge to remove stale tasks from the board.

synapse tasks purge                    # Delete all tasks
synapse tasks purge --status completed # Delete only completed tasks
synapse tasks purge --status failed    # Delete only failed tasks
synapse tasks purge --older-than 7d    # Delete tasks older than 7 days
synapse tasks purge --dry-run          # Preview what would be deleted

If none of the triggers apply and the work is a small single-agent change, you can skip the task board.

Canvas Template Default Triggers

Use Canvas templates by default when the output should be read by another agent or a human later, not just glanced at once in the terminal.

  • briefing for structured reports, status updates, and release summaries
  • comparison for before/after, option trade-offs, and review diffs
  • steps for plans, migration sequences, and execution checklists
  • slides for walkthroughs, demos, and page-by-page narratives
  • dashboard for multi-widget operational snapshots and compact status boards
  • plan for task DAGs with Mermaid visualization, step tracking, and task board integration (accept-plan / sync-plan)

Prefer raw synapse canvas post <format> only when a single block is enough. If the message has multiple sections or needs stronger information hierarchy, use a template.

Spawning Decision Table

Default spawn policy: When using synapse spawn, pass the underlying CLI's tool-specific automation args after -- so spawned agents can run unattended. For most CLIs this is an approval-skip / auto-approve flag; for OpenCode use --agent build to select the build agent profile and rely on OpenCode's permission config for approval behavior.

Apply the same rule to synapse team start: include the appropriate forwarded CLI args by default, and keep teams homogeneous when those args are CLI-specific.

Common defaults:

  • Claude Code: synapse spawn claude --name <n> --role "<r>" -- --dangerously-skip-permissions
  • Gemini CLI: synapse spawn gemini --name <n> --role "<r>" -- --approval-mode=yolo
  • Codex CLI: synapse spawn codex --name <n> --role "<r>" -- --full-auto
  • OpenCode: synapse spawn opencode --name <n> --role "<r>" -- --agent build (selects the build agent profile; not a skip-approval flag)
  • Copilot CLI: synapse spawn copilot --name <n> --role "<r>" -- --allow-all-tools
  • Claude team: synapse team start claude claude -- --dangerously-skip-permissions
  • Gemini team: synapse team start gemini gemini -- --approval-mode=yolo
  • Codex team: synapse team start codex codex -- --full-auto
  • OpenCode team: synapse team start opencode opencode -- --agent build (selects the build agent profile; permission prompts still depend on OpenCode config)
  • Copilot team: synapse team start copilot copilot -- --allow-all-tools
ConditionAction
Existing READY agent can handle itsynapse send — reuse is faster (avoids startup overhead)
Need parallel executionsynapse spawn with --worktree -- <tool-specific-automation-args> for file isolation
Task needs a different model's strengthsSpawn a different type (Claude spawns Gemini, etc.)
User specified agent countFollow exactly
Single focused subtaskSpawn 1 agent
N independent subtasksSpawn N agents

Spawn lifecycle: spawn → confirm in synapse list → wait for READY → send task → evaluate result → kill → confirm cleanup in synapse list

Killing spawned agents after completion frees ports, memory, and PTY sessions, and prevents orphaned agents from accidentally accepting future tasks.

# Spawn, delegate, verify, cleanup
synapse spawn gemini --name Tester --role "test writer" -- --approval-mode=yolo
synapse list                              # Verify agent appears
# Wait for readiness (or rely on server-side Readiness Gate)
synapse send Tester "Write tests for src/auth.py" --wait
# Evaluate result, then cleanup
synapse kill Tester -f
synapse list                              # Verify cleanup

If synapse kill fails or the agent still appears in synapse list, retry with -f, check the agent status/logs, and report the cleanup failure instead of leaving an orphaned agent behind.

Response Mode Guide

Choose based on whether you need the result:

ModeFlagUse When
Wait--waitYou need the answer before continuing (questions, reviews)
Notify--notify (default)Async — you'll be notified on completion
Silent--silentFire-and-forget delegation (no response needed; sender history still updates best-effort on completion)

Worker Agent Guide

When you receive a task from a manager or pick one from the task board:

On Task Receipt

  1. Start work immediately ([REPLY EXPECTED] requires a reply; otherwise no reply needed)
  2. If the message contains [Task: XXXXXXXX], the board task was auto-claimed for you — no manual tasks assign needed
  3. Check shared knowledge: synapse memory search "<task topic>"
  4. Lock files before editing: synapse file-safety lock <file> $SYNAPSE_AGENT_ID

During Work

  • Report progress if task takes >5 minutes: synapse send <manager> "Progress: <update>" --silent
  • Report blockers immediately: synapse send <manager> "<question>" --wait
  • Save findings: synapse memory save <key> "<finding>" --tags <topic>
  • You can delegate subtasks too — spawn helpers (prefer different model types)
  • Always clean up agents you spawn: synapse kill <name> -f

On Completion

  1. Update task board: synapse tasks complete <task_id>
  2. Report to manager: synapse send <manager> "Done: <summary>" --silent

On Failure

  1. Update task board: synapse tasks fail <task_id> --reason "<reason>"
  2. Report details: synapse send <manager> "Failed: <error details>" --silent

Related Skills

SkillPurpose
synapse-managerMulti-agent orchestration workflow (delegation, monitoring, verification)
synapse-reinstRe-inject instructions after /clear or context reset

References

For detailed information, consult these reference files:

ReferenceContents
references/commands.mdFull CLI command documentation with all options
references/api.mdA2A endpoints, readiness gate, error handling
references/examples.mdMulti-agent workflow examples and patterns
references/file-safety.mdFile locking workflow and commands
references/messaging.mdSending, replying, priorities, status states, interactive controls
references/spawning.mdSpawn lifecycle, patterns, worktree, permissions, API
references/collaboration.mdAgent naming, external agents, auth, resume, path overrides
references/features.mdSessions, workflows, saved agents, tokens, skills, settings, Canvas

Signals

GitHub stars
21
Forks
13
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
synapse-a2a
Source
github.com/s-hiraoku/vscode-sidebar-terminal