HoneyDew
Use this skill when the user asks you to manage tasks, boards, cards, columns, or labels on their HoneyDew Kanban board.
When to use
- - Creating, updating, moving, or deleting cards (tasks)
- Listing boards, columns, or cards
- Transferring cards between user and agent profiles
- Managing labels (create, assign, remove)
- Checking board summaries, overdue cards, or urgent items
- Moving cards across boards
Tracking tasks
The user can open the HoneyDew board in their browser (http://localhost:5173) to see all tasks, their status, and what work the agent has completed. Encourage the user to check the board regularly for updates.
Assigning work to the user
When you need something from the user — a review, approval, input, or any manual step — create a task (or transfer an existing one) to the user's profile. It will appear on their board so they know action is needed. Let the user know you have assigned them a task and they should check HoneyDew.
Connection
- - Base URL:
http://localhost:8000 (override with env SMARTIFY_API_URL) - Docs URL: If optionally enabled by the user
http://localhost:8001' (override with env SMARTIFYDOCSURL)
- **Auth:** None (local app, no API key required)
- **Health check:** GET /health — returns {"status": "healthy"} when the backend is running
If the API is not reachable, ask the user to start HoneyDew (./start.sh in the project root).
## API reference
All endpoints are prefixed with /api.
| Method | Endpoint | Description |
|--------|----------|-------------|
| GET | /api/boards | List all boards |
| POST | /api/boards | Create a board (optional columns array) |
| GET | /api/boards/{id} | Get board with columns and cards |
| DELETE | /api/boards/{id} | Delete a board |
| POST | /api/columns | Create a column (boardid, name) |
| PATCH | /api/columns/{id} | Update column name or position |
| DELETE | /api/columns/{id} | Delete a column |
| GET | /api/cards | List cards (filters: boardid, columnid, priority, hasduedate) |
| POST | /api/cards | Create a card (columnid, title, priority, profile, optional description, duedate) |
| GET | /api/cards/{id} | Get card details |
| PATCH | /api/cards/{id} | Update card fields |
| DELETE | /api/cards/{id} | Delete a card |
| POST | /api/cards/{id}/move | Move card (columnid, position) |
| POST | /api/cards/{id}/move-to-board | Move card to another board (boardid, optional columnname) |
| POST | /api/cards/{id}/transfer | Transfer card to another profile (targetprofile) |
| GET | /api/labels | List all labels |
| POST | /api/labels | Create a label (name, color) |
| POST | /api/cards/{id}/labels/{label_id} | Add label to card |
| DELETE | /api/cards/{id}/labels/{label_id} | Remove label from card |
| GET | /api/cards/{id}/comments | List comments on a card |
| POST | /api/cards/{id}/comments | Add a comment (body, optional profile) |
Priority values: 1 = Low, 2 = Medium, 3 = High, 4 = Urgent.
## Examples
### Create a task
CODEBLOCK0
### Move a card to "In Progress"
First find the column ID:
CODEBLOCK1
Then move:
CODEBLOCK2
### Transfer a card to the user
CODEBLOCK3
## Python tools (optional)
If the user has the HoneyDew repo, tools/kanbantools.py provides a higher-level Python interface:
CODEBLOCK4
Key convenience methods: createtask, assigntouser, assigntoagent, movecardtocolumn, movecardtoboard, marktodo, markinprogress, markblocked, markdone, getboardsummary, getoverduecards, geturgentcards.
## Task comments
Both users and agents can add comments to any task. Comments are visible in the task detail view in the UI. **Always add a comment when:**
- **You are blocked**: Explain specifically what you need from the user (e.g. "Need API credentials for the staging environment before I can proceed").
- **You complete a task**: Leave a brief summary of what you did and any decisions you made (e.g. "Refactored auth module into middleware, added 12 unit tests, all passing").
- **You need review or input**: Describe what to look at and any open questions.
- **You hand off work**: Note the current state so the next person (user or agent) has context.
CODEBLOCK5
## Agent completion metadata
When you complete a task, you may report completion metadata via PATCH /api/cards/{id}. These optional fields are displayed in the HoneyDew UI on the task detail:
| Field | Type | Description |
|-------|------|-------------|
| agenttokensused | int | Tokens consumed |
| agentmodel | string | Model name (e.g. gpt-4o) |
| agentexecutiontimeseconds | float | Execution time in seconds |
| agentstartedat | string | ISO 8601 datetime when work started |
| agentcompletedat` | string | ISO 8601 datetime when work finished |
Example with Python tools:
CODEBLOCK6
Or via curl after moving to Done:
CODEBLOCK7
HoneyDew
当用户要求您管理其 HoneyDew 看板上的任务、看板、卡片、列或标签时,请使用此技能。
使用时机
- - 创建、更新、移动或删除卡片(任务)
- 列出看板、列或卡片
- 在用户和代理配置文件之间转移卡片
- 管理标签(创建、分配、移除)
- 查看看板摘要、逾期卡片或紧急事项
- 跨看板移动卡片
任务跟踪
用户可以在浏览器中打开 HoneyDew 看板(http://localhost:5173)查看所有任务、任务状态以及代理已完成的工作。鼓励用户定期查看看板以获取更新。
向用户分配工作
当您需要用户执行某些操作时——如审核、批准、输入或任何手动步骤——创建一个任务(或转移现有任务)到用户的配置文件。该任务将出现在用户的看板上,以便他们知道需要采取行动。告知用户您已为他们分配了任务,他们应查看 HoneyDew。
连接
- - 基础 URL: http://localhost:8000(可通过环境变量 SMARTIFYAPIURL 覆盖)
- 文档 URL: 如果用户可选启用 http://localhost:8001(可通过环境变量 SMARTIFYDOCSURL 覆盖)
- 认证: 无(本地应用,无需 API 密钥)
- 健康检查: GET /health — 后端运行时返回 {status: healthy}
如果 API 无法访问,请要求用户启动 HoneyDew(在项目根目录运行 ./start.sh)。
API 参考
所有端点均以 /api 为前缀。
| 方法 | 端点 | 描述 |
|---|
| GET | /api/boards | 列出所有看板 |
| POST |
/api/boards | 创建看板(可选 columns 数组) |
| GET | /api/boards/{id} | 获取包含列和卡片的看板 |
| DELETE | /api/boards/{id} | 删除看板 |
| POST | /api/columns | 创建列(board_id,name) |
| PATCH | /api/columns/{id} | 更新列名称或位置 |
| DELETE | /api/columns/{id} | 删除列 |
| GET | /api/cards | 列出卡片(筛选条件:board
id,columnid,priority,has
duedate) |
| POST | /api/cards | 创建卡片(column
id,title,priority,profile,可选 description,duedate) |
| GET | /api/cards/{id} | 获取卡片详情 |
| PATCH | /api/cards/{id} | 更新卡片字段 |
| DELETE | /api/cards/{id} | 删除卡片 |
| POST | /api/cards/{id}/move | 移动卡片(column_id,position) |
| POST | /api/cards/{id}/move-to-board | 将卡片移动到另一个看板(board
id,可选 columnname) |
| POST | /api/cards/{id}/transfer | 将卡片转移到另一个配置文件(target_profile) |
| GET | /api/labels | 列出所有标签 |
| POST | /api/labels | 创建标签(name,color) |
| POST | /api/cards/{id}/labels/{label_id} | 为卡片添加标签 |
| DELETE | /api/cards/{id}/labels/{label_id} | 移除卡片上的标签 |
| GET | /api/cards/{id}/comments | 列出卡片上的评论 |
| POST | /api/cards/{id}/comments | 添加评论(body,可选 profile) |
优先级值:1 = 低,2 = 中,3 = 高,4 = 紧急。
示例
创建任务
bash
curl -X POST http://localhost:8000/api/cards \
-H Content-Type: application/json \
-d {column_id: 1, title: 编写文档, priority: 2, profile: jarvis}
将卡片移动到进行中
首先查找列 ID:
bash
curl http://localhost:8000/api/boards/1
然后移动:
bash
curl -X POST http://localhost:8000/api/cards/3/move \
-H Content-Type: application/json \
-d {column_id: 2, position: 0}
将卡片转移给用户
bash
curl -X POST http://localhost:8000/api/cards/3/transfer \
-H Content-Type: application/json \
-d {target_profile: tony}
Python 工具(可选)
如果用户拥有 HoneyDew 仓库,tools/kanban_tools.py 提供了更高级的 Python 接口:
python
from kanban_tools import KanbanTools, Priority
kanban = KanbanTools()
card = kanban.create_task(title=编写文档, priority=Priority.HIGH)
kanban.movecardtocolumn(card[id], boardid=1, column_name=进行中)
kanban.assigntouser(card[id])
kanban.mark_done(card[id])
关键便捷方法:createtask,assigntouser,assigntoagent,movecardtocolumn,movecardtoboard,marktodo,markinprogress,markblocked,markdone,getboardsummary,getoverduecards,geturgentcards。
任务评论
用户和代理都可以在任何任务上添加评论。评论在 UI 的任务详情视图中可见。在以下情况下始终添加评论:
- - 您被阻塞时:具体说明您需要用户提供什么(例如需要暂存环境的 API 凭据才能继续)。
- 您完成任务时:简要总结您所做的工作和所做的任何决定(例如将认证模块重构为中间件,添加了 12 个单元测试,全部通过)。
- 您需要审核或输入时:描述需要查看的内容以及任何未解决的问题。
- 您交接工作时:注明当前状态,以便下一个人(用户或代理)了解上下文。
bash
curl -X POST http://localhost:8000/api/cards/3/comments \
-H Content-Type: application/json \
-d {body: 已完成初稿,需要审核。, profile: jarvis}
代理完成元数据
当您完成任务时,可以通过 PATCH /api/cards/{id} 报告完成元数据。这些可选字段会显示在 HoneyDew UI 的任务详情中:
| 字段 | 类型 | 描述 |
|---|
| agenttokensused | int | 消耗的令牌数 |
| agent_model |
string | 模型名称(例如 gpt-4o) |
| agent
executiontime_seconds | float | 执行时间(秒) |
| agent
startedat | string | 工作开始时间的 ISO 8601 日期时间 |
| agent
completedat | string | 工作完成时间的 ISO 8601 日期时间 |
使用 Python 工具的示例:
python
kanban.mark_done(
card[id],
agenttokensused=4200,
agent_model=gpt-4o,
agentexecutiontime_seconds=12.8,
agentstartedat=2026-02-22T10:30:00Z,
agentcompletedat=2026-02-22T10:30:12Z,
)
或者通过 curl 在移动到已完成后:
bash
curl -X PATCH http://localhost:8000/api/cards/5 \
-H Content-Type: application/json \
-d {agenttokensused: 4200, agentmodel: gpt-4o, agentexecutiontimeseconds: 12.8, agentstartedat: 2026-02-22T10:30:00Z, agentcompletedat: 2026-02-22T10:30:12Z}