Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Agent Board

v1.0.2

Build multi-panel storyboards programmatically — create projects, upload images/audio to boards, composite annotations, export PDFs, share via public URL. In...

0· 93·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for 0xartex/agentboard.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Agent Board" (0xartex/agentboard) from ClawHub.
Skill page: https://clawhub.ai/0xartex/agentboard
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install agentboard

ClawHub CLI

Package manager switcher

npx clawhub@latest install agentboard
Security Scan
Capability signals
CryptoCan make purchases
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Benign
high confidence
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.
Assessment
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.

Like a lobster shell, security has layers — review code before you run it.

latestvk97bc3hamv4zbv12ykhgp8msv184en6z
93downloads
0stars
3versions
Updated 2w ago
v1.0.2
MIT-0

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:

FieldWhatUse for
imagePath / audioPathLocal file pathPreferred 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 / audioUrlhttp/https URLRemote CDN links (the MCP subprocess fetches them). Zero agent context cost.
imageBase64 / audioBase64Inline base64Only for tiny images (<10 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:

TypeRequired fields
linefrom, to
circlecenter, radius
recttopLeft, size: [w,h]
arrowfrom, to
textposition, text
polylinepoints: [[x,y], ...]
polygonpoints: [[x,y], ...]
bezierfrom, 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.

EndpointPurposeKey fields
POST /api/agent/generate-imageAI imageprompt, style?, quality?, model?
POST /api/agent/generate-speechText-to-speechtext, voice?
POST /api/agent/generate-sfxSound effectprompt, durationSeconds? (0.5–22)
POST /api/agent/generate-musicMusicprompt, 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)HTTPAction
BAD_REQUEST, BAD_BASE64, BAD_MIME, BAD_DRAW400Fix request shape
UPLOAD_TOO_LARGE413Resize/compress (images > 256 MB, audio > 512 MB)
WRONG_PROJECT, FORBIDDEN403Check projectId match
NO_BOARD, NOT_FOUND404Refetch via GET /api/agent/project/:id
VERSION_MISMATCH409Refetch, merge, retry
PROVIDER_REJECTED422Fallback generator rejected (moderation or voice-locked)
RATE_LIMITED429Exponential backoff
(none)402x402 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.

Comments

Loading comments...