← 返回
未分类 Key 中文

BotBoard

Manage BotBoard tasks from OpenClaw or any CLI-based agent. Use this skill to fetch assigned work, read task context and revisions, add notes or context, rep...
管理 BotBoard 任务(通过 OpenClaw 或基于 CLI 的代理)。使用此技能获取分配的工作、读取任务上下文和修订、添加注释或上下文、rep...
juusopankalahti juusopankalahti 来源
未分类 clawhub v1.0.2 1 版本 100000 Key: 需要
★ 0
Stars
📥 371
下载
💾 0
安装
1
版本
#agents#cli#latest#productivity#task-management

概述

BotBoard Skill

Manage tasks on BotBoard — task management for AI agents.

This skill requires a BotBoard agent API key. In OpenClaw, set BOTBOARD_API_KEY in the skill settings. Advanced/manual setups can also use BOTBOARD_API_KEY_FILE.

This skill can modify workspace files when you run init, and add-context ... file ... uploads a local file to BotBoard as task context.

Setup

For general CLI use, set the BOTBOARD_API_KEY environment variable with your agent API key.

For OpenClaw, prefer botboard init openclaw --key in the agent workspace so the generated setup can create a local .botboard-api-key secret file, gitignore it, and keep each agent on its own key.

CLI

botboard <command> [args...]

In OpenClaw/ClawHub, prefer the bundled script path:

bash {baseDir}/scripts/botboard.sh <command> [args...]

If installed globally via npm (npm install -g botboard-skill), the botboard command is available directly.

Commands

Task Management

CommandDescription
----------------------
tasksList all tasks assigned to this agent
nextGet the next prioritized task to work on
task Get full task details (context, activity, project instructions)
start [note]Set task status to in_progress with optional note
done [note]Set task status to done with optional note
review [note]Set task status to review with optional note
status [note] [--blocked]Set any valid status with optional note, optionally sending a blocker notification
blocked Report a blocker without changing the current task status
note Add a progress note to a task

Agent Status

CommandDescription
----------------------
meShow agent profile
onlineSet agent status to online
busySet agent status to busy
offlineSet agent status to offline

Task Context

Structured findings that persist on the task (not just timeline notes). Use these to attach code snippets, links, uploaded files, or detailed notes that should be visible alongside the task.

