← Back to Skills Marketplace
0xartex

Agent Board

by 0xArtex · GitHub ↗ · v1.0.2 · MIT-0
cross-platform ⚠ suspicious
98
Downloads
0
Stars
0
Active Installs
3
Versions
Install in OpenClaw
/install agentboard
Description
Build multi-panel storyboards programmatically — create projects, upload images/audio to boards, composite annotations, export PDFs, share via public URL. In...
README (SKILL.md)

AgentBoard

Base URL: https://agentboard.fly.dev. All examples below use REST. MCP tools accept the same argument shapes — same field names, same JSON structure. No client credentials are required to call the hosted endpoints.

Data model

  • Project — UUID, aspectRatio (default 1.7777), ordered list of boards.
  • Board — 5-char uid, dialogue, action, notes, duration (ms), up to 6 layers (fill is primary; others: tone, pencil, ink, reference, notes).
  • Layer asset — one image per (board, layer). Re-upload replaces.
  • Audio asset — one audio per (board, kind). Kinds: narration, sfx, music, ambient, reference. Multiple kinds per board allowed.

Workflow

1. create project + boards (one call)
2. populate: upload OR generate images/audio
3. (optional) annotate via draw_shapes
4. (optional) export PDF and/or get share URL

1. Create project

POST /api/agent/create-project
{
  "title": "The Lighthouse Keeper",
  "aspectRatio": 1.7777,
  "boards": [
    { "dialogue": "...", "action": "...", "duration": 4000 },
    { "dialogue": "...", "action": "...", "duration": 3500 }
  ]
}
→ { id, project: { boards: [{ uid, number, ... }] }, viewUrl }

Save id and every board's uid from the response. Rate-limited: 50 creates/hour per IP+token.

2. Populate boards — upload your own bytes (PREFERRED)

Use this path if your runtime has image/audio generation (fal, Sora, Veo, Midjourney, Gemini, etc.). Generate with your tool, then upload. Skip to the Fallback generation section only if you can't generate.

Batch upload (3+ panels)

POST /api/agent/upload-batch
{
  "projectId": "...",
  "uploads": [
    { "boardUid": "ABC", "kind": "image", "imageBase64": "..." },
    { "boardUid": "DEF", "kind": "image", "imageBase64": "..." },
    { "boardUid": "ABC", "kind": "audio", "audioKind": "narration", "audioBase64": "..." }
  ]
}
→ 201 (all ok) or 207 Multi-Status { succeeded: [...], failed: [{ index, error }] }

Up to 100 items per call, mixing images and audio freely. Partial failures don't abort the batch.

MCP upload_assets_batch supports three input modes per item. Always prefer path/url over base64 — they cost zero agent context:

Field What Use for
imagePath / audioPath Local file path Preferred when the user has explicitly produced or pointed at a file. MCP subprocess reads and uploads the bytes. Never reference paths the user didn't authorize.
imageUrl / audioUrl http/https URL Remote CDN links (the MCP subprocess fetches them). Zero agent context cost.
imageBase64 / audioBase64 Inline base64 Only for tiny images (\x3C10 KB). Burns agent context at 1.33× file size.

Single upload

POST /api/agent/draw
{ "projectId":"...", "boardUid":"...", "layer":"fill", "imageBase64":"...", "mime":"image/png" }

POST /api/agent/upload-audio
{ "projectId":"...", "boardUid":"...", "kind":"narration", "audioBase64":"...", "mime":"audio/mpeg" }

Caps: images ≤ 256 MB, audio ≤ 512 MB. Mime is sniffed from magic bytes (client-declared mime is ignored). Accepted: image/png, image/jpeg, image/gif, image/webp, audio/mpeg, audio/wav, audio/ogg.

3. Draw annotations

Composite shapes or brush strokes onto any board layer. Unique to AgentBoard — your image generator can't do this. Use it to annotate AI panels (circle a character, add an arrow, label a shot).

