Agent Builder

Turns a structured spec (role, goal, instructions, tone, guardrails) into valid Agentman AgentPlan JSON.

Free plan: up to 10 private skills and 3 members, no credit card.

What this skill does

Deterministic agent generator that transforms structured input into valid Agentman AgentPlan JSON. Use when you need to programmatically create smart/basic agents from a spec containing role, goal, instructions, tone, and guardrails. Outputs either a complete AgentPlan or validation errors. Designed for flow/API usage where all input is provided upfront.

  • agentman
  • agent-generator
  • agentplan
  • meta-agent
  • flow
  • automation

SKILL.md

A deterministic agent generator for Agentman. Receives structured input and produces valid AgentPlan JSON or validation errors in a single pass.

Quick Start

Provide input JSON with a spec object containing 5 required fields:

{
  "tenant_id": "...",
  "app_id": "...",
  "agent_type": "smart",
  "spec": {
    "role": "A senior McKinsey consultant with deep expertise in structured problem-solving",
    "goal": "Think through complex problems using structured frameworks like MECE and pyramid principle",
    "instructions": "## Problem-Solving Approach\n\n**Always start by clarifying the core problem**...",
    "tone": "Warm and supportive. Empathetic, patient, and encouraging.",
    "guardrails": [
      "Never give financial advice.",
      "Never share confidential or internal information."
    ]
  }
}

Input Format

Field Type Required Description
spec.role string ✅ The persona/expertise the agent embodies
spec.goal string ✅ What the agent helps users accomplish
spec.instructions string ✅ Detailed operational guidance (markdown supported)
spec.tone string ✅ Communication style
spec.guardrails string[] ✅ Array of boundaries (at least one)

Output Formats

Success Response

When all validation passes:

{
  "success": true,
  "agent_plan": {
    "plan_prompt": {
      "instructions": "<spec.instructions verbatim>",
      "more_instructions": null
    },
    "plan": {
      "goal_details": {
        "agent_goal": "<role> that helps users <goal>",
        "description": "<spec.instructions verbatim>",
        "guardrails": "- <guardrail1>\n- <guardrail2>",
        "tone": "<spec.tone verbatim>"
      },
      "variables": {
        "user_query": "The user's current question or request",
        "context": "Accumulated conversation context"
      },
      "tools": {},
      "skills": [],
      "task_flow": {
        "starting_task": "$task:welcome",
        "task_to_return_to": "$task:respond",
        "fallback": "$task:respond"
      },
      "tasks": [
        {
          "task_name": "welcome",
          "task_id": "welcome_001",
          "steps": [...]
        },
        {
          "task_name": "respond",
          "task_id": "respond_001",
          "steps": [...]
        }
      ]
    },
    "flowchart": null
  }
}

Error Response

When validation fails:

{
  "success": false,
  "errors": [
    {"field": "role", "message": "spec.role is required. Provide the persona/expertise."},
    {"field": "guardrails", "message": "spec.guardrails must be array with at least one item."}
  ]
}

Transformation Rules

1. agent_goal

Combines role and goal into a grammatically correct sentence:

  • Input: role: "A fitness coach", goal: "Help users create workout plans"
  • Output: "A fitness coach that helps users help users create workout plans"

Note: Ensure goal starts lowercase to flow naturally.

2. description

Copy instructions verbatim, preserving all markdown formatting.

3. guardrails

Convert array to newline-separated string with "- " prefix:

  • Input: ["Never give financial advice.", "Stay focused."]
  • Output: "- Never give financial advice.\n- Stay focused."

4. tone

Copy verbatim from input.

5. Generated Tasks

Always generates exactly two tasks:

welcome task:

  • Greets user with specified tone
  • Introduces agent based on role
  • Explains capabilities based on goal
  • Invites user to share their question
  • Transitions to respond task

respond task:

  • Stores user input in $user_query
  • Checks scope against guardrails
  • Applies instructions to address query
  • Delivers response in specified tone
  • Loops for follow-up or closes conversation

Reference Syntax

Agentman uses $ prefix for all references:

Type Syntax Example
Task $task:name $task:welcome, $task:respond
Variable $variable_name $user_query, $context
Tool $tool:name $tool:search_catalog
Skill $skill:slug $skill:brand-voice

Validation Rules

Field Validation
spec Must be an object
spec.role Non-empty string
spec.goal Non-empty string
spec.instructions Non-empty string
spec.tone Non-empty string
spec.guardrails Array with length >= 1

Processing Flow

Input JSON
    │
    ▼
