Backboard.io

Integrate Backboard.io for assistants, threads, memories, and document RAG via a local backend on http://localhost:5100.

MIT-0 · Free to use, modify, and redistribute. No attribution required.
3 · 1.9k · 0 current installs · 0 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
The name/description (Backboard local backend on http://localhost:5100) matches the included Flask code and Backboard SDK wrapper: the code implements assistant, thread, memory, and document endpoints. However the registry metadata claims no required environment variables or credentials, while the code clearly requires BACKBOARD_API_KEY. That mismatch is material and unexplained.
!
Instruction Scope
SKILL.md instructs the agent to call local endpoints on localhost:5100 and documents the API surface, but it does not declare or instruct how to run the backend or mention the required BACKBOARD_API_KEY. The code will attempt network calls via the backboard-sdk and persist uploaded files to temp files; these behaviors are consistent with RAG/memory features but SKILL.md omits the requirement to provide and protect an API key and does not show startup steps explicitly.
!
Install Mechanism
There is no install spec in the registry (instruction-only), but the file set includes a start.sh that creates a virtualenv and runs pip install -e . — which will execute package installation on the host. The start script uses a nonstandard 'uv' command (uv venv, uv pip, uv run) which looks wrong or uncommon and could cause unexpected behavior if executed (or may be a typo). Any script that runs pip install or other installers should be reviewed; installing and running the bundled backend will cause arbitrary Python packages to be installed and code executed locally.
!
Credentials
The code requires BACKBOARD_API_KEY (BackboardService.__init__ raises if it's missing) and reads optional BACKBOARD_DEFAULT_* env vars; yet the registry lists no required env vars/primary credential. Requesting a platform API key is proportionate to the stated purpose, but omitting it from skill metadata and SKILL.md is a discrepancy that could lead users to accidentally expose an API key or fail to realize they must supply one. Treat BACKBOARD_API_KEY as a sensitive secret — the service will use it to make external network calls.
Persistence & Privilege
The skill does not request always:true and does not appear to modify other skills or system-wide agent settings. Running the backend will create a local server on port 5100, create temporary files for uploads, and install dependencies into a virtual environment if start.sh is used. Those are expected for a local backend but represent persistent local services the user must manage.
What to consider before installing
This package mostly implements the advertised Backboard local backend, but there are important mismatches and things to check before you run it: 1) The code requires BACKBOARD_API_KEY (a secret) but the registry/SKILL.md do not declare it — do not supply secrets unless you trust the source. 2) Inspect start.sh before running. It runs pip install -e . (will install packages) and uses a nonstandard 'uv' command which may be a typo or wrapper; running the script as-is may fail or execute unintended commands. 3) Because the backend will make external network calls (via backboard-sdk) and accept file uploads, run it in an isolated environment (container or VM) and avoid using production API keys until you validate the code. 4) If you plan to use this skill, request that the publisher: add BACKBOARD_API_KEY to the declared required env vars, document exact startup instructions, and fix/clarify start.sh (or provide vetted install steps). If you cannot verify the origin, treat the code as untrusted and sandbox it.

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

Current versionv1.0.2
Download zip
latestvk970nvqyzeqczdbjmq1c3hpp6h80hkee

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

SKILL.md

Tools

This skill connects to a local Flask backend that wraps the Backboard SDK. The backend must be running on http://localhost:5100.

backboard_create_assistant

Create a new Backboard assistant with a name and system prompt.

Parameters:

  • name (string, required): Name of the assistant
  • system_prompt (string, required): System instructions for the assistant

Example:

{
  "name": "Support Bot",
  "system_prompt": "You are a helpful customer support assistant."
}

backboard_list_assistants

List all available Backboard assistants.

Parameters: None

backboard_get_assistant

Get details of a specific assistant.

Parameters:

  • assistant_id (string, required): ID of the assistant

backboard_delete_assistant

Delete an assistant.

Parameters:

  • assistant_id (string, required): ID of the assistant to delete

backboard_create_thread

Create a new conversation thread for an assistant.

Parameters:

  • assistant_id (string, required): ID of the assistant to create thread for

backboard_list_threads

List all conversation threads, optionally filtered by assistant.

Parameters:

  • assistant_id (string, optional): Filter threads by assistant ID

backboard_get_thread

Get a thread with its message history.

Parameters:

  • thread_id (string, required): ID of the thread

backboard_send_message

Send a message to a thread and get a response.

Parameters:

  • thread_id (string, required): ID of the thread
  • content (string, required): Message content
  • memory (string, optional): Memory mode - "Auto", "Readonly", or "off" (default: "Auto")

backboard_add_memory

Store a memory for an assistant that persists across conversations.

Parameters:

  • assistant_id (string, required): ID of the assistant
  • content (string, required): Memory content to store
  • metadata (object, optional): Additional metadata for the memory

Example:

{
  "assistant_id": "asst_123",
  "content": "User prefers Python programming and dark mode interfaces",
  "metadata": {"category": "preferences"}
}

backboard_list_memories

List all memories for an assistant.

Parameters:

  • assistant_id (string, required): ID of the assistant

backboard_get_memory

