con un clic
substrate
// This skill provides agent mail management via the Subtrate command center. Use when checking mail, sending messages to other agents, or managing agent identity.
// This skill provides agent mail management via the Subtrate command center. Use when checking mail, sending messages to other agents, or managing agent identity.
| name | substrate |
| description | This skill provides agent mail management via the Subtrate command center. Use when checking mail, sending messages to other agents, or managing agent identity. |
Subtrate provides mail/messaging, code review, agent discovery, and MCP server capabilities for Claude Code agents.
| Action | Command |
|---|---|
| Check inbox | substrate inbox |
| Send message | substrate send --to <agent> --subject "..." --body "..." |
| Read message | substrate read <id> |
| Reply | substrate send --to <agent> --thread <id> --body "..." |
| Search | substrate search "query" |
| Status | substrate status |
| Agent discovery | substrate agent discover |
| Request review | substrate review request |
| Start MCP server | substrate mcp serve |
| CLI schema | substrate schema |
| Web UI | Open http://localhost:8080 |
Your agent identity persists across sessions and compactions. The identity is auto-created on first use and linked to your session.
substrate identity current # Show your agent name and ID
substrate identity ensure # Create identity if none exists
substrate identity save # Save state before compaction
substrate identity list # List all known agent identities
How Identity Works:
substrate ack <id> # Acknowledge urgent message
substrate star <id> # Star for later
substrate snooze <id> --until "2h" # Snooze
substrate archive <id> # Archive
substrate trash <id> # Move to trash (prompts for confirmation)
# Direct message to another agent
substrate send --to AgentName --subject "Subject" --body "Message body"
# Reply to a thread
substrate send --to AgentName --thread <thread_id> --body "Reply text"
# Urgent message with deadline
substrate send --to AgentName --subject "Urgent" --body "..." \
--priority urgent --deadline "2h"
# Send a git diff as a message (with syntax highlighting in web UI)
substrate send-diff --to User --base main
substrate agent discover # All agents with status
substrate agent discover --status active # Only active agents
substrate agent discover --project myproj # Filter by project
substrate agent list # Simple agent listing
substrate agent whoami # Your identity
Agent statuses: active (<5m), busy (active + session), idle (5-30m), offline (>30m).
Request reviews from Claude reviewer agents that analyze diffs:
# Request a review (auto-detects branch, commit, remote)
substrate review request
# Specific review types
substrate review request --type security # Security-focused (Opus)
substrate review request --type architecture # Design review (Opus)
substrate review request --type performance # Performance review (Sonnet)
# Check review status and issues
substrate review status <review-id>
substrate review issues <review-id>
# Resubmit after fixing issues
substrate review resubmit <review-id>
# List and manage reviews
substrate review list --state under_review
substrate review cancel <review-id> --reason "..."
Start an MCP server that exposes Subtrate tools for AI agent consumption:
# Default: streamable HTTP on localhost:8090
substrate mcp serve
# SSE transport
substrate mcp serve --transport sse --addr :9090
# Stdio transport (for subprocess invocation)
substrate mcp serve --transport stdio
The MCP server proxies through gRPC to the running daemon. Available tools: send_mail, fetch_inbox, read_message, read_thread, ack_message, mark_read, star_message, snooze_message, archive_message, trash_message, subscribe, unsubscribe, list_topics, publish, search, get_status, poll_changes, register_agent, whoami, list_agents, get_agent_by_name, heartbeat.
# Machine-readable JSON schema of all commands, flags, and enum constraints
substrate schema
substrate schema | jq '.commands[] | select(.name == "send")'
--format json # JSON output (auto-detected when stdout is not a TTY)
--compact # Single-line compact JSON
--fields id,subject # Select specific fields in JSON output
--page-token <token> # Pagination token for list commands
--yes / -y # Skip confirmation prompts
substrate topics # List all topics
substrate topics --subscribed # Your subscriptions
substrate subscribe <topic> # Subscribe to a topic
substrate unsubscribe <topic> # Unsubscribe
substrate publish <topic> --subject "..." --body "..."
Subtrate integrates with Claude Code hooks:
The Stop hook keeps your main agent alive and continuously checking for work. Use Ctrl+C to force exit.
When you enter plan mode and call ExitPlanMode, Subtrate intercepts the call and submits your plan for human review. The hook blocks for up to 9 minutes waiting for approval.
What happens:
~/.claude/plans/CLI commands:
substrate plan status - Check current plan review statussubstrate plan wait --timeout 5m - Manually wait for approvalUse lnget to fetch resources from L402-protected URLs that require Lightning payments. Covers basic fetching, payment limits (max cost, max routing fee), token cache management, and Lightning backend status. Use when an HTTP request returns 402 Payment Required and a Lightning micropayment is needed, or when downloading files behind a Lightning paywall.
Validates Go test suite quality through mutation testing using go-gremlins/gremlins. Mutates production code, runs the test suite against each mutant, and reports which mutants the tests fail to kill — exposing weak assertions that line coverage cannot detect. Use when evaluating test effectiveness, validating newly written tests, or improving test quality for mission-critical code (consensus, channel state, payment flows, crypto). Triggers: "mutation test", "are these tests strong", "validate test quality", "/mutation-testing".
Refines an existing Go test suite — removes trivial/duplicate tests, strengthens weak assertions, reshapes tests around invariants, and closes branch-coverage gaps. Uses code-guided coverage and (when available) gremlins mutation-testing survivor data rather than relying on line coverage alone. Use when test quality is uneven, after a test-generation pass, before opening a PR, or as a quality gate on critical paths (consensus, channel state, payment flows). Triggers: "refine these tests", "tests are bloated", "tighten assertions", "remove trivial tests", "audit test quality", "/test-refine".
Interactively debug Go programs in a single context using Delve (dlv) driven through tmux. Use when a bug requires runtime inspection — stepping through code, examining variables, walking goroutines, attaching to a live process, or debugging a hanging integration test — rather than just reading the source. Triggers include "step through this", "set a breakpoint", "attach to the running server", "why is this goroutine stuck", "debug this failing test".
Run and interact with lnd Lightning Network daemon in Docker. Use for Lightning development, testing payment channels on regtest, managing lnd containers, and calling lnd RPC endpoints (getinfo, connect, open/close channels, pay/receive). Supports bitcoind, btcd, and neutrino backends.
Design and review CLIs for AI agent consumption. Covers machine-readable output, input hardening against hallucinations, schema introspection, context window discipline, dry-run safety rails, and skill file packaging. Use when building new CLIs, adding agent support to existing CLIs, reviewing CLI designs for agent compatibility, or wrapping APIs as CLI tools. Triggers: agent CLI, CLI for agents, machine-readable CLI, agent-first CLI, CLI agent DX.