skills/beam/beam-tools/beam-agent-manager/SKILL.md
Orchestrate Beam agent graph operations — create, modify, and optimize agent graphs via the right child skill. Covers graph creation (from YAML, from spec, or simple POST), structural changes (PUT), prompt/model/param updates (PATCH), prompt optimization (APE), and publishing. Use when user says "beam agent manager", "create beam agent", "build beam graph", "update beam graph", "patch and publish", "structural change", "add nodes", "optimize prompts", "APE loop", or any graph modification task. Do NOT use for runtime operations (tasks, analytics, HITL, debugging) — those are handled by beam-connect.
npx skillsauth add beam-ai-team/beam-next-skills beam-agent-managerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Orchestrate Beam agent graph operations — creation, structural changes, prompt optimization, and deployment. Routes to the right child skill based on user intent. For runtime operations (tasks, analytics, HITL, debugging), use beam-connect instead.
Before routing to any operation that creates, updates, publishes, optimizes, or deploys a Beam agent graph, show the target workspace, agent ID/name when known, operation type, child skill to be used, expected API side effects, and whether publishing is included. Require explicit user approval in the current turn. Read-only routing, graph inspection, planning, and local draft/spec preparation do not require approval.
User wants to...
│
├── CREATE a new agent
│ ├── From YAML/JSON spec (quick deploy, spec already defined)
│ │ └── create-beam-agent (POST /agent-graphs/complete)
│ │
│ ├── From business requirements (full lifecycle: design → deploy → validate)
│ │ └── beam-graph-creator (spec → Miro flowchart → nodes → PUT/PATCH → test)
│ │ Handles any topology: linear, branching, convergence
│ │ Also use for design-only (Steps 1-5, skip deployment)
│ │
│ └── Simple POST with prompt only
│ └── beam-api-reader (create_agent_from_prompt.py)
│
├── MODIFY graph structure (add/remove nodes or edges)
│ └── 1. get-beam-agent-graph (fetch + backup)
│ 2. beam-put-payload-builder (GET→PUT payload)
│ 3. PUT /agent-graphs/{agentId}
│ 4. PATCH prompts/models/params
│ 5. Publish
│
├── UPDATE prompts, models, or params (no structural change)
│ └── PATCH directly (see Workflows below) → Publish
│
├── OPTIMIZE prompts via APE loop
│ └── beam-ape-optimizer (test → critique → edit → redeploy)
│
├── EXTRACT nodes to files
│ └── graph-slicer
│
└── CHOOSE a model for a node
└── select-llm-model
| Scenario | Use This | NOT This | Why |
|----------|----------|----------|-----|
| User has YAML spec, wants to deploy | create-beam-agent | beam-graph-creator | No design phase needed |
| User has business requirements | beam-graph-creator | create-beam-agent | Needs design phase |
| User wants design files only, no API | beam-graph-creator Steps 1-5 | create-beam-agent | No deployment |
| User wants to improve prompt accuracy | beam-ape-optimizer | Manual PATCH | Systematic with test data |
| Domain | Skill | Examples |
|--------|-------|---------|
| Build-time (graph ops) | beam-agent-manager | Create agent, add nodes, update prompts, optimize, publish |
| Runtime (task ops) | beam-connect | Create tasks, check status, analytics, HITL, debugging, retry |
This is the most important decision in any Beam graph operation:
| I want to... | Use | Why |
|--------------|-----|-----|
| Add/remove nodes or edges | PUT (full graph) | Only way to change structure |
| Update a prompt | PATCH /nodes/{nodeId}/prompt | Propagates to effective config |
| Update a model | PATCH /agent-graphs/update-node | Set preferredModel in toolConfiguration |
| Update params | PATCH /nodes/{nodeId}/input-output-params | Propagates correctly |
| Publish | PATCH /agent-graphs/{graphId}/publish | Always required after any change |
PUT does NOT propagate prompts/models/params to originalTool. Always PATCH after PUT.
1. PATCH prompt/model/params
2. Publish: PATCH /agent-graphs/{graphId}/publish
3. GET fresh graph (UUIDs regenerated after publish)
1. GET current graph → save backup
2. Build PUT payload: use beam-put-payload-builder
3. PUT /agent-graphs/{agentId}
4. PATCH prompts, models, params for changed nodes
5. Publish
6. GET fresh graph
1. Order: upstream → downstream (UUIDs regenerate on each PATCH)
2. PATCH node A params → GET fresh graph → PATCH node B params → ...
3. Publish
1. GET graph → save as backup JSON
2. Make changes
3. Rollback: beam-put-payload-builder --from-file backup.json
Key rules to remember (full details in references/api-rules.md):
inputParams: [] deletes all inputs, empty edges destroy topologychildEdges[] AND target's parentEdges[]autoRetryWhenAccuracyLessThan >= 50 — API rejects lower valuesFor node configuration rules, linking formats, GET quirks, prompt authoring rules, and authentication: consult references/api-rules.md.
| Error | Likely Cause | Fix |
|-------|-------------|-----|
| PUT returns 400 | Missing required fields on node (retry/batch fields, reloadProps, remoteOptions) | Consult api-rules.md → Node Configuration |
| PATCH returns 200 but no effect | Patching auto-created entry node (silently ignored) | Don't PATCH entry nodes — they're structural markers |
| GET crashes with Cannot set properties of null | toolFunctionName doesn't match registered tool | Use GPTAction_EmptyTool as base tool |
| Node prompt is empty after PUT | PUT doesn't propagate to originalTool | PATCH prompt after PUT |
| Task stuck in IN_PROGRESS | Signature images in attachments | Filter image001.png etc. from .msg files |
| Model silently changed to Gemini 3 PRO | Invalid model string | Use exact enterprise model names |
plan/ folder)tools
Build a Palantir-shape, PDF-native use-case proposal document for a sophisticated enterprise account: research-grounded use cases (each with description, challenge, impact, value), an operating-graph ontology page, a recommended PoC with a week-by-week plan, and a closing page that asks for one decision. Load when a client asks us to 'propose high-impact use cases', requests a use-case presentation/catalog for a function (finance, HR, ops), or when a technical evaluation team will review candidates to pick a PoC. NOT for single-account cold outreach (use prospect-brief), full process diagnostics (use operating-diagnostic), or priced proposals (use proposal-creation).
development
Convert Beam Figma slide designs into high-fidelity, editable HTML presentation decks. Use when Codex is asked to audit Figma slides, extract slide templates, rebuild Beam slides as HTML decks, decide whether Figma imagery should be exported or rebuilt in HTML/CSS, create Beam/Prism-compatible deck templates, or improve fidelity of existing Beam HTML slide rebuilds.
development
Use the Beam AI reusable slide library: individual HTML slide templates extracted from Beam Figma rebuilds, kept separate from deck themes and full deck templates. Load when the user asks for a slide library, specific Beam slide patterns, reusable Figma-inspired slides, Prism slide-library items, or slide-level HTML templates.
development
Use Beam AI deck and report design packs, HTML templates, and curated examples to create sales decks, customer intro decks, RPO decks, and DIN A4 use-case proposal reports. Load when the user asks for Beam-branded presentation templates, Prism-compatible deck templates, Beam report templates, customer intro decks, commercial proposals, or reusable HTML deck/report examples.