beam-master

📁 abdullahbeam/nexus-design-abdullah 📅 Jan 19, 2026
10
总安装量
8
周安装量
#30492
全站排名
安装命令
npx skills add https://github.com/abdullahbeam/nexus-design-abdullah --skill beam-master

Agent 安装分布

claude-code 7
antigravity 6
windsurf 6
opencode 6
gemini-cli 6

Skill 文档

Beam Master

This is NOT a user-facing skill. It’s a shared resource library referenced by Beam integration skills.

Purpose

Provides shared resources to eliminate duplication across:

  • beam-connect – Meta-skill for Beam AI workspace operations
  • beam-list-agents – List workspace agents
  • beam-get-agent-graph – Fetch agent graph configuration
  • beam-get-agent-analytics – Get agent performance metrics
  • beam-create-agent-task – Create and execute agent tasks
  • beam-update-graph-node – Update node configuration
  • beam-test-graph-node – Test individual nodes
  • beam-get-nodes-by-tool – Get nodes using specific tools
  • beam-debug-issue-tasks – Debug failed tasks via Langfuse

Instead of loading this skill, users directly invoke the specific skill they need above.


Architecture: DRY Principle

Problem solved: Beam skills would have duplicated content (setup instructions, API docs, auth flow, error handling).

Solution: Extract shared content into beam-master/references/ and beam-master/scripts/, then reference from each skill.

Result: Single source of truth, reduced context per skill.


Shared Resources

All Beam skills reference these resources (progressive disclosure).

references/

setup-guide.md – Complete setup wizard

  • Getting Beam API key
  • Finding workspace ID
  • Configuring .env file
  • Token exchange flow

api-reference.md – Beam API patterns

  • Base URL and authentication
  • All 22 API endpoints documented
  • Request/response examples
  • Common curl examples

error-handling.md – Troubleshooting

  • Common errors and solutions
  • HTTP error codes
  • Authentication issues
  • Rate limiting

authentication.md – Token management

  • API key to access token exchange
  • Token refresh flow
  • Header requirements

scripts/

Authentication & Configuration

check_beam_config.py – Pre-flight validation

python check_beam_config.py [--json]
Argument Required Default Description
--json No False Output structured JSON for AI consumption

Exit codes: 0=configured, 1=partial, 2=not configured

When to Use: Run this FIRST before any Beam operation. Use to validate API key and workspace ID are configured, diagnose authentication issues, or check if setup is needed.


setup_beam.py – Interactive setup wizard

python setup_beam.py

No arguments – runs interactively. Guides through API key setup, tests connection, saves to .env.

When to Use: Use when Beam integration needs initial setup, when check_beam_config.py returns exit code 2, or when user needs to reconfigure credentials.


get_access_token.py – Token exchange (POST /auth/access-token)

python get_access_token.py [--json]
Argument Required Default Description
--json No False Output as JSON

When to Use: Use to exchange API key for access token. Called automatically by beam_client.py, but use directly when debugging authentication issues or testing token exchange.


refresh_token.py – Token refresh (POST /auth/refresh-token)

python refresh_token.py --refresh-token TOKEN [--json]
Argument Required Default Description
--refresh-token Yes Refresh token to use
--json No False Output as JSON

When to Use: Use when access token has expired and you have a refresh token. Typically handled automatically, but use directly for debugging token lifecycle issues.


get_current_user.py – User profile (GET /v2/user/me)

python get_current_user.py [--json]
Argument Required Default Description
--json No False Output as JSON

When to Use: Use to verify authentication is working, get user profile info, or confirm workspace access after setup.


Agent Management

list_agents.py – List workspace agents (GET /agent)

python list_agents.py [--filter NAME] [--json]
Argument Required Default Description
--filter No Filter agents by name/description
--json No False Output as JSON

When to Use: Use when user says “list agents”, “show my agents”, “what agents do I have”, or when you need to find an agent ID for use with other scripts (tasks, graphs, analytics).


get_agent_graph.py – Get agent workflow graph (GET /agent-graphs/{agentId})

python get_agent_graph.py --agent-id AGENT [--graph-id GRAPH] [--json]
Argument Required Default Description
--agent-id Yes Agent ID
--graph-id No Specific graph version ID
--json No False Output as JSON

