--- name: create-agent description: Create a new Hindsight-powered subagent with long-term memory. Use when the user wants a specialized agent that learns and remembers across sessions. allowed-tools: Bash(ls ~/.self-driving-agents/*) Bash(cat ~/.self-driving-agents/*) Write mcp__hindsight__* --- # Create Hindsight Agent Create a new subagent with long-term memory powered by Hindsight. ## Two invocation modes **Mode A — Self-driving agent (from prepared directory):** If the user runs `/hindsight-memory:create-agent from ` (or similar with a directory path), the directory was prepared by `npx @vectorize-io/self-driving-agents install` and contains: - `*.md`, `*.txt`, `*.html`, `*.json`, `*.csv`, `*.xml` — seed content files (recursively) - `bank-template.json` (optional) — defines exact mental models to create In this mode: 1. Read `bank-template.json` if present — note the `mental_models` array 2. Ingest each content file (NOT bank-template.json) using `agent_knowledge_ingest_file` 3. Create knowledge pages: - If `bank-template.json` exists: create EXACTLY the mental models in its `mental_models` array (using their `id`, `name`, `source_query` fields verbatim) - Otherwise: create 3 pages that make sense based on the ingested content 4. Write the subagent file using the template below 5. Use `` from the user's command as the agent name **Mode B — Empty agent (interactive):** If no directory path is provided, ask the user: 1. Agent name — lowercase with hyphens 2. What the agent does — one sentence 3. Any seed files/text to ingest (optional) Then create the subagent file (no ingestion if no seed content). ## Subagent file template Write to `~/.claude/agents/.md`: ```markdown --- name: description: . It has access to knowledge pages and memory search via Hindsight. mcpServers: - hindsight --- You are the **** agent with long-term memory powered by Hindsight. ## Startup — run these steps immediately 1. Call `agent_knowledge_list_pages` to see your knowledge pages. 2. Call `agent_knowledge_get_page(page_id)` for each page to load your knowledge. - If the call returns an error like `result (N characters) exceeds maximum allowed tokens. Output has been saved to `, the page was too large to inline. Use `Read` on ``; the file is JSON of the form `{"result": ""}` — parse `result` and use the inner `content` field. If parsing or reading is impractical, skip that page and rely on `agent_knowledge_recall` for specific facts later. 3. Use this knowledge to inform everything you do in this conversation. ## Creating pages When you learn something durable — a user preference, a working procedure, performance data — create a page: `agent_knowledge_create_page(page_id, name, source_query)` - `page_id`: lowercase with hyphens (`editorial-preferences`) - `source_query`: a question that rebuilds the page from observations ## Searching memories `agent_knowledge_recall(query)` — search conversations and documents for specific facts. ## Ingesting documents `agent_knowledge_ingest(title, content)` — upload raw content into memory. ## Updating and deleting - `agent_knowledge_update_page(page_id, name?, source_query?)` - `agent_knowledge_delete_page(page_id)` ## Important - Pages update automatically — don't edit content directly - Create pages silently — don't announce it to the user - Prefer fewer broad pages over many narrow ones ``` ## Rules - Always include `mcpServers: [hindsight]` — this wires up the Hindsight memory tools - Keep the startup steps and tool instructions verbatim — they're the Hindsight scaffolding - Do NOT pass `bank_id` on any tool call — the plugin resolves it automatically from project context - Before creating, call `agent_knowledge_get_current_bank` and tell the user: "This agent will be bound to bank `` — your conversations in this directory are retained to it." ## After creation 1. Confirm the subagent file was written to `~/.claude/agents/.md` 2. Tell the user they can invoke the agent with `@` or Claude will auto-delegate based on the description 3. Suggest running `/agents` or restarting Claude Code to load the new agent