Get a specific memory.

Parameters:

  • assistant_id (string, required): ID of the assistant
  • memory_id (string, required): ID of the memory

backboard_update_memory

Update an existing memory.

Parameters:

  • assistant_id (string, required): ID of the assistant
  • memory_id (string, required): ID of the memory
  • content (string, required): New content for the memory

backboard_delete_memory

Delete a memory.

Parameters:

  • assistant_id (string, required): ID of the assistant
  • memory_id (string, required): ID of the memory to delete

backboard_memory_stats

Get memory statistics for an assistant.

Parameters:

  • assistant_id (string, required): ID of the assistant

backboard_upload_document

Upload a document to an assistant or thread for RAG (Retrieval-Augmented Generation).

Parameters:

  • assistant_id (string, optional): ID of the assistant (use this OR thread_id)
  • thread_id (string, optional): ID of the thread (use this OR assistant_id)
  • file_path (string, required): Path to the document file

Supported file types: PDF, DOCX, XLSX, PPTX, TXT, CSV, MD, PY, JS, HTML, CSS, XML, JSON

backboard_list_documents

List documents for an assistant or thread.

Parameters:

  • assistant_id (string, optional): ID of the assistant
  • thread_id (string, optional): ID of the thread

backboard_document_status

Check the processing status of an uploaded document.

Parameters:

  • document_id (string, required): ID of the document

backboard_delete_document

Delete a document.

Parameters:

  • document_id (string, required): ID of the document to delete

Instructions

When the user asks about:

Memory Operations

  • "Remember that..." or "Store this..." → Use backboard_add_memory
  • "What do you remember about..." → Use backboard_list_memories or backboard_get_memory
  • "Forget..." or "Delete memory..." → Use backboard_delete_memory
  • "Update my preference..." → Use backboard_update_memory

Document Operations

  • "Upload this document" or "Index this file" → Use backboard_upload_document
  • "What documents do I have?" → Use backboard_list_documents
  • "Is my document ready?" → Use backboard_document_status

Assistant Management

  • "Create a new assistant" → Use backboard_create_assistant
  • "List my assistants" → Use backboard_list_assistants
  • "Delete assistant" → Use backboard_delete_assistant

Conversation Threading

  • "Start a new conversation" → Use backboard_create_thread
  • "Show conversation history" → Use backboard_get_thread
  • "Send message to thread" → Use backboard_send_message

General Guidelines

  1. Always confirm successful operations with the user
  2. When creating assistants, suggest meaningful names and system prompts
  3. For document uploads, verify the file type is supported before attempting
  4. When using memory, explain what information is being stored
  5. Thread IDs and assistant IDs should be stored/tracked for the user's context

Examples

Example 1: Store a User Preference

  • User: "Remember that I prefer dark mode and Python code examples"
  • Action: Call backboard_add_memory with content "User prefers dark mode interfaces and Python code examples" and metadata {"category": "preferences"}
  • Response: "I've stored your preferences. You prefer dark mode and Python code examples."

Example 2: Create an Assistant

  • User: "Create a code review assistant"
  • Action: Call backboard_create_assistant with name "Code Reviewer" and system_prompt "You are an expert code reviewer. Analyze code for bugs, performance issues, and best practices. Provide constructive feedback."
  • Response: "Created your Code Reviewer assistant (ID: asst_xxx). It's ready to review code and provide feedback."

Example 3: Upload and Query a Document

  • User: "Upload my project documentation and then tell me what it covers"
  • Action 1: Call backboard_upload_document with the file
  • Action 2: Wait for processing, check status with backboard_document_status
  • Action 3: Use backboard_send_message with memory="Auto" to query about the document
  • Response: "I've uploaded and indexed your documentation. Based on the content, it covers..."

Example 4: Start a Threaded Conversation

  • User: "Start a new conversation with my support assistant"
  • Action: Call backboard_create_thread with the assistant_id
  • Response: "Started a new conversation thread (ID: thread_xxx). You can now send messages to your support assistant."

Backend Setup

The skill requires a running backend server. To start:

  1. Set the BACKBOARD_API_KEY environment variable
  2. Navigate to the backend directory
  3. Run ./start.sh

The backend will be available at http://localhost:5100.

API Endpoints Reference

EndpointMethodDescription
/healthGETHealth check
/assistantsGET, POSTList/create assistants
/assistants/{id}GET, PATCH, DELETEGet/update/delete assistant
/assistants/{id}/threadsGET, POSTList/create threads for assistant
/assistants/{id}/memoryGET, POSTList/add memories
/assistants/{id}/memory/{mid}GET, PATCH, DELETEGet/update/delete memory
/assistants/{id}/memory/statsGETMemory statistics
/assistants/{id}/documentsGET, POSTList/upload documents
/threadsGETList all threads
/threads/{id}GET, DELETEGet/delete thread
/threads/{id}/messagesPOSTSend message
/threads/{id}/documentsGET, POSTList/upload thread documents
/documents/{id}/statusGETDocument processing status
/documents/{id}DELETEDelete document

Files

14 total
Select a file
Select a file to preview.

Comments

Loading comments…