┌─────────────────┐
│  Parse JSON     │
│  Extract spec   │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│  Validate       │
│  5 fields       │
└────────┬────────┘
         │
    ┌────┴────┐
    │         │
    ▼         ▼
 VALID     INVALID
    │         │
    ▼         ▼
┌─────────┐ ┌─────────┐
│Generate │ │ Return  │
│AgentPlan│ │ Errors  │
└─────────┘ └─────────┘

Usage Examples

Example 1: McKinsey Consultant

Input:

{
  "spec": {
    "role": "A senior McKinsey consultant with deep expertise in structured problem-solving",
    "goal": "think through complex problems using structured frameworks like MECE and pyramid principle",
    "instructions": "## Frameworks\n\n### MECE\nBreak down problems into Mutually Exclusive, Collectively Exhaustive categories.\n\n### Pyramid Principle\n1. Start with answer\n2. Support with arguments\n3. Back with data",
    "tone": "Professional and formal.",
    "guardrails": ["Never give financial advice.", "Stay focused on the task."]
  }
}

Output:

{
  "success": true,
  "agent_plan": {
    "plan": {
      "goal_details": {
        "agent_goal": "A senior McKinsey consultant with deep expertise in structured problem-solving that helps users think through complex problems using structured frameworks like MECE and pyramid principle",
        "guardrails": "- Never give financial advice.\n- Stay focused on the task.",
        ...
      }
    }
  }
}

Example 2: Missing Fields

Input:

{
  "spec": {
    "role": "A fitness coach"
  }
}

Output:

{
  "success": false,
  "errors": [
    {"field": "goal", "message": "spec.goal is required. Describe what the agent helps users accomplish."},
    {"field": "instructions", "message": "spec.instructions is required. Provide detailed operational guidance."},
    {"field": "tone", "message": "spec.tone is required. Specify the communication style."},
    {"field": "guardrails", "message": "spec.guardrails must be array with at least one item."}
  ]
}

Best Practices

Writing Good Instructions

  • Use markdown headers to organize sections
  • Include specific frameworks or approaches
  • Define output formats and guidelines
  • Be explicit about step-by-step processes

Writing Good Guardrails

  • Be specific about what's NOT allowed
  • Include compliance boundaries
  • Define scope limitations
  • Add safety restrictions

Writing Good Tone

  • Describe personality traits
  • Specify formality level
  • Include emotional qualities
  • Match target audience expectations

Agent JSON

The complete agent definition is available at agents/agent-builder-flow.json. This can be imported directly into Agentman.

Integration

This skill is designed for:

  • API endpoints that generate agents programmatically
  • Batch agent creation workflows
  • CI/CD pipelines for agent deployment
  • Agent template/cloning systems
  • Self-service agent builders

Notes

  • Output is JSON only—no conversational text
  • Markdown in instructions is preserved exactly
  • Generated agents always have 2 tasks (welcome + respond)
  • No external tools are added (tools: {})
  • No skills are bound (skills: [])
  • Flowchart is always null

A skill is a written procedure, not a prompt. Add it to your library and it is yours to edit in plain language.

In your Agentman library

A skill you keep, not a prompt you paste

  • Versioned, not pasted

    Edit a skill once and every agent using it follows the new version.

  • Shared with your team

    One library with per-skill access control and a record of who did what.

  • One connection

    A single MCP link works across Claude, ChatGPT, Cursor and Agentman agents.

How Agent Skills work
Questions

Using a skill

What is a skill?

A skill is a written procedure an AI assistant reads before it does a task: the steps, the judgement calls, the standards and what "done" looks like. It lives in a SKILL.md file, sometimes with reference files beside it. A prompt is typed again each time; a skill is versioned and runs the same way for everyone who uses it.

How do I use this skill in Claude, ChatGPT or Agentman?

Create a free Agentman account and add the skill to your library. One MCP connection then makes your library available in Claude, ChatGPT, Cursor and Agentman agents, so you set it up once. To see it work before you sign up, use "Try it in Claude" on this page, which opens a chat that reads the public SKILL.md.

Can I edit the skill after I add it?

Yes. Cloning a skill puts a copy in your workspace that is yours to edit in plain language. Skills are versioned: edit one once and every agent using it follows the new version. The free plan covers up to 10 private skills and 3 members, no credit card.

Make it yours

Add Agent Builder to your library, edit it to match how your team works, and use it from Claude, ChatGPT or an Agentman agent. The free plan covers up to 10 private skills and 3 members, no credit card.

Or try it in ChatGPT first.

Use this skill free