skills/beam/beam-tools/build-beam-agent/SKILL.md
End-to-end agent builder for Beam AI. Takes a demo request or requirements doc, designs the workflow collaboratively with the user (via mermaid diagrams), then deploys the agent to Beam AI via API. Triggers on "build beam agent", "create beam agent", "deploy agent to beam", "build agent from request", "build demo agent". Handles the full lifecycle from requirements to live agent on the platform.
npx skillsauth add beam-ai-team/beam-next-skills build-beam-agentInstall 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.
Design and deploy a complete Beam AI agent from a demo request or requirements document. This skill handles the full lifecycle: understand requirements → design workflow → confirm with user → deploy to Beam.
.env (BEAM_API_KEY, BEAM_WORKSPACE_ID)NOTION_API_KEY from .env, download attachments)Present to the user:
Ask: "Does this capture the request correctly? Anything to add or change?"
Determine with the user:
Do NOT proceed until the user confirms the scope.
Design the agent workflow as a mermaid diagram. Show:
Example format:
graph TD
A[Trigger] --> B[Classifier Node]
B -->|condition_a| C[Branch A Processing]
B -->|condition_b| D[Branch B Processing]
C --> E[Integration Node]
E --> F[Exit A]
D --> G[Consent Gate]
G --> H[Exit B]
For each node, specify:
Present the complete design and ask: "Here's the full workflow with [N] nodes. Does this look right? Any changes before I build it?"
Do NOT proceed to deployment until the user confirms the design.
POST /agent-graphs/completeFollow these mandatory rules (from BEAM-AGENT-BUILDING-GUIDE.md):
```{param_name}``` (triple backticks + single curly braces){{double_braces}}{anything} NOT in triple backticks → task will fail at runtime{
"fillType": "ai_fill",
"position": 0,
"required": true,
"dataType": "string",
"paramName": "param_name",
"paramDescription": "What this param contains",
"outputExample": "example value",
"reloadProps": false,
"remoteOptions": false
}
reloadProps and remoteOptions are mandatory booleans — omitting causes 400{
"isArray": false,
"paramName": "output_name",
"position": 0,
"paramDescription": "What this outputs",
"dataType": "string",
"outputExample": "example"
}
isArray is mandatory — omitting causes validation errorenum type with typeOptions.enumValues for classification outputscondition must be a string, never null — use empty string "" for unconditionalconditionGroups with enum-based rules in the UI, or string conditions in the APIPUT /agent-graphs/{agentId} to push the full graphPATCH /agent-graphs/{agentId}/nodes/{nodeId}/prompt per node (safer — doesn't touch edges/conditions)toolFunctionName but note that integration connections must be configured in the Beam dashboard by the userGET /agent-graphs/{agentId}Tell the user what they need to configure in the Beam dashboard:
Create 2-3 sample inputs that test different branches:
POST /agent-tasks
Body: {"agentId": "...", "taskQuery": {"query": "sample input text"}}
GET /agent-tasks/{taskId} for status# Exchange API key for token
POST /auth/access-token
Body: {"apiKey": "your_api_key"}
Response: {"idToken": "...", "refreshToken": "..."}
# Headers for all requests
Authorization: Bearer {idToken}
current-workspace-id: {workspace_id}
Content-Type: application/json
| Action | Method | Endpoint |
|--------|--------|----------|
| Create agent + graph | POST | /agent-graphs/complete |
| Update full graph | PUT | /agent-graphs/{agentId} |
| Get agent graph | GET | /agent-graphs/{agentId} |
| Update node prompt | PATCH | /agent-graphs/{agentId}/nodes/{nodeId}/prompt |
| Update node params | PATCH | /agent-graphs/{agentId}/nodes/{nodeId}/input-output-params |
| Add node | POST | /agent-graphs/add-node |
| Add edge | POST | /agent-graphs/add-edge |
| Create task | POST | /agent-tasks |
| Get task status | GET | /agent-tasks/{taskId} |
| Approve consent | POST | /agent-tasks/execution/{taskId}/user-consent |
https://app.beam.ai/{workspaceId}/{agentId}/flowBEAM_WORKSPACE_ID in .env (that may be a different workspace)| Integration | Action | toolFunctionName |
|-------------|--------|-----------------|
| Airtable | Create record | AirtableAction_RecordCreate |
| Airtable | Update record | AirtableAction_RecordUpdate |
| Airtable | Get records | AirtableAction_GetRecords |
| Outlook | Send email | MicrosoftOutlookAction_MessageSend |
| Outlook | Draft reply | MicrosoftOutlookAction_DraftMessageReply |
| Gmail | Send email | GmailAction_SendEmail |
| Gmail | Draft email | GmailAction_DraftEmail |
| Slack | Send message | SlackAction_SendMessage |
Before deploying, verify:
```{param}``` for parameter refs (not bare {param}){{double_braces}}reloadProps: false and remoteOptions: falseisArray field setcondition fields are strings (not null)toolFunctionNameAfter completing this skill:
04-workspace/AgentDemos/{client-name}/Version: 1.0 Created: 2026-03-29 Source: Built from experience deploying the SGO Correspondence Brief & Response Agent
development
--- name: taste-skill type: skill version: '1.0' author: Leonxlnx (packaged by Zhichao Li) category: general tags: - frontend - design - anti-slop - landing-page updated: '2026-06-11' visibility: public description: Anti-slop frontend skill for landing pages, portfolios, and redesigns. The agent reads the brief, infers the right design direction, and ships interfaces that do not look templated. Real design systems when applicable, audit-first on redesigns, strict pre-flight check. license: MIT.
development
Use when communicating quantitative information in any form — Slack updates, emails, reports, decks, dashboards, landing pages, product UI, public talks. Covers two integrated layers: (1) making numbers semantically meaningful (translation, anchoring, simplification, story-pairing) and (2) showing numbers cleanly (chart vs table vs prose, chart-by-message, pre-attentive emphasis, color discipline, decluttering). Distilled and integrated from *Show Me the Numbers* (Stephen Few) and *Make Numbers Count* (Chip Heath & Karla Starr). Not for raw data analysis or statistics — this is about communication of numbers, not their derivation.
development
Use when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a frontend interface. Covers websites, landing pages, dashboards, product UI, app shells, components, forms, settings, onboarding, and empty states. Handles UX review, visual hierarchy, information architecture, cognitive load, accessibility, performance, responsive behavior, theming, anti-patterns, typography, fonts, spacing, layout, alignment, color, motion, micro-interactions, UX copy, error states, edge cases, i18n, and reusable design systems or tokens. Also use for bland designs that need to become bolder or more delightful, loud designs that should become quieter, live browser iteration on UI elements, or ambitious visual effects that should feel technically extraordinary. Not for backend-only or non-UI tasks.
tools
Stateful multi-session tutor adapted for Beam — teach a stakeholder to understand, trust, and operate a specific agent, or teach a Solution Engineer a client's business process for delivery. Grounds every lesson in Knowledge Hub sources (real agent graphs, real tasks, transcripts, Linear) before any web resource. Also works for any general topic. Trigger on "teach me", "beam teach", "教我", "onboard <person> on <agent>", "help <stakeholder> understand the agent", "learn this client's process".