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.
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'.
Guides creating and configuring Claude Code agents with YAML frontmatter, including name, description with triggering examples, system prompts, and tool/model settings.