POST /api/agent/draw-shapes
{
  "projectId": "...",
  "boardUid": "...",
  "layer": "fill",
  "mode": "overlay",
  "shapes": [
    { "type":"circle", "center":[0.5,0.5], "radius":0.08, "stroke":"#cc0000", "strokeWidth":6 },
    { "type":"arrow",  "from":[0.7,0.3], "to":[0.5,0.5], "stroke":"#cc0000", "strokeWidth":6 },
    { "type":"text",   "position":[0.05,0.05], "text":"HERO", "fontSize":0.04, "fill":"#cc0000" }
  ]
}

Coordinates are normalized [0, 1](0,0) top-left, (1,1) bottom-right. radius, size, fontSize are also normalized (0.05 = 5% of canvas).

Modes: "overlay" (composite on existing layer — for annotating) or "replace" (blank canvas — for sketching).

Shape types:

Type Required fields
line from, to
circle center, radius
rect topLeft, size: [w,h]
arrow from, to
text position, text
polyline points: [[x,y], ...]
polygon points: [[x,y], ...]
bezier from, cp1, cp2, to

All shapes accept stroke, fill, strokeWidth, opacity. Colors are any CSS color string.

Freeform strokesPOST /api/agent/draw-strokes with { brush, color, size, points: [[x,y]...] } per stroke. Brushes: pencil | pen | ink | marker | eraser. Eraser removes pixels — pair with mode:"overlay". Sparse point arrays get Catmull-Rom smoothed; no need to pass dense polylines.

4. Share + export

GET  /api/agent/share/{projectId}             → { viewUrl }  — public read-only HTML viewer
POST /api/agent/export/pdf { projectId }       → PDF bytes    — one page per board
POST /api/agent/share/{projectId}              → scoped share token
     body: { permission: "view|comment|edit", ttlMs: 86400000 }

Editing an existing project

POST /api/agent/set-metadata
{ "projectId":"...", "updates":[
  { "boardUid":"ABC", "dialogue":"new line", "expectedVersion":4 }
]}

Optimistic concurrency via expectedVersion. On 409 VERSION_MISMATCH: GET /api/agent/project/{id}, merge, retry. Asset uploads are last-write-wins and don't need expectedVersion.

Append boards later with POST /api/agent/add-scene (batch, body: { projectId, boards: [...] }) or POST /api/agent/add-board (single).

Optional server-side generation (skip if you can generate)

Only for agents without built-in image/audio generation. Uploading your own bytes via the primary workflow is faster and more reliable; these endpoints exist as a fallback. Any required provider configuration is handled server-side — the agent supplies only the request payload below.

Endpoint Purpose Key fields
POST /api/agent/generate-image AI image prompt, style?, quality?, model?
POST /api/agent/generate-speech Text-to-speech text, voice?
POST /api/agent/generate-sfx Sound effect prompt, durationSeconds? (0.5–22)
POST /api/agent/generate-music Music prompt, musicLengthMs? (3000–600000)

Style presets (pass style): storyboard-sketch, cinematic-color, comic-panel. Enumerate via GET /api/agent/image-styles.

Quality tiers (pass quality): low (draft) | medium (balanced default) | high (final render). Project-level default settable on create-project.

Voice lookup — call GET /api/agent/voices before generate-speech to see which voices the server is configured to use.

Errors

Shape: { "error": { "code": "...", "message": "..." } }. Retry rules:

Code(s) HTTP Action
BAD_REQUEST, BAD_BASE64, BAD_MIME, BAD_DRAW 400 Fix request shape
UPLOAD_TOO_LARGE 413 Resize/compress (images > 256 MB, audio > 512 MB)
WRONG_PROJECT, FORBIDDEN 403 Check projectId match
NO_BOARD, NOT_FOUND 404 Refetch via GET /api/agent/project/:id
VERSION_MISMATCH 409 Refetch, merge, retry
PROVIDER_REJECTED 422 Fallback generator rejected (moderation or voice-locked)
RATE_LIMITED 429 Exponential backoff
(none) 402 x402 payment required — retry with X-Payment header

Do not invoke for

  • Single one-off image generation unrelated to a narrative sequence — call your image generator directly.
  • Video editing — AgentBoard produces storyboards, not finished video.
  • Live interactive canvas apps — the drawing engine is command-based, not a stroke-by-stroke protocol.