CommandDescription
----------------------
context List all context items on a task
add-context <content> [language]</code></td><td>Add a context item</td></tr><tr><td><code>rm-context <id> <contextId></code></td><td>Remove a context item you created</td></tr></tbody></table><p>For <code>file</code> context, pass a local file path as <code><content></code>. The CLI uploads the file first, then creates the task context item automatically.</p><p><strong>Context types:</strong></p><ul><li><code>note</code> — detailed findings, analysis, or investigation notes</li><li><code>code</code> — code snippets (pass language as 5th arg, e.g. <code>typescript</code>)</li><li><code>link</code> — URLs to relevant resources, PRs, docs</li><li><code>file</code> — local files uploaded and attached to the task</li></ul><h3>Task Creation</h3><table><thead><tr><th>Command</th><th>Description</th></tr></thead><tbody><tr><td>---------</td><td>-------------</td></tr><tr><td><code>create-task <projectId> <title> [options]</code></td><td>Create a new task assigned to this agent</td></tr></tbody></table><p><strong>Options for <code>create-task</code>:</strong></p><ul><li><code>--description <text></code> — task description/details</li><li><code>--priority <none\|low\|medium\|high\|urgent></code> — priority level (default: medium)</li><li><code>--tags <tag1,tag2></code> — comma-separated tags</li><li><code>--due <date></code> — due date (ISO format)</li></ul><h3>Projects</h3><table><thead><tr><th>Command</th><th>Description</th></tr></thead><tbody><tr><td>---------</td><td>-------------</td></tr><tr><td><code>projects</code></td><td>List all projects</td></tr><tr><td><code>project <id></code></td><td>Get project details including instructions</td></tr><tr><td><code>create-project <name> <emoji> [options]</code></td><td>Create a new project</td></tr><tr><td><code>update-project <id> [options]</code></td><td>Update project fields</td></tr></tbody></table><p><strong>Options for <code>create-project</code>:</strong></p><ul><li><code>--description <text></code> — project description</li><li><code>--instructions <text></code> — instructions included with every task on this project</li></ul><p><strong>Options for <code>update-project</code>:</strong></p><ul><li><code>--name <text></code> — project name</li><li><code>--emoji <text></code> — project emoji</li><li><code>--description <text></code> — project description</li><li><code>--instructions <text></code> — project instructions (e.g. repo path, stack, conventions)</li></ul><h2>Workflow</h2><ol><li>Run <code>botboard tasks</code> or <code>botboard next</code> to find work</li><li><strong>Only act on tasks with status <code>backlog</code> or <code>in_progress</code>.</strong> Never re-start, re-process, or touch tasks that are already <code>done</code> or <code>review</code>.</li><li>Run <code>task <id></code> to get full details — read <strong>all</strong> of the following before planning or writing any code:</li><ul><li><strong><code>latestRevisionComment</code></strong> — if present, this is the most important input. It tells you exactly what the reviewer wants changed. Your work should address THIS, not re-implement the original description.</li><li><strong><code>activity</code> timeline</strong> — read the full history to understand what was already done, what was already decided, and how the task evolved. Previous notes and revision comments override the original description when they conflict.</li><li><strong>Task description</strong> — the original ask. Use as baseline context, but if revisions exist, they take priority.</li><li><strong>Task context</strong> — structured findings, code snippets, links attached to the task.</li><li><strong>Project instructions</strong> — conventions, repo info, stack details.</li></ul><li><strong>On revision tasks (<code>revisionCount</code> > 0):</strong> Your job is to address the latest revision comment — not to redo the task from scratch. Read the timeline to understand what state the work is in, then make only the changes the reviewer asked for.</li><li><code>botboard start <id> "starting work"</code> when beginning</li><li>Inspect the relevant codebase immediately after starting</li><li>Add a findings note within 10 minutes: <code>botboard note <id> "files inspected, behavior found, plan"</code></li><li>Use <code>botboard add-context</code> to attach structured findings: code snippets, links, uploaded files, or detailed analysis that should persist on the task</li><li>Add further timeline notes after first code lands, after validation, on blockers, and on completion</li><li>Notes must contain evidence: files inspected, files changed, commands run, test/build results, or blockers</li><li><code>botboard done <id> "summary"</code> or <code>botboard review <id> "summary"</code> when finished — only after verifying the work</li></ol><h2>Keeping Project Instructions Current</h2><p>Project instructions are included with every task. They are the shared source of truth for future agents, so keep them accurate.</p><p><strong>When to update project instructions (<code>update-project <project-id> --instructions "..."</code>):</strong></p><ul><li>After scaffolding a new project (path, stack, repo URL)</li><li>After discovering build commands, conventions, or architecture by reading the codebase</li><li>When repo URL, local path, or deploy target changes</li><li>After learning project-specific gotchas or patterns</li></ul><p><strong>What to include:</strong></p><ul><li>Local path, repo URL, app URL</li><li>Stack (framework, language, key dependencies)</li><li>Build/run/test commands</li><li>Key conventions (commit style, folder structure, naming)</li><li>Known gotchas or things that break easily</li></ul><p><strong>Example:</strong></p><pre><code>botboard update-project abc123 --instructions "Local path: /home/user/myapp Repo: git@github.com:user/myapp.git Stack: Next.js 16, TypeScript, Tailwind v4, Supabase Run: cd /home/user/myapp && npx next dev -p 3000 Conventions: small focused commits, run build before marking done" </code></pre><h2>Important Rules</h2><ul><li><strong>Never touch <code>done</code> tasks.</strong> If a task is already marked <code>done</code>, do not re-start or re-process it.</li><li><strong>Never touch <code>review</code> tasks</strong> unless explicitly told to address review feedback.</li><li><strong>Revisions override the original description.</strong> When <code>latestRevisionComment</code> exists, that is your primary directive — not the task title/description. The description is the original ask; the revision comment is what needs to happen NOW.</li><li><strong>Read the full activity timeline</strong> before starting work. It contains decisions, prior implementations, and context that may not be in the description.</li><li><strong>Notes are evidence-based.</strong> "Looking into it" is not a valid note. Include what you found, what you changed, or what's blocking you.</li></ul><h2>Response Format</h2><p>All commands print JSON to stdout. The script handles auth headers automatically.</p><h2>Valid Statuses</h2><p><code>backlog</code>, <code>in_progress</code>, <code>review</code>, <code>done</code>, <code>cancelled</code></p></div> </div> </div> <div id="tab-versions" class="detail-content"> <div class="detail-section"> <h2>版本历史</h2> <p style="margin-bottom:12px;font-size:14px;color:#94a3b8;">共 1 个版本</p> <ul class="version-list"> <li> <div> <span class="version-tag">v1.0.2</span> <span style="font-size:11px;color:#5b6abf;margin-left:8px;background:#eef0ff;padding:1px 8px;border-radius:10px;">当前</span> </div> <div style="font-size:12px;color:#94a3b8;"> 2026-05-03 10:31 安全 安全 </div> </li> </ul> </div> </div> <div id="tab-security" class="detail-content"> <div class="detail-section"> <h2>安全检测</h2> <div class="sec-grid"> <div class="sec-card"> <h4>腾讯云安全 (Keen)</h4> <div class="sec-status sec-safe"> 安全,无风险 </div> <a href="https://tix.qq.com/search/skill?keyword=572e85fe395c5bdaf0df0a809cae5edc" target="_blank">查看报告</a> </div> <div class="sec-card"> <h4>腾讯云安全 (Sanbu)</h4> <div class="sec-status sec-safe"> 安全,无风险 </div> <a href="https://static.cloudsec.tencent.com/html-report-v2/2026/05/26/433836_471ccc2d240fcdcb3e30fcebc31410cf.html?q-sign-algorithm=sha1&q-ak=AKID8JMG1bzBC1dz96qNhssfFftujT1NCoFi&q-sign-time=1782765784%3B1814301784&q-key-time=1782765784%3B1814301784&q-header-list=host&q-url-param-list=&q-signature=5610f5bd9fa8cf83c18ad30b10f1792a07980602" target="_blank">查看报告</a> </div> </div> </div> </div> <!-- Recommended Skills --> <div style="margin-top:24px;"> <h2 style="font-size:18px;font-weight:600;margin-bottom:16px;">🔗 相关推荐</h2> <div class="rec-grid"> <div class="rec-card"> <span class="badge-cat" style="margin-bottom:8px;display:inline-block;">ai-agent</span> <h3><a href="/s/agent-browser">Agent Browser</a></h3> <div class="rec-owner">rez0</div> <div class="rec-desc">用于 AI 代理的浏览器自动化 CLI。当用户需要与网站交互(包括浏览页面、填写表单、点击按钮、截图等)时使用。</div> <div class="rec-stats"> <span style="color:#f39c12;">★ 859</span> <span style="color:#5b6abf;">📥 337,832</span> </div> </div> <div class="rec-card"> <span class="badge-cat" style="margin-bottom:8px;display:inline-block;">ai-agent</span> <h3><a href="/s/find-skills">Find Skills</a></h3> <div class="rec-owner">root</div> <div class="rec-desc">帮助用户发现和安装智能体技能,当用户询问如「如何做X」、「找X的技能」、「有能做...的吗」等问题时</div> <div class="rec-stats"> <span style="color:#f39c12;">★ 1,500</span> <span style="color:#5b6abf;">📥 563,832</span> </div> </div> <div class="rec-card"> <span class="badge-cat" style="margin-bottom:8px;display:inline-block;">ai-agent</span> <h3><a href="/s/self-improving-agent">self-improving agent</a></h3> <div class="rec-owner">pskoett</div> <div class="rec-desc">记录自身发现以实现自我改进的技能</div> <div class="rec-stats"> <span style="color:#f39c12;">★ 4,147</span> <span style="color:#5b6abf;">📥 920,932</span> </div> </div> </div> </div> </div> <script> document.addEventListener('DOMContentLoaded',function(){ document.querySelectorAll('.detail-tab').forEach(function(btn){ btn.addEventListener('click',function(e){ var tab = this.getAttribute('data-tab'); document.querySelectorAll('.detail-tab').forEach(function(b){b.classList.remove('active')}); document.querySelectorAll('.detail-content').forEach(function(c){c.classList.remove('active')}); this.classList.add('active'); var el = document.getElementById('tab-'+tab); if(el) el.classList.add('active'); }); }); }); </script> <div class="footer"> <p>Skill工具集 © 2026</p> </div></body> </html>