When to Use: Use when user wants to see agent workflow structure, understand node configuration, get node IDs for testing/updating, or analyze agent architecture.


Graph & Node Operations

test_graph_node.py – Test a specific node (POST /agent-graphs/test-node)

python test_graph_node.py --agent-id AGENT --node-id NODE --graph-id GRAPH [--input JSON] [--json]
Argument Required Default Description
--agent-id Yes Agent ID
--node-id Yes Node ID to test
--graph-id Yes Graph ID
--input No {} JSON input params
--json No False Output as JSON

When to Use: Use when debugging a specific node, testing node behavior with custom input, validating node configuration changes, or isolating issues in a workflow.


update_graph_node.py – Update node configuration (PATCH /agent-graphs/update-node)

python update_graph_node.py --node-id NODE [--objective TEXT] [--on-error STOP|CONTINUE] [--auto-retry BOOL] [--config JSON] [--json]
Argument Required Default Description
--node-id Yes Node ID to update
--objective No New objective text
--on-error No Error behavior: STOP or CONTINUE
--auto-retry No Enable auto retry (true/false)
--config No JSON config object to merge
--json No False Output as JSON

When to Use: Use when modifying node objectives/prompts, changing error handling behavior, enabling/disabling auto-retry, or updating node configuration programmatically.


get_nodes_by_tool.py – Find nodes by tool (GET /agent-graphs/agent-task-nodes/{toolFunctionName})

python get_nodes_by_tool.py --tool TOOL_NAME [--agent-id AGENT] [--rated] [--page N] [--page-size N] [--json]
Argument Required Default Description
--tool Yes Tool function name
--agent-id No Filter by agent ID
--rated No False Only return rated nodes
--page No 1 Page number
--page-size No 50 Items per page
--json No False Output as JSON

When to Use: Use when finding all nodes that use a specific tool, analyzing tool usage patterns across agents, or gathering rated nodes for optimization training.


get_tool_output_schema.py – Get node output schema (GET /agent-tasks/tool-output-schema/{graphNodeId})

python get_tool_output_schema.py --node-id NODE [--json]
Argument Required Default Description
--node-id Yes Graph node ID
--json No False Output as JSON

When to Use: Use when understanding what output format a node produces, debugging output parsing issues, or documenting node interfaces.


Task Operations

create_task.py – Create new agent task (POST /agent-tasks)

python create_task.py --agent-id AGENT --query "Task instructions" [--urls URL1,URL2] [--json]
Argument Required Default Description
--agent-id Yes Agent ID
--query Yes Task query/instructions
--urls No Comma-separated URLs to parse
--json No False Output as JSON

When to Use: Use when user wants to run an agent, execute a task, start a job, or invoke an agent with specific instructions. This is the primary way to trigger agent execution.


get_task.py – Get task details (GET /agent-tasks/{taskId})

python get_task.py --task-id TASK [--json]
Argument Required Default Description
--task-id Yes Task ID
--json No False Output as JSON

When to Use: Use when checking task status after creation, getting detailed results of a completed task, reviewing task execution history, or debugging why a task failed.


list_tasks.py – List tasks with filtering (GET /agent-tasks)

python list_tasks.py [--agent-id AGENT] [--status STATUS1,STATUS2] [--search TEXT] [--start-date DATE] [--end-date DATE] [--page N] [--page-size N] [--order FIELD:DIR] [--json]
Argument Required Default Description
--agent-id No Filter by agent ID
--status No Comma-separated: COMPLETED,FAILED,RUNNING,etc
--search No Search query text
--start-date No Start date (ISO 8601)
--end-date No End date (ISO 8601)
--page No 1 Page number
--page-size No 20 Items per page
--order No createdAt:desc Sort order (field:asc/desc)
--json No False Output as JSON

When to Use: Use when user asks “show my tasks”, “list failed tasks”, “what tasks ran today”, or when finding tasks by status, date range, or search criteria. Best for filtered views.


iterate_tasks.py – Paginated task iteration (GET /agent-tasks/iterate)

python iterate_tasks.py [--agent-id AGENT] [--cursor CURSOR] [--limit N] [--json]
Argument Required Default Description
--agent-id No Filter by agent ID
--cursor No Pagination cursor
--limit No 50 Items per page
--json No False Output as JSON