Usage Guidance
This skill is internally consistent for a cloud-hosted storyboard service, but consider privacy and trust before uploading files: any images or audio you upload (or provide as remote URLs) will be sent to https://agentboard.fly.dev and public share URLs can expose content. The SKILL.md mentions rate-limiting 'per IP+token' but also says no credentials are required — ask the provider what that 'token' means before sending sensitive data. Prefer uploading files you control (use local paths or provide URLs you trust), avoid linking internal/private URLs (to prevent server-side fetches of internal resources), and test with non-sensitive sample data first.
Capability Analysis
Type: OpenClaw Skill Name: agentboard Version: 1.0.2 The agentboard skill (SKILL.md) provides a framework for creating storyboards by uploading assets to a remote service (https://agentboard.fly.dev). It includes high-risk capabilities, specifically the ability for an agent to read and upload local files via 'imagePath' and 'audioPath' parameters. While the documentation explicitly warns against accessing unauthorized paths, the existence of a mechanism to exfiltrate local filesystem data to a remote endpoint constitutes a significant security risk, even if aligned with the tool's stated purpose.
Capability Tags
cryptocan-make-purchases
Capability Assessment
Purpose & Capability
Name/description (create projects, upload images/audio, annotate, export/share) matches the documented REST endpoints and data model. No unrelated binaries, env vars, or config paths are requested.
Instruction Scope
Instructions are scoped to creating projects, uploading assets (local path, URL, or base64), annotating, and exporting/sharing. They explicitly require the agent to only read local file paths the user authorizes. Important privacy note: using the service uploads image/audio bytes to https://agentboard.fly.dev and public share links are supported — this is expected for the functionality but may expose sensitive content.
Install Mechanism
Instruction-only skill with no install spec and no code files. Lowest install risk; nothing will be written to disk by the skill itself beyond what the host runtime does when calling endpoints.
Credentials
No environment variables, credentials, or config paths are requested. The declared lack of required credentials aligns with the public endpoints described.
Persistence & Privilege
always is false and model invocation is allowed (normal). The skill does not request persistent/always-on privileges nor modify other skills or system config.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install agentboard
  3. After installation, invoke the skill by name or use /agentboard
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.2
- Clarified that hosted endpoints can be called without client credentials. - Updated description and workflow to more clearly distinguish primary (upload) versus optional server-side generation paths. - Revised batch upload instructions to emphasize safety and agent context handling for file paths and URLs. - Renamed "Fallback generation" section to "Optional server-side generation" and clarified agent/server responsibilities. - Minor language and layout improvements for clarity.
v1.0.1
AgentBoard 1.0.1 expands and clarifies usage documentation for building and managing multi-panel storyboards. - Simplified, reorganized, and made the documentation more concise for easier usage. - Added explicit guidance to always use your own image/audio generator and upload the bytes, reserving fallback routes only for agents without generation support. - Provided detailed breakdown of annotation tools, including normalized coordinates, drawing modes, and shape types. - Clarified batch upload best practices and agent context impact of image/audio upload modes. - Highlighted error codes, concurrency strategies, and advanced editing operations. - Added coverage of all available endpoints, including fallback generation, share/export options, and guidance for extending/editing projects.
v1.0.0
Initial release of AgentBoard — collaborative storyboard storage and annotation. - Store, annotate, and share multi-panel storyboards via an easy-to-use REST API. - Supports uploading of image, audio, and annotation layers to any board panel; composites and exports to shareable URLs or PDFs. - Batch upload for images/audio to multiple panels in a single call (up to 100 items). - Allows annotation drawing (shapes, text, etc.) directly onto panels. - Compatible with hosted or local server and integrates with MCP toolchains if available. - Built for use with any agent or runtime capable of generating images/audio; includes fallbacks if necessary.
Metadata
Slug agentboard
Version 1.0.2
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 3
Frequently Asked Questions

What is Agent Board?

Build multi-panel storyboards programmatically — create projects, upload images/audio to boards, composite annotations, export PDFs, share via public URL. In... It is an AI Agent Skill for Claude Code / OpenClaw, with 98 downloads so far.

How do I install Agent Board?

Run "/install agentboard" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Agent Board free?

Yes, Agent Board is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Agent Board support?

Agent Board is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Agent Board?

It is built and maintained by 0xArtex (@0xartex); the current version is v1.0.2.

💬 Comments