Skip to main content

Squad tools and hooks

Upstream Squad exposes a ToolRegistry and hook pipeline. Squadboard currently exposes its integration surface through MCP tools. The two models should converge through an adapter: Squad can register a squadboard tool namespace, while Squadboard keeps MCP as the stable cross-client protocol.

Current Squadboard MCP tools

ToolPurpose
list_projectsDiscover projects and resolved .squad/ paths.
list_issuesRead board cards, optionally by column.
create_issueCreate a board card directly.
update_issuePatch title, body, status, assignee, or labels.
run_agentTrigger an agent run for a card.
get_run_statusRead run status, output, model usage, and cost.
list_agentsRead available project agents and lifecycle status.
list_inboxRead captured/directive inbox items.
captureCapture freeform directives or done: close-out messages.
slash_commandExecute /squadboard command handlers.
get_routingRead project routing metadata.

GitHub-oriented tools such as github_push_branch, github_open_pr, github_comment_issue, workflow dispatch/polling, and PR merge helpers are also present for run/worktree workflows.

Should these be registered in Squad's tools-and-hooks layer?

Yes, when running inside upstream Squad, the MCP tools should be presented as registered Squad tools or a tool bundle. That gives Squad agents a familiar policy surface while keeping Squadboard responsible for durable board state.

Recommended mapping:

Squad conceptSquadboard mapping
ToolRegistryRegister the MCP-backed squadboard.* tool bundle.
Pre-tool hooksEnforce project policy before write tools such as create_issue, update_issue, run_agent, and GitHub actions.
Post-tool hooksRecord audit events, close-out notes, or follow-up cards after writes.
Built-in decision / memory toolsPrefer capture for durable Squadboard inbox and .squad/decisions/inbox/ writes.

The current implementation is MCP-first. A direct upstream Squad ToolRegistry adapter is not part of this slice.