Recruit (The Architect)
Create or propose specialized assistant configurations (specialists) by auditing the available tool inventory and analyzing gaps in the current assistant setup.
Instead of passively asking the user what domain they want or waiting for exact specifications, recruit acts as an active Architect that maps installed tools to functional archetypes and proactively proposes tailored specialist configurations.
Not This Skill
| Skill |
Use for |
| agent-init |
Generate agents.md / workspace guidelines |
| teamwork / org |
Persistent multi-agent task forces |
| delegate |
Spawn a child session with an existing assistant |
| tool-installer |
Register external MCP servers |
| boost |
Analyze and optimize existing assistants (audit, prune, or augment) |
Three Layers (Do Not Mix)
| Layer |
Examples |
Set via agent__createAgent? |
| Core builtins |
workspace, agent, tool, skills, scratchpad, … |
Always on — do not list redundantly |
| Optional builtins |
planning, browser, knowledge, setup-wizard, media, history |
builtinCapabilities — restricts/enables optional services |
| External MCP |
GitHub, search, filesystem servers |
externalMcpServers — server IDs from tool__listServers, not display names |
| Bundled skills |
docx, deep-research |
Not via agent__createAgent — suggest @skill:name separately |
Workflow (Inventory-First Architect)
1. Inventory & Configs Audit
Before making proposals or asking the user questions, gather the system's current state:
Audit Available Tools:
tool__listServers({ "availability": "inventory" })
Collect all external MCP servers (ID, display name, description) and optional builtins.
Audit Existing Assistants:
agent__listAgents({ "type": "configs" })
Retrieve currently configured assistants to identify what roles are already covered.
2. Gap Analysis & Clustering (Implicit Logic)
Analyze the gathered inventory and existing configurations to identify gaps:
- Clustering: Group available tools into logical domains (e.g., DevOps/GitHub, Finance/Market Analysis, Research/Search, Document/Media Processing). Do not propose specialists for individual, isolated tools unless they are highly specialized.
- Coverage Mapping: Compare existing assistants against these clusters. (e.g., "We have a general Coding Expert, but we have a GitHub MCP server in inventory that isn't dedicated to a GitHub Specialist").
- Identify Gaps: Find clusters that have powerful tools in the inventory but lack a specialized assistant to utilize them effectively.
3. Proactive Proposal Generation
Do not ask vague questions like "What kind of expert do you want?". Instead, present a structured proposal to the user:
- Identify the Gap: Point out which installed tools are currently underutilized.
- Propose Specialists: Suggest 1–2 specific specialist configurations.
- Batch Mode Trigger: If the inventory contains >5 distinct tool clusters, group proposals into a single batch summary (e.g., "I propose 3 specialists: DevOps, Research, and Finance") rather than asking one-by-one.
- Draft Details: For each proposed specialist, provide:
- Name: (e.g.,
GitHub Release Specialist, Exa Research Analyst)
- Description: A short description of its focus.
- Assigned Tools: The specific optional builtins and MCP server IDs.
- Rationale: Why this configuration is needed based on their inventory and current setup.
Example Proposal Format:
Based on your tool inventory, I noticed you have the github-mcp server installed, but no dedicated GitHub assistant. I propose creating:
- GitHub Specialist (
agent__createAgent proposal):
- Description: Manages pull requests, issues, and repository state.
- MCP Servers:
github-mcp (ID: cuid...)
- Builtins:
["browser"]
Would you like me to create this specialist?
4. Create the Assistant
Once the user approves or refines the proposal, execute the creation:
agent__createAgent({
"name": "GitHub Specialist",
"description": "...",
"systemPrompt": "...",
"builtinCapabilities": ["planning", "browser"],
"externalMcpServers": ["<mcp-server-id-from-inventory>"]
})
Note: Ensure externalMcpServers contains only CUID IDs from tool__listServers, never display names or slugs. planning is optional — include it when the specialist needs goal/todo tools.
5. Verification & Handoff
Confirm creation and instruct the user on how to initiate a session:
- Verify:
agent__listAgents({ "type": "configs", "query": "<new name>" })
- Inform the user of the new assistant's name and ID.
- Provide instructions on starting a session:
agent__startSession(agentId="...") or via the UI.
Guidelines
- Active Proposing Over Asking: Never respond to "make me an expert" with a blank question. Always audit the inventory first and propose a concrete specialist draft.
- Evidence-Based Design: Only attach MCP servers that are actually present in
tool__listServers inventory.
- English-Only System Prompts: Write the
systemPrompt in English for optimal LLM performance and token efficiency. The user-facing description can match the user's preferred language.
- Minimal Tool Allocation: Assign only the tools that are highly relevant to the specialist's domain. Do not over-provision tools, as it increases cognitive load and degrades performance.
Builtin Tools
| Step |
Tool |
| Inventory MCP + tools |
tool__listServers({ "availability": "inventory" }) |
| Find existing assistants |
agent__listAgents({ "type": "configs" }) |
| Create specialist |
agent__createAgent(...) |
| Verify creation |
agent__listAgents({ "type": "configs" }) |
| Use specialist |
agent__startSession(agentId="...") |
References
- prompt-templates.md — system prompt skeletons
1---2name: recruit3description: Analyze installed tools and existing assistant configurations to actively propose and create specialized LibrAgent assistants via agent__createAgent. Use when the user wants to recruit, create, or build a domain expert or specialist agent, utilizing a proactive "Architect" workflow that maps available inventory tools to functional gaps. Not for workspace agents.md (agent-init), teamwork/org, or registering MCP servers.4---56# Recruit (The Architect)78Create or propose **specialized assistant configurations** (specialists) by auditing the available tool inventory and analyzing gaps in the current assistant setup. 910Instead of passively asking the user what domain they want or waiting for exact specifications, **recruit** acts as an active **Architect** that maps installed tools to functional archetypes and proactively proposes tailored specialist configurations.1112## Not This Skill1314| Skill | Use for |15| --- | --- |16| **agent-init** | Generate `agents.md` / workspace guidelines |17| **teamwork** / **org** | Persistent multi-agent task forces |18| **delegate** | Spawn a child session with an existing assistant |19| **tool-installer** | Register external MCP servers |20| **boost** | Analyze and optimize **existing** assistants (audit, prune, or augment) |2122## Three Layers (Do Not Mix)2324| Layer | Examples | Set via `agent__createAgent`? |25| --- | --- | --- |26| **Core builtins** | `workspace`, `agent`, `tool`, `skills`, `scratchpad`, … | Always on — do not list redundantly |27| **Optional builtins** | `planning`, `browser`, `knowledge`, `setup-wizard`, `media`, `history` | `builtinCapabilities` — restricts/enables optional services |28| **External MCP** | GitHub, search, filesystem servers | `externalMcpServers` — **server IDs** from `tool__listServers`, not display names |29| **Bundled skills** | `docx`, `deep-research` | **Not** via `agent__createAgent` — suggest `@skill:name` separately |3031---3233## Workflow (Inventory-First Architect)3435### 1. Inventory & Configs Audit3637Before making proposals or asking the user questions, gather the system's current state:38391. **Audit Available Tools:**40 ```json41 tool__listServers({ "availability": "inventory" })42 ```43 Collect all external MCP servers (ID, display name, description) and optional builtins.44452. **Audit Existing Assistants:**46 ```json47 agent__listAgents({ "type": "configs" })48 ```49 Retrieve currently configured assistants to identify what roles are already covered.5051### 2. Gap Analysis & Clustering (Implicit Logic)5253Analyze the gathered inventory and existing configurations to identify gaps:54551. **Clustering:** Group available tools into **logical domains** (e.g., *DevOps/GitHub*, *Finance/Market Analysis*, *Research/Search*, *Document/Media Processing*). Do not propose specialists for individual, isolated tools unless they are highly specialized.562. **Coverage Mapping:** Compare existing assistants against these clusters. (e.g., "We have a general Coding Expert, but we have a GitHub MCP server in inventory that isn't dedicated to a GitHub Specialist").573. **Identify Gaps:** Find clusters that have powerful tools in the inventory but lack a specialized assistant to utilize them effectively.5859### 3. Proactive Proposal Generation6061Do **not** ask vague questions like "What kind of expert do you want?". Instead, present a structured proposal to the user:6263* **Identify the Gap:** Point out which installed tools are currently underutilized.64* **Propose Specialists:** Suggest 1–2 specific specialist configurations.65* **Batch Mode Trigger:** If the inventory contains >5 distinct tool clusters, group proposals into a single batch summary (e.g., "I propose 3 specialists: DevOps, Research, and Finance") rather than asking one-by-one.66* **Draft Details:** For each proposed specialist, provide:67 - **Name:** (e.g., `GitHub Release Specialist`, `Exa Research Analyst`)68 - **Description:** A short description of its focus.69 - **Assigned Tools:** The specific optional builtins and MCP server IDs.70 - **Rationale:** Why this configuration is needed based on their inventory and current setup.7172#### Example Proposal Format:73> Based on your tool inventory, I noticed you have the `github-mcp` server installed, but no dedicated GitHub assistant. I propose creating:74> 75> 1. **GitHub Specialist** (`agent__createAgent` proposal):76> - **Description**: Manages pull requests, issues, and repository state.77> - **MCP Servers**: `github-mcp` (ID: `cuid...`)78> - **Builtins**: `["browser"]`79> 80> Would you like me to create this specialist?8182### 4. Create the Assistant8384Once the user approves or refines the proposal, execute the creation:8586```json87agent__createAgent({88 "name": "GitHub Specialist",89 "description": "...",90 "systemPrompt": "...",91 "builtinCapabilities": ["planning", "browser"],92 "externalMcpServers": ["<mcp-server-id-from-inventory>"]93})94```9596*Note: Ensure `externalMcpServers` contains only CUID IDs from `tool__listServers`, never display names or slugs. `planning` is optional — include it when the specialist needs goal/todo tools.*9798### 5. Verification & Handoff99100Confirm creation and instruct the user on how to initiate a session:1011021. Verify:103 ```json104 agent__listAgents({ "type": "configs", "query": "<new name>" })105 ```1062. Inform the user of the new assistant's name and ID.1073. Provide instructions on starting a session: `agent__startSession(agentId="...")` or via the UI.108109---110111## Guidelines112113- **Active Proposing Over Asking:** Never respond to "make me an expert" with a blank question. Always audit the inventory first and propose a concrete specialist draft.114- **Evidence-Based Design:** Only attach MCP servers that are actually present in `tool__listServers` inventory.115- **English-Only System Prompts:** Write the `systemPrompt` in English for optimal LLM performance and token efficiency. The user-facing `description` can match the user's preferred language.116- **Minimal Tool Allocation:** Assign only the tools that are highly relevant to the specialist's domain. Do not over-provision tools, as it increases cognitive load and degrades performance.117118## Builtin Tools119120| Step | Tool |121| --- | --- |122| Inventory MCP + tools | `tool__listServers({ "availability": "inventory" })` |123| Find existing assistants | `agent__listAgents({ "type": "configs" })` |124| Create specialist | `agent__createAgent(...)` |125| Verify creation | `agent__listAgents({ "type": "configs" })` |126| Use specialist | `agent__startSession(agentId="...")` |127128## References129130- [prompt-templates.md](references/prompt-templates.md) — system prompt skeletons131