kanban
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseWhat this is
简介
The official agent connector is. This is THE skill to hand to any agent — your own, a teammate's, anyone's — to give it read/write access to a Kanban board. Give that folder out, install it, and the agent is wired to the board. Everything else in this directory (kanban_agent_skill/,server.js) is for hosting a board;kanban.htmlis for using one.kanban_agent_skill/
A self-contained Kanban system that lives in this skill's own folder
():
skills/kanban/- — the board UI (React, single file).
kanban.htmlis derived fromAPI_BASE, so the same file works locally and behind any published path prefix. No edits needed on publish.window.location.pathname - — Node server on port 5555, file-backed (
server.js), exposing thedata.jsonAPI the UI and the agent both use./ajax/tasks/* - — the connector skill for agents (registered as
kanban_agent_skill/, auto-discovered when this skill is installed). This is the folder an agent — yours or a collaborator's — uses to read/write the board. It auto-resolves the board URL at runtime (see its SKILL.md), so once you publish, the agent is wired up with zero edits and the file never needs updating.kanban-agent
Deployment model — one board per user. Each user serves their own
and publishes it to .
Your agent connects to your board. There's no shared server and no shared
, so two users never collide. (To collaborate on one board, use
from the companion skill to point at someone else's URL.)
server.jshttps://community.iamstarchild.com/{USER_ID}-kanban-boarddata.jsonkb_use_board(url)官方Agent连接器为。这是赋予任意Agent(你自己的、同事的,任何人的)读写Kanban看板权限的专属技能。将该文件夹分发、安装后,Agent即可与看板建立连接。本目录中的其他文件(kanban_agent_skill/、server.js)用于托管看板;而kanban.html用于使用看板。kanban_agent_skill/
一个自包含的Kanban系统,存放在本技能的专属目录()中:
skills/kanban/- —— 看板UI(基于React的单文件)。
kanban.html由API_BASE自动推导,因此同一文件可在本地环境及任意发布路径前缀下正常工作,发布时无需修改。window.location.pathname - —— 运行在5555端口的Node服务器,基于文件存储(
server.js),对外暴露UI和Agent共用的data.jsonAPI。/ajax/tasks/* - —— Agent的连接器技能(注册为
kanban_agent_skill/,安装本技能后会被自动识别)。这是Agent(你或协作者的)用于读写看板的文件夹。它会在运行时自动解析看板URL(详见其SKILL.md),因此一旦完成发布,Agent无需任何修改即可完成连接,且文件无需后续更新。kanban-agent
部署模式——每人一个看板。每位用户自行运行并将其发布至。你的Agent将连接到你的看板。这里没有共享服务器和共享,因此两位用户的看板不会产生冲突。(若要协作使用同一个看板,请使用配套技能中的指向他人的看板URL。)
server.jshttps://community.iamstarchild.com/{USER_ID}-kanban-boarddata.jsonkb_use_board(url)Setup — publish your board (run these in order)
搭建步骤——发布你的看板(按顺序执行)
1. Serve the board locally
1. 本地部署看板
The board files (, ) live in this skill's own
directory — normally . Serve from there; do NOT copy the files
anywhere else (copies drift). Use the tool (NOT a raw call — the
preview registry is what reads):
server.jskanban.htmlskills/kanbanpreviewnodepublish_previewpreview(action="serve", title="Kanban Board", dir="skills/kanban", command="node server.js", port=5555)If a preview is already registered (check for a
-suffixed id), reuse its id and make sure its points at
— don't serve a duplicate.
/data/previews.jsonkanbandirskills/kanban看板文件(、)存放在本技能的专属目录中——通常为。请从该目录启动服务;请勿将文件复制到其他位置(复制会导致版本不一致)。使用工具(请勿直接调用——会读取预览注册表):
server.jskanban.htmlskills/kanbanpreviewnodepublish_previewpreview(action="serve", title="Kanban Board", dir="skills/kanban", command="node server.js", port=5555)如果预览已注册(检查中是否有带后缀的id),请复用其id并确保指向——请勿重复部署。
/data/previews.jsonkanbandirskills/kanban2. Publish it to a public URL
2. 发布至公开URL
Load the community-publish skill ( its SKILL.md), then:
read_filepython
publish_preview(preview_id="<from step 1>", slug="kanban-board", title="Kanban Board")This maps the running service to
. The
prefix is added automatically — keep the slug exactly so the
companion skill's auto-detect finds it without extra config.
https://community.iamstarchild.com/{USER_ID}-kanban-boardUSER_IDkanban-boardRequires running inside the Starchild container (needs). Publishing only allocates the URL — it does NOT list the board on the public gallery. That's a separate, deliberateFLY_MACHINE_IDcall if wanted.list_in_dashboard()
加载community-publish技能(使用读取其SKILL.md),然后执行:
read_filepython
publish_preview(preview_id="<from step 1>", slug="kanban-board", title="Kanban Board")此操作会将运行中的服务映射至。前缀会自动添加——请保持slug为,以便配套技能无需额外配置即可自动识别。
https://community.iamstarchild.com/{USER_ID}-kanban-boardUSER_IDkanban-board需在Starchild容器内运行(需要)。 发布仅会分配URL——不会将看板列入公共画廊。若需要列入,需单独执行FLY_MACHINE_ID调用。list_in_dashboard()
3. Record the published URL in the connector's SKILL.md
3. 在连接器的SKILL.md中记录已发布的URL
After publishing, take the actual public URL returned by
(or read it from ) and write it into the connector skill's
doc so the live board link is captured in the skill itself, not just guessed.
publish_preview/data/previews.jsonEdit and replace the placeholder
board URL with the real published URL. Specifically, in its Overview section
change the auto-detect line:
skills/kanban/kanban_agent_skill/SKILL.md2. `https://community.iamstarchild.com/{USER_ID}-kanban-board` — your published board, if reachable.to the concrete URL you just published, e.g.:
2. `https://community.iamstarchild.com/1357-kanban-board` — your published board (live).Use for this, then run so the change is reloaded.
This keeps the connector's documentation pointing at the real live board rather
than a placeholder. (The runtime resolver still works either way — this is so
the URL is written down, per request.)
edit_fileskill_refresh发布完成后,获取返回的实际公开URL(或从中读取),并将其写入连接器技能的文档中,以便看板的实时链接被记录在技能本身中,而非仅靠猜测。
publish_preview/data/previews.json编辑,将占位符看板URL替换为真实的已发布URL。具体来说,在其概述部分修改自动检测行:
skills/kanban/kanban_agent_skill/SKILL.md2. `https://community.iamstarchild.com/{USER_ID}-kanban-board` — your published board, if reachable.替换为你刚发布的具体URL,例如:
2. `https://community.iamstarchild.com/1357-kanban-board` — your published board (live).使用完成此操作,然后运行使更改生效。这会让连接器的文档指向真实的实时看板,而非占位符。(无论是否修改,运行时解析器都能正常工作——此操作是为了按要求记录URL。)
edit_fileskill_refresh4. Verify the connection
4. 验证连接
Load the companion skill () and run:
read_file skills/kanban/kanban_agent_skill/SKILL.mdpython
kb_health()Expect , , and
matching your URL. If it resolved to , the
publish didn't take — recheck step 2.
resolved_via: "community (auto)"ok: trueresolved_url{USER_ID}-kanban-boardlocalhost加载配套技能()并执行:
read_file skills/kanban/kanban_agent_skill/SKILL.mdpython
kb_health()预期返回、,且与你的 URL匹配。如果解析到,说明发布未成功——请重新检查步骤2。
resolved_via: "community (auto)"ok: trueresolved_url{USER_ID}-kanban-boardlocalhost5. Hand the user their link
5. 向用户提供链接
Give them the live URL from step 2, e.g.
.
On Telegram/WeChat, send the full public URL (no preview panel there).
https://community.iamstarchild.com/{USER_ID}-kanban-board/将步骤2中的实时URL提供给用户,例如。在Telegram/微信上发送完整的公开URL(无需预览面板)。
https://community.iamstarchild.com/{USER_ID}-kanban-board/After setup — using the board
搭建完成后——使用看板
Day-to-day task management is the companion skill's job. Its functions
auto-resolve to the board you just published — no arguments needed:
python
from exports import kb_health, kb_summary, kb_create_task, kb_move_task
kb_summary() # orient: columns + task countsSee for the full function reference.
kanban_agent_skill/SKILL.md日常任务管理由配套技能负责。其函数会自动解析到你刚发布的看板——无需传入参数:
python
from exports import kb_health, kb_summary, kb_create_task, kb_move_task
kb_summary() # 查看概览:列信息 + 任务数量完整函数参考请见。
kanban_agent_skill/SKILL.mdCollaborate — give a colleague's agent access to your board
协作——让同事的Agent访问你的看板
Your board is one shared URL. To let a teammate's agent read/write it, they need
the connector skill only — not the whole board (they don't run a server).
Prepare a pre-wired copy (recommended — no manual config for the recipient).
From the connector skill, run:
python
kb_export_for_sharing()This stamps a copy of with your board URL and zips it to
. Send that folder/zip. The recipient:
kanban_agent_skill/output/kanban-agent-share/- Drops into their own
kanban_agent_skill/directory.skills/ - Their agent runs skill_refresh (registers it as ).
kanban-agent - Runs — it auto-connects to your board, zero config.
kb_health()
Why not just send the raw folder? A raw copy auto-detects the recipient's own
board, not yours — stamping is what wires it to your board. (Manual alternative:
send the folder and have them set in their
or call .) Remember the API is open: anyone with
the URL has full read/write.
KANBAN_URL=<your board URL>.envkb_use_board(<your board URL>)你的看板对应一个共享URL。若要让同事的Agent读写你的看板,他们只需连接器技能——无需完整看板(无需运行服务器)。
准备预配置的副本(推荐方式——接收方无需手动配置)。从连接器技能中执行:
python
kb_export_for_sharing()此操作会将的副本标记上你的看板URL,并压缩至。发送该文件夹/压缩包。接收方只需:
kanban_agent_skill/output/kanban-agent-share/- 将放入自己的
kanban_agent_skill/目录。skills/ - 其Agent运行skill_refresh(将其注册为)。
kanban-agent - 运行——无需任何配置即可自动连接到你的看板。
kb_health()
为什么不直接发送原始文件夹?原始副本会自动检测接收方自己的看板,而非你的——标记操作才会将其连接到你的看板。(手动替代方案:发送文件夹并让接收方在中设置,或调用。)请注意API是开放的:任何知道该URL的人都拥有完整的读写权限。
.envKANBAN_URL=<your board URL>kb_use_board(<your board URL>)Notes & gotchas
注意事项与常见问题
- Keep the slug . The companion skill auto-detects
kanban-board. A different slug means you must set the{USER_ID}-kanban-boardenv var so the agent can find it.KANBAN_URL - The board must stay running. maps a running service; if the container restarts, the preview auto-starts from
publish_preview(whose entry must point at/data/previews.json)./data/workspace/skills/kanban - No password / open API. The UI loads directly and the API is unauthenticated.
Anyone who knows the published URL can read/write the board. Don't publish
sensitive data unless you're comfortable with that. To lock it down you'd add
auth on the routes in
/ajax/tasks/*.server.js - Local dev without publishing: run in
node server.jsand openskills/kanban/— the companion skill falls back to localhost automatically when no community board is reachable.http://localhost:5555
- 请保持slug为。配套技能会自动检测
kanban-board。若使用不同的slug,你必须设置{USER_ID}-kanban-board环境变量,以便Agent能找到看板。KANBAN_URL - 看板必须持续运行。映射的是运行中的服务;如果容器重启,预览会从
publish_preview自动启动(其条目必须指向/data/previews.json)。/data/workspace/skills/kanban - 无密码/API开放。UI直接加载,且API未做身份验证。任何知道已发布URL的人都可以读写看板。除非你能接受此风险,否则请勿发布敏感数据。若要锁定看板,你需要在的
server.js路由中添加身份验证。/ajax/tasks/* - 无需发布的本地开发:在目录中运行
skills/kanban/并打开node server.js——当无法访问社区看板时,配套技能会自动回退到本地环境。http://localhost:5555