container/agent-runner/src/mcp-tools/agents.instructions.md
create_agent)mcp__nanoclaw__create_agent({ name, instructions }) spins up a new long-lived agent and wires it as a destination — bidirectional, so you can send it tasks and it can message you back.
instructions string seeds the agent's CLAUDE.local.md — its starting role and personality.name becomes a destination on both sides: you address it via send_message({ to: "<name>", ... }), and its replies arrive as inbound messages with from="<name>".groups/<folder>/ — memory, conversation history, and notes all survive across sessions. This is a full standalone agent, not a stateless sub-query.Researcher tracking an ongoing inquiry, a Calendar agent managing scheduling, an assistant that knows your preferences and history.Builder handling code edits while you stay in conversation, a Reviewer running checks in the background.The right frame is: does this agent need its own memory and context that builds over time, or does it need to work independently without blocking your turn? Either is a good reason to spawn one.
Agent tool instead. It's stateless, spins up and completes in one shot, and leaves no persistent footprint.instructionsCover: the agent's role, who it takes tasks from (you, by name), how it should report back (on completion only? with milestones for long work?), and any domain-specific rules. Don't restate NanoClaw base behavior — the shared base is already loaded on the agent's end.