After architecture design produces an agent roster, research and scaffold the concrete tools each agent needs — MCP servers, direct API integrations, custom tools, or OpenClaw skills — so workspace generation has real tool bindings instead of placeholders.
Activation phrases and patterns:
Trigger logic:
design-system Phase 3 completes (agent roster confirmed) — The Forge detects agents with stated capabilities but no concrete tool bindings and offers to equip them. Also activates when a user asks "how will [agent] actually do [capability]?" during or after architecture design.Overview: Load the agent roster, map each agent's stated capabilities to concrete tool requirements, research available MCP servers/APIs/tools for each requirement, present recommendations, confirm selections with the user, then scaffold tool configurations and produce a complete tool plan document.
Load Agent Roster — Read the designed agent roster and extract capability requirements
design-system output or add-agent spec, existing workspace config (if any)Identify Tool Requirements — For each agent, decompose stated capabilities into concrete tool needs
Research Available Options — Search for existing solutions matching each tool requirement
Research sources (in priority order):
Present Tool Recommendations — Show the options matrix to the user with clear trade-offs
"Here's what I found for each agent. Review and confirm, swap alternatives, or flag anything that needs a custom tool."
The Forge activates this skill as a Tool Procurement Engineer — the specialist who bridges the gap between what agents are designed to do and what tools actually exist to make it happen. Researches the ecosystem, evaluates options, and delivers concrete configurations. "Every agent needs the right tools on the workbench. Let me stock yours."
design-system output or add-agent spec.| Agent | Capability | External Dependency | Tool Type Needed |
|---|
design-system first.For each capability-tool requirement pair, research in this order: a. MCP servers first — check modelcontextprotocol.io registry, GitHub MCP server repositories, community MCP lists. MCP is the preferred integration path for OpenClaw. b. Platform APIs second — check if the target platform (Meta, Twitter, etc.) has a developer API. Evaluate: authentication method, rate limits, available endpoints, cost tier. c. Third-party aggregators third — check services like Postiz, Buffer, Zapier, Make that aggregate platform access. Evaluate: API availability, pricing, feature coverage. d. Existing OpenClaw skills — check if any existing skill already covers the requirement. e. Custom tool last — if nothing fits, flag for custom tool creation.
For each candidate, collect:
Rank candidates by: reliability > simplicity > cost > feature coverage.
Present findings organized by agent:
## Agent: {agent-name}
### {Capability 1}
**Recommended:** {tool name} ({type})
- Source: {URL}
- Auth: {method}
- Limits: {rate limits}
- Cost: {tier}
- Why: {1-sentence rationale}
**Alternatives:**
- {alternative 1} — {trade-off vs recommended}
- {alternative 2} — {trade-off vs recommended}
Flag any capabilities with no good existing solution — clearly state "Custom tool needed" with scope estimate.
Flag any capabilities where MCP server exists but is experimental — present maturity assessment.
Wait for user to confirm selections per agent before proceeding.
For each MCP server selected:
Generate the MCP server config block. The exact config structure depends on the user's OpenClaw setup (some use mcpServers in openclaw.json, others configure via skill entries or environment). Present the standard format:
{
"mcpServers": {
"{server-name}": {
"command": "{install command}",
"args": ["{args}"],
"env": {
"{KEY}": "{placeholder — user must fill}"
}
}
}
}
Plus: installation instructions, credential acquisition guide.
Also configure tool access — add the MCP tools to the agent's tool policy via agents.list[].tools.alsoAllow or agents.defaults.tools.alsoAllow (to extend existing tool access without replacing it). If restricting tools, use agents.list[].tools.deny.
For each direct API selected:
.env stub with required variables:
# {Service Name} API
{SERVICE}_API_KEY=your-api-key-here
{SERVICE}_API_SECRET=your-api-secret-here
{SERVICE}_BASE_URL={endpoint}
For each custom tool needed:
name: {tool-name}
description: {what it does}
input_schema:
type: object
properties:
{param}: {type and description}
For each OpenClaw skill binding:
skills.entries with skill identifier, enabled: true, and any apiKey, env, or config valuesagents.list[].skills arrayskills.allowBundled if using bundled skillsCompile the complete tool plan document:
agents.list[].tools (profile, allow, alsoAllow, deny) — feeds into harden-workspacedesign-system Phase 4 workspace generationWrite the tool plan to {forge_artifacts}/tool-plan-{skillName}.md.
Present summary to the user with next steps.
Required at runtime:
design-system or add-agent outputOptional enhancements:
Leads to: design-system Phase 4 (workspace file generation with real tool bindings), harden-workspace (tool policy hardening with concrete tool list), setup-knowledge (knowledge tools may be identified during equip)
Triggered by: design-system Phase 3 (agent roster confirmed — The Forge offers to equip before generating workspace files), add-agent Phase 2 (new agent spec confirmed — offer to equip the new agent), standalone user request
Shares context with: design-system (agent roster, workspace config), harden-workspace (tool policies feed from equip selections), setup-knowledge (memory/knowledge tools may overlap)
harden-workspacedesign-system Phase 4 for workspace generationConfirm Selections — Lock in tool choices per agent
Scaffold Tool Configurations — Generate configuration artifacts for each selected tool
Produce Tool Plan Document — Compile the complete agent-to-tool binding map
design-system Phase 4 (how tool bindings feed into workspace file generation)