When to Use: Use when iterating through large numbers of tasks efficiently, exporting task data, or building reports. Better than list_tasks for bulk operations due to cursor-based pagination.


retry_task.py – Retry failed task (POST /agent-tasks/retry)

python retry_task.py --task-id TASK [--json]
Argument Required Default Description
--task-id Yes Task ID to retry
--json No False Output as JSON

When to Use: Use when a task has failed and user wants to re-run it, after fixing underlying issues that caused failure, or when retrying transient errors.


get_task_updates.py – Stream real-time updates (GET /agent-tasks/{taskId}/updates – SSE)

python get_task_updates.py --task-id TASK [--timeout SECONDS] [--json]
Argument Required Default Description
--task-id Yes Task ID
--timeout No 300 Timeout in seconds
--json No False Output as JSON lines

When to Use: Use when monitoring a running task in real-time, watching for HITL (human-in-the-loop) requests, or streaming task progress updates to the user.


Task Feedback & HITL

approve_task.py – Approve HITL task (POST /agent-tasks/execution/{taskId}/user-consent)

python approve_task.py --task-id TASK [--json]
Argument Required Default Description
--task-id Yes Task ID to approve
--json No False Output as JSON

When to Use: Use when a task is waiting for human approval (HITL), agent requests user consent to proceed, or task status shows “WAITING_FOR_CONSENT”.


reject_task.py – Reject task execution (POST /agent-tasks/execution/{taskId}/rejection)

python reject_task.py --task-id TASK [--reason TEXT] [--json]
Argument Required Default Description
--task-id Yes Task ID to reject
--reason No Rejection reason
--json No False Output as JSON

When to Use: Use when user wants to cancel/reject a running task, stop task execution, or provide negative feedback that halts the task.


provide_user_input.py – Provide HITL input (PATCH /agent-tasks/execution/{taskId}/user-input)

python provide_user_input.py --task-id TASK --input "User response" [--json]
Argument Required Default Description
--task-id Yes Task ID
--input Yes User input/response text
--json No False Output as JSON

When to Use: Use when a task is waiting for human input (HITL), agent asks a question and needs user’s answer, or task status shows “WAITING_FOR_USER_INPUT”.


rate_task_output.py – Rate task output (PATCH /agent-tasks/execution/{taskId}/output-rating)

python rate_task_output.py --task-id TASK --node-id NODE --rating RATING [--feedback TEXT] [--expected-output TEXT] [--json]
Argument Required Default Description
--task-id Yes Task ID
--node-id Yes Task node ID
--rating Yes positive, negative, or excellent
--feedback No Feedback text
--expected-output No Expected output for comparison
--json No False Output as JSON

When to Use: Use when providing feedback on task/node output quality, training the system with positive/negative examples, or improving agent performance through ratings.


Analytics & Optimization

get_analytics.py – Agent performance analytics (GET /agent-tasks/analytics)

python get_analytics.py --agent-id AGENT [--start-date YYYY-MM-DD] [--end-date YYYY-MM-DD] [--json]
Argument Required Default Description
--agent-id Yes Agent ID
--start-date No 30 days ago Start date (YYYY-MM-DD)
--end-date No today End date (YYYY-MM-DD)
--json No False Output as JSON

When to Use: Use when user asks “how is my agent performing”, “show analytics”, “success rate”, or when analyzing agent performance metrics over a time period.


get_latest_executions.py – Recent executions (GET /agent-tasks/latest-executions)

python get_latest_executions.py [--agent-id AGENT] [--limit N] [--json]
Argument Required Default Description
--agent-id No Filter by agent ID
--limit No 10 Number of results
--json No False Output as JSON

When to Use: Use when user asks “what ran recently”, “show recent tasks”, “latest executions”, or when quickly checking what tasks completed recently without complex filtering.


optimize_tool.py – Start tool optimization (POST /tool/optimize/{toolFunctionName})

python optimize_tool.py --tool TOOL_NAME [--json]
Argument Required Default Description
--tool Yes Tool function name
--json No False Output as JSON

When to Use: Use when user wants to improve a tool’s performance, has collected rated node examples, or wants to trigger AI-driven optimization of tool prompts/behavior.


