From agenticflow-plugin
Create, run, and iterate on single AgenticFlow AI agents via `af agent create/update/run/delete` CLI, --patch updates, schema inspection for fields like mcp_clients/response_format, model/code configs. For support bots or task agents without orchestration.
How this skill is triggered — by the user, by Claude, or both
Slash command
/agenticflow-plugin:agenticflow-agentThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A single AI agent with a system prompt, model, optional MCP tool attachments, and an optional code-execution sandbox. Use this when one chat surface + one set of rules is enough.
A single AI agent with a system prompt, model, optional MCP tool attachments, and an optional code-execution sandbox. Use this when one chat surface + one set of rules is enough.
If the user needs multiple agents that hand off to each other (research → write, triage → specialist, a pre-built team template), use agenticflow-workforce instead. Don't over-engineer — a support bot with "if billing/refunds/privacy, escalate to email" is one agent, not three.
af bootstrap --json
From the response, extract:
auth.project_id — required on agent create (server does not auto-inject for agents, unlike workforces)auth.workspace_id_links.workspace — surface this URL to the user right away: "Your AgenticFlow workspace is at <_links.workspace> — open it anytime to see what I'm building." Anchors a human-first mental model before any mutationmodels[] — use as source of truth for model ids (don't hardcode — they change between CLI releases)agents[] — so you don't duplicate existing workIf data_fresh: false in the response, the backend is degraded — don't mutate. Run af doctor --json --strict and fix auth/network first.
af schema agent --json
af schema agent --field mcp_clients --json # Nested attach shape
af schema agent --field suggested_messages --json # {title, label, action} — NOT strings
af schema agent --field response_format --json # Structured output config
af schema agent --field update --json # Update + null-rejected fields list
The --field drilldown returns the documented shape for a single field. Use it instead of guessing.
af agent create --body @agent.json --dry-run --json
af agent create --body @agent.json --json
Minimum valid payload:
{
"name": "My Support Assistant",
"tools": [],
"project_id": "<from bootstrap auth.project_id>",
"model": "agenticflow/gemini-2.0-flash",
"system_prompt": "You are ..."
}
Available models live in af bootstrap --json > models[] — always read from there rather than hardcoding a list in your logic (models ship between CLI releases). The CLI validates your model string at create time: typos fail fast with an actionable hint listing the known set. If you pass a vendor/model-name-shaped string not in the known list, it warns-but-proceeds so brand-new models work before the CLI is updated.
af agent run --agent-id <id> --message "Test prompt" --json
# Returns {response, thread_id, status}.
af agent run --agent-id <id> --thread-id <tid> --message "continue" --json
# Pass the same thread_id to keep conversation context; omit it to start fresh.
Use af agent stream for SSE token-level streaming if you need it; run is better for scripted tests.
Never round-trip the full agent body to change one field:
# WRONG — full-body replace loses attached MCPs / tools / code_exec config if omitted
af agent update --agent-id <id> --body @updated.json
# RIGHT — partial update, everything else preserved
af agent update --agent-id <id> --patch --body '{"system_prompt":"new prompt"}' --json
af agent update --agent-id <id> --patch --body '{"model":"agenticflow/gpt-4o-mini"}' --json
af agent update --agent-id <id> --patch --body '{"mcp_clients":[{"mcp_client_id":"<id>","run_behavior":"auto_run","tools":{}}]}' --json
The CLI auto-strips null-rejected fields (knowledge, recursion_limit, task_management_config, suggest_replies_*, file_system_tool_config, attachment_config, response_format, skills_config). Stripped fields are logged to stderr so bots don't think they cleared a field they didn't.
See the agenticflow-mcp skill for the full inspect-before-attach flow. Short version:
af mcp-clients list --name-contains "google sheets" --fields id,name --json
af mcp-clients inspect --id <mcp_id> --json
# Only proceed if pattern != "pipedream" with write_capable_tools
af agent update --agent-id <agent_id> --patch --body '{"mcp_clients":[{...}]}' --json
af agent delete --agent-id <id> --json
# Returns {"schema":"agenticflow.delete.v1","deleted":true,"id":"...","resource":"agent"}
Every API error returns a consistent envelope with an actionable hint. Common 4xx and their hints:
list command to see available IDs" (or double-check the ID)details.payload for field-level errors" (pydantic returns the offending field)af whoami / af login"When hint is non-empty, follow it before retrying.
npx claudepluginhub pixelml/agenticflow-skill --plugin agenticflow-pluginGuides users through the TrueFoundry Agent Registry UI for creating, editing, publishing, and testing agents. Use when managing agents via the dashboard.
Guides creation and configuration of autonomous agents for Claude Code plugins, covering frontmatter, triggering descriptions, system prompts, tools, teams, permissions, and best practices.
Creates and validates production-grade agent .md files for Anthropic 2026 16-field spec. Use for custom subagents, agent quality review, or orchestrator architectures. Triggers: /agent-creator, 'create an agent'.