Invoke Agent
Deterministic activation of Brian agents from their stored soul docs. No freestyling.
Description
Prerequisites
- Brian connected
- At least one agent soul stored
Install in Claude
Download
Sign in, then click Download. You'll get a zip with the skill folder inside.
Upload to Claude
In Claude, go to Settings → Capabilities → Skills → Add custom skill. Upload the zip you just downloaded.
Test it
Try a prompt that should trigger the skill — Brian's docs and the description above show what activates Invoke Agent.
Skill content
name: invoke-agent description: Use this skill whenever the user wants to activate, call, run, or use a Brian agent. Triggers on "/agent", "use agent", "call agent", "invoke agent", "run agent", "which agents do I have", or any phrasing where the user is trying to activate a specific Brian agent soul. Also triggers when the user types the name of a known agent directly (e.g. "morning briefing", "prospecting agent", "proposal agent"). Always use this skill — never freestyle agent activation or guess at a soul doc's contents without fetching it first.
invoke-agent
Deterministic agent activation for Brian. Ensures every agent is run from its stored soul doc — never freestyled from memory.
Why this skill exists
Without this skill, agent activation is implicit: a stored memory hints that a soul exists, Claude may or may not fetch it, and the agent runs inconsistently. This skill makes activation explicit and enforced: soul doc is always fetched before any agent output is produced.
Step 1 — Discover available agents
Call get_context with query "agent soul tag:agent", limit 15, all spaces.
Parse the results for memories or documents tagged with agent:*. Each one is an available agent. Extract:
- Agent display name (from the soul doc description or memory content)
- Activation tag (e.g.
agent:morning-briefing-agent) - Drive path to soul doc (if present in the memory)
Step 2 — Present as buttons
If 2 or more agents are found, present them using ask_user_input as a single_select. Do not list them as text. One button per agent.
Example question: "Which agent do you want to activate?"
If only 1 agent is found and it matches what the user asked for, skip the button step and proceed directly to Step 3.
If the user already named a specific agent in their message (e.g. "morning briefing", "prospecting agent"), skip the button step — match it to the closest stored agent and proceed to Step 3.
Step 3 — Fetch the soul doc
Once an agent is selected (or matched), fetch its soul doc from Google Drive using google_drive_search with the doc filename, then google_drive_fetch on the returned doc ID.
Do not proceed to Step 4 without the full soul doc in context. Never reconstruct an agent's behaviour from memory alone.
Step 4 — Branch on input requirements
Read the soul doc. Determine whether the agent needs input before it can run.
No input required
Agents that operate purely from Brian memory retrieval (e.g. Morning Briefing Agent, Post-Session Capture Agent). Soul doc will have no "Input" or "Required Parameters" section, or will explicitly state no input needed.
→ Execute immediately. Follow the soul doc's retrieval hints and output format exactly.
Input required
Agents that need user-provided context before running (e.g. Proposal Agent needs client name + engagement type; Financial Analyst Agent needs the data to analyse).
→ Read the soul doc's input requirements. Present required inputs as ask_user_input questions — one question per distinct input, using single_select where options are bounded, free text where open-ended.
→ Wait for all required inputs before running.
→ Then execute, following the soul doc exactly.
Step 5 — Execute within the soul
Once running, treat the soul doc as the authoritative instruction set. Do not deviate from its output format, section structure, or behavioural rules. If the soul specifies retrieval queries, run them in order. If it specifies tone, apply it. If it specifies what to omit, omit it.
Failure modes to avoid
- Do not activate an agent without fetching its soul doc first
- Do not reconstruct agent behaviour from the activation memory tag alone
- Do not present agent options as a bulleted text list — always use
ask_user_inputbuttons - Do not ask clarifying questions for agents that need no input
- Do not skip the soul doc fetch even if you think you remember its contents
When the user names an agent directly
If the user says "morning briefing", "run the proposal agent", "prospecting agent" etc. — this counts as selecting that agent. Skip the discovery/button step. Go directly to Step 3 (fetch soul doc) and proceed from there.
This is the most common activation path for established agents. The button UI is for exploration ("what agents do I have?"), not for everyday use.
Agent registry hint
Known agents and their soul doc filenames (as of build):
| Agent | Soul doc filename | Needs input? |
|---|---|---|
| Morning Briefing Agent | soul_morning_briefing_agent.md | No |
| Post-Session Capture Agent | soul_post_session_capture_agent.md | No |
| Proposal Agent | soul_proposal_agent.md | Yes |
| Research Briefing Agent | soul_research_briefing_agent.md | Yes |
| Support Ticket Triage Agent | soul_support_ticket_triage_agent.md | Yes |
| Customer Prospecting Agent | soul_customer_prospecting.md | Yes |
| Notion Weekly Summary Writer | soul_notion_weekly_summary.md | No |
This table is a hint only — always confirm via get_context retrieval. New agents may have been added since this skill was written.
Release notes
Initial drop.