get_optimization_status.py – Check optimization status (POST /tool/optimization-status/thread/{threadId})

python get_optimization_status.py --thread-id THREAD [--json]
Argument Required Default Description
--thread-id Yes Optimization thread ID
--json No False Output as JSON

When to Use: Use after starting an optimization with optimize_tool.py to check progress, see if optimization is complete, or get optimization results.


File Operations

download_context_file.py – Download agent context file (GET /agent/{agentId}/context/file/{fileId}/download)

python download_context_file.py --agent-id AGENT --file-id FILE [--output PATH] [--json]
Argument Required Default Description
--agent-id Yes Agent ID
--file-id Yes File ID to download
--output No from headers Output file path
--json No False Output metadata as JSON

When to Use: Use when user needs to download a file attached to an agent’s context, retrieve agent documentation/assets, or access files stored in agent configuration.


Intelligent Error Detection Flow

When a Beam skill fails due to missing configuration, the AI should:

Step 1: Run Config Check with JSON Output

python 00-system/skills/beam/beam-master/scripts/check_beam_config.py --json

Step 2: Parse the ai_action Field

The JSON output includes an ai_action field that tells the AI what to do:

ai_action What to Do
proceed_with_operation Config OK, continue with the original operation
prompt_for_api_key Ask user: “I need your Beam API key. Get one from your Beam workspace settings”
prompt_for_workspace_id Ask user: “I need your Beam workspace ID”
create_env_file Create .env file and ask user for credentials
run_setup_wizard Run: python 00-system/skills/beam/beam-master/scripts/setup_beam.py

Step 3: Help User Fix Issues

If ai_action is prompt_for_api_key:

  1. Tell user: “Beam integration needs setup. I need your API key.”
  2. Show them: “Get one from: Beam workspace → Settings → API Keys”
  3. Ask: “Paste your Beam API key here (starts with ‘bm_key_’):”
  4. Once they provide it, write directly to .env:
    # Edit .env file to add:
    BEAM_API_KEY=bm_key_their_key_here
    BEAM_WORKSPACE_ID=their-workspace-id
    
  5. Re-run config check to verify

JSON Output Structure

{
  "status": "not_configured",
  "exit_code": 2,
  "ai_action": "prompt_for_api_key",
  "missing": [
    {"item": "BEAM_API_KEY", "required": true, "location": ".env"}
  ],
  "fix_instructions": [...],
  "env_template": "BEAM_API_KEY=bm_key_YOUR_API_KEY_HERE\nBEAM_WORKSPACE_ID=your-workspace-id",
  "setup_wizard": "python 00-system/skills/beam/beam-master/scripts/setup_beam.py"
}

How Skills Reference This

Each skill loads shared resources only when needed (progressive disclosure):

beam-connect uses:

  • check_beam_config.py (validate before any operation)
  • All API scripts based on user request
  • All references as needed

beam-list-agents uses:

  • check_beam_config.py (validate before query)
  • list_agents.py (core functionality)
  • error-handling.md (troubleshooting)

beam-create-agent-task uses:

  • check_beam_config.py (validate before task creation)
  • create_task.py (core functionality)
  • get_task_updates.py (monitor execution)
  • api-reference.md (request format)

Usage Example

User says: “list my beam agents”

What happens:

  1. AI loads beam-connect skill (NOT beam-master)
  2. beam-connect SKILL.md says: “Run check_beam_config.py first”
  3. AI executes: python beam-master/scripts/check_beam_config.py --json
  4. AI executes: python beam-master/scripts/list_agents.py
  5. If errors occur, AI loads: beam-master/references/error-handling.md

beam-master is NEVER loaded directly – it’s just a resource library.


Environment Variables

Required in .env:

BEAM_API_KEY=bm_key_xxxxxxxxxxxxx
BEAM_WORKSPACE_ID=your-workspace-id

API Base URL

All API requests go to: https://api.beamstudio.ai


Version: 1.2 Created: 2025-12-11 Updated: 2025-12-11 Status: Production Ready

Changelog:

  • v1.2: Added “When to Use” sections to all 27 scripts for AI routing guidance
  • v1.1: Added comprehensive script argument documentation with usage examples and argument tables