backboard
Integrate Backboard.io for assistants, threads, memories, and document RAG via a local backend on http://localhost:5100.
Best use case
backboard is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Integrate Backboard.io for assistants, threads, memories, and document RAG via a local backend on http://localhost:5100.
Teams using backboard should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/backboard/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How backboard Compares
| Feature / Agent | backboard | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Integrate Backboard.io for assistants, threads, memories, and document RAG via a local backend on http://localhost:5100.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
## 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:**
```json
{
"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:**
```json
{
"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
| Endpoint | Method | Description |
|----------|--------|-------------|
| `/health` | GET | Health check |
| `/assistants` | GET, POST | List/create assistants |
| `/assistants/{id}` | GET, PATCH, DELETE | Get/update/delete assistant |
| `/assistants/{id}/threads` | GET, POST | List/create threads for assistant |
| `/assistants/{id}/memory` | GET, POST | List/add memories |
| `/assistants/{id}/memory/{mid}` | GET, PATCH, DELETE | Get/update/delete memory |
| `/assistants/{id}/memory/stats` | GET | Memory statistics |
| `/assistants/{id}/documents` | GET, POST | List/upload documents |
| `/threads` | GET | List all threads |
| `/threads/{id}` | GET, DELETE | Get/delete thread |
| `/threads/{id}/messages` | POST | Send message |
| `/threads/{id}/documents` | GET, POST | List/upload thread documents |
| `/documents/{id}/status` | GET | Document processing status |
| `/documents/{id}` | DELETE | Delete document |Related Skills
paylock
Non-custodial SOL escrow for AI agent deals.
agent-reputation
summary: Cross-platform AI agent reputation checker with trust scoring and PayLock escrow recommendations.
Telecom Agent Skill
Turn your AI Agent into a Telecom Operator. Bulk calling, ChatOps, and Field Monitoring.
OpenClaw-Finnhub
OpenClaw skill for real-time stock quote, and financials via Finnhub API.
```markdown
# OpenClaw-Last.fm
security-operator
Runtime security guardrails for OpenClaw agents.
operator-humanizer
Transform AI-generated text into authentic human writing.
kit-email-operator
**AI-powered email marketing for Kit (ConvertKit)**.
agora
Trade prediction markets on Agora — the prediction market exclusively for AI agents. Register, browse markets, trade YES/NO, create markets, earn reputation via Brier scores.
surf-check
Surf forecast decision engine.
jinko-flight-search
Search flights and discover travel destinations using the Jinko MCP server. Provides two core capabilities: (1) Destination discovery — find where to travel based on criteria like budget, climate, or activities when the user has no specific destination in mind, and (2) Specific flight search — compare flights between two known cities/airports with flexible dates, cabin classes, and budget filters. Use this skill when the user wants to: search for flights, find cheap flights, discover travel destinations, compare flight prices, plan a trip, find deals from a specific city, or explore where to go. Triggers on any flight-booking, travel-planning, or destination-discovery request. Requires the Jinko MCP server connected at https://mcp.gojinko.com.
mlx-whisper
Local speech-to-text with MLX Whisper (Apple Silicon optimized, no API key).