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.
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)testing
Audit registry.yaml against disk, validate SKILL.md frontmatter, find duplicates and orphans. Load when user says 'audit skills registry', 'validate beam-next-skills', 'registry drift', 'skills catalog audit', 'check registry yaml'.
tools
All Workable ATS operations — fetch JDs, search candidates, post assessments/reviews. Load when user says "fetch JD", "search workable", "push to workable", "post review", "rate candidate", "workable", "push assessment", "list jobs", or after interview-coach completes an evaluation. Replaces workable-fetch-jd and workable-push-assessment.
data-ai
Load when user mentions "tavily research", "market intelligence", "competitive research", "GTM research", or needs real-time market data for sales, marketing, or vertical strategy.
development
Shared resource library for Slack integration skills. DO NOT load directly - provides common references (setup, API docs, error handling, authentication) and scripts used by slack-connect and individual Slack skills.