taskboard
Skill0 starsChanged 3 months agoMITView on GitHub
中央看板(本机 todo_hub 看板)的卡片读写:读卡、认领、改状态、评论、建卡、挂关系、交付回写。用户说 todo、看板、面板,输入含卡片编号(如 TODOHUB-3),prompt 里有 e-taskboard、「处理任务面板任务」或看板系统投来的指令,要把工作结果回写看板,或发现了值得记录的新待办时使用。
In this repository19 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- global/CLAUDE.mdCLAUDE.md
- article-ingestSkill
- git-workflowSkill
- grillingSkill
- handoffSkill
- hv-analysisSkill
- leaderSkill
- lqSkill
- mmd-explainSkill
- neat-freakSkill
- pickupSkill
- playgroundSkill
- session-logSkill
- session-searchSkill
- steelmanSkill
- ui-optionsSkill
- zettel-distillSkill
The file
Files
taskboard — 操作中央看板
待办的事实源是本机看板(todo_hub 仓 dashi-taskboard/ 里的 dashi fork)。一切读写走 taskctl,
消费它的 JSON 输出(读评论默认是纯文本读物,要结构带 --json)。卡片编号以看板或 prompt 给出的为准,不猜、不派生、不改写前缀——编号错了
会把工作记到别人的卡上。
判成功要看 error 字段或退出码,不能只看输出能否解析:用法错误、版本冲突返回的同样是合法
JSON,JSON.parse 成功不代表写进去了。管道里包一层解析脚本时尤其容易把失败读成成功。
先认这一轮:读哪份
各类轮次的规矩互不相同,只读这一轮用得上的。判据只看这一轮收到的指令原文,不猜;前六行从上 往下命中第一行即止,最后一行与之叠加:
| 这一轮的指令原文里有 | 是哪一轮 | 照什么做 |
| 【自动派发会话须知】(含「无仓库项目」「冻结 SSH 目标」两个变体) | 自动工作轮 | 照须知做,这一轮的规矩以须知原文为准;交付评论另读 delivery-comment.md |
| 【自动预调研会话须知】 | 讨论卡预调研轮 | 照须知做,不读别的 |
| 【看板完成钩子】 | 完成收尾轮 | 照指令做;另读 closeout.md |
| 【看板评论回应】【看板家族复查】【看板家族收口】【看板候选冲突重解】【看板 main 归并冲突】【看板落位测试闸修正】等系统投来的【看板…】指令 | 系统指令轮 | 照指令做,不读别的;本卡状态只按指令改(家族收口指令让挪的是父卡) |
以上都没有,卡是直接交付(deliver) | 人手派的会话 | 读 deliver.md 与 delivery-comment.md |
以上都没有,卡是共同讨论(discuss) | 人手派的会话 | 读 discuss.md |
| 卡属于 todo_hub 项目(与上面各行叠加) | — | 本卡要往决策记录追加拍板节时读 notes-page.md |
「以上都没有」= 她在对话里交代的、看板「派遣」按钮开出的对话。看板自动起的轮次由派发器挪本卡 状态,自己挪会被收尾检查判成越权(TODOHUB-349 实撞)。同一对话里后到的系统指令只管它自己那 一轮:自动工作轮的会话之后收到家族收口指令,就照收口指令挪父卡,须知里的「不要挪」管的是当初 那一轮。【看板自动叫醒】(额度恢复)不是新的一轮,接着按被掐断的那一轮做。
调用方式
taskctl <子命令>,已在 PATH。找不到 = 该机没跑过 board.ps1 install,降级用显式路径,写正斜杠:
node C:/Users/sarah/.taskboard/app/dashi-taskboard/cli/taskctl.mjs <子命令>exit code 3 = 看板服务没在跑。跑一次幂等拉起再重试,不要自己 npm start——那是拿开发代码
配空数据库冒充生产:
powershell -NoProfile -ExecutionPolicy Bypass -File C:/Users/sarah/Projects/todo_hub/scripts/board.ps1 ensure- 命令、参数与取值现查
taskctl help/taskctl help <资源> [动作](从 taskctl 解析表生成, 含本 fork 独有语义);references/cli.md 是上游原文,两份冲突以 help 为准, help 打印不了的几句见 references/fork-cli.md - 交付纪律以本 skill 为准,cli.md 只管语法
会话归属与写入方标识
每个写操作都要归属到一个会话,否则看板认不出这张卡是谁在做、「查看对话」也打不开。读操作不需要。
- Codex 内自动读
CODEX_THREAD_ID。 - Claude Code 内:桌面 App 里跑时取
CLAUDE_CODE_HOST_SESSION_ID(侧栏那行编号去掉local_前缀),终端裸跑才取CLAUDE_CODE_SESSION_ID。两者都不用显式传。顺序不能反——claude://resume?session=只认宿主 id,拿 CLI id 会导入成一条无标题的重复记录。 - Cursor 内自动读
CURSOR_CONVERSATION_ID(派发器起cursor-agent时注入;IDE 聊天窗口没有)。 - 再取不到的环境显式传
--thread-id <当前会话 UUID>;连 UUID 都没有就用claude-YYYYMMDDHHMM一次性 id,同一会话从一而终。 - 写入方标识
--agent codex|claude|cursor决定看板画哪个图标、深链怎么开,自动判定顺序见taskctl help的全局选项——Cursor IDE 的聊天窗口必须显式带--agent cursor,别记成 claude。
分区:每一列装什么
挪状态前先跑 taskctl help statuses:打印七列的字段值、界面文案、判据与「球在谁手上」,直接读
todo_hub 的状态语义模块,本文不抄。判据一栏是归位的唯一依据——只看判据就能定位,不靠「这个
她大概想看吧」的感觉。
「球在谁手上」按 agent 视角读:todo 一挪进去就等于放手,派发器几秒内就可能领走;
in_progress 只有绑定的那个会话能动;写着 Sarah 的列是等她动手的地方,等她的卡必须停在那里
(见下面流转规则)。
流转规则(挪本卡状态之前先按「先认这一轮」确认这一轮归不归你挪):
- 先读后动:已有卡先
issue get+comment list,读完描述和最新评论再决定动不动——评论是 现行需求,含打回重做。评论说等待/别执行时,停下汇报,不改状态。内嵌图片附件只在理解需求 确实需要时下载。 - 认领:可开工的
todo带当前version挪in_progress,成功之前不继续。已是in_progress的卡只有绑定当前会话才继续,别的会话认领的卡永远不碰——两个会话同时写同 一张卡会互相覆盖。 - 版本冲突:并发写用最新
version+--if-version。冲突就重新issue get+comment list, 仅当它仍是可认领的todo、未绑他会话、未归档、描述评论都没变时,用新 version 重试一次;否则 停下汇报,不循环抢占。 done只由 Sarah 点,agent 永远不点。她要过一眼每张做完的卡;agent 自己点,她就得去完成 列里考古哪些是新的。deliver(直接交付)说的是这张卡不需要边做边讨论,不是授权 agent 替她 确认。- 进
todo的门槛是自包含的## 验收标准:只看这一节就能知道任务的对象与场景、外部结果、 边界和逐项判定方式,不拿实现方案或「测试通过」冒充需求。各验收项一律 agent 自验,不设交给她 验的项——她要看就自己开产品看。共识散在评论里的先归并回描述,评论留作历史。backlog可以只是种子,门槛只在进todo或获得实施 授权前生效;授权是她明确说的,assignee 是谁不算授权。 - 等她的卡必须停在她会看的列:等确认、要她拍板才能继续,都是
in_review;不要把等她的卡 留在backlog指望被看到。干不下去用blocked(按上表判据),不再做用canceled, 不从in_progress跳过交付记录直接改状态。 - 拍板要回写卡片:会话里讨论出的结论,把「拍了什么、落在哪些文件、这张卡还剩哪半没做」写回 卡片评论或描述——只写进 decisions.md 或规则文件,从看板上看等于什么都没发生。
目的地与推进方式
两个卡片字段,与分区、彼此都正交。建卡时可设,建完 agent 就改不动(服务端 403,与
bundleRelease 同边界):它们会触发动作,agent 改得动就等于能替她拍板。觉得该改就评论提议。
- 目的地(
destination):只用production生产。生产 = 交付时系统直接把候选合并进 main、 push、部署,卡进「等你确认」时成果已在线上,她点完成 = 纯归档;验收入口只有生产实例。收口 时机跟着它走(见 deliver.md、closeout.md)。dev开发已停用(TODOHUB-493):建卡、改卡、--default-destination dev都会 400DESTINATION_RETIRED,常驻验收实例已停。存量开发卡照常走完。以下是不再使用的路径,开回来时 再看:开发 = 候选由系统合入 dev 集成分支,她在常驻 dev 实例上验,点完成 = 放行、触发合并上线。
- 推进方式(
advanceMode):deliver直接交付(默认)/discuss共同讨论。需要她参与才能 成形的,建卡时用--mode discuss标成共同讨论。todo列的讨论卡由派发器起只调查不实施的 预调研轮。改推进方式只改字段、不起会话;讨论卡要转实施,她先改成直接交付、再退回等待认领 (见 discuss.md)。
建卡
先 context current,再 taskctl issue search <词>… 找同题旧卡(默认当前项目、含完成卡;
--all-projects 搜全部项目,--active 只看活跃卡):撞上未交付的同题卡在那张卡评论追加、
不另建;已交付的新建时 --related 它。琐碎请求不上板;粒度按 todo_convention.md(一个会话
能做完为界)。独立卡是常态;一个需求大到必须拆才建家族(父卡 = 需求、子卡 = 工程),一级为限,
要三层就是拆错了,回父卡重拆。加需求保持原卡范围。
- 建进哪一列:
- Sarah 在对话或看板评论里明确说「建卡」,且对象、边界与验收标准已经自包含 → 建
todo, 直接进等待认领。推进方式不影响这条:她说「建一张共同讨论的卡」同样进todo,由预调研轮 领走。 - 她说了「待立项」「先讨论」「先记一下」一类,或还没给实施授权 → 建
backlog,可以只写 一句种子。她说「建卡」但对象或验收标准还说不清时同样建backlog,并在回复里说明缺什么。 - agent 自己发现的后续工作不套这条默认,照「授权 + 验收标准门槛」判断。
issue create不带--status会落backlog,建todo必须显式传--status todo。
- Sarah 在对话或看板评论里明确说「建卡」,且对象、边界与验收标准已经自包含 → 建
- 独立验收必须、无例外:每张卡(家族子卡同样)的
## 验收标准验的是它自己的交付物, 不靠兄弟卡或整条链跑通才可验(「后端就绪」可以独立验,不等 UI 长出来)。写不出可独立 判定的验收项 = 这张卡的边界切错了,回去重切,不靠「验收时一起看」兜。 - 追加还是新卡:新发现落在某张未交付卡的现有验收范围内 → 在那张卡评论追加;自成 验收标准、或相关卡已交付/在验 → 新建卡并挂关系。拿不准固定走「新卡 + related + 评论 说明」,不留自由裁量空间。
- parent 答归属、blockedBy 答时序:parent = 属于哪个需求,blockedBy = 开工前必须等谁; 两者正交、可并存。无链视为可并行——判断过两张卡既无逻辑先后、也不改同一片代码,才 不拉链;有先后,或会改同一片代码(哪怕先后无所谓),都要拉 blockedBy,先后无所谓时方向 任选。派发器的 blocker 门就是这张图的执行器,不另写调度规则。判据之外不额外挂关系。
- 同主题禁止孤儿卡:同主题卡用本节开头的
issue search找;与现行活跃卡同主题的新卡必须 挂关系——有父卡挂 parent,无父卡时与同主题卡拉 blockedBy。判断走严,拿不准只挂 related 并 评论说明。挂关系不改对方卡的会话归属,别人正在做的卡照挂不误(见taskctl help issue relation)。 - 关系跟着建卡一起给,不建完再挂:建卡时已知的关系一律用
issue create的--parent/--blocked-by/--blocks/--related一次带上,服务端与建卡同一个事务落库。 分两次调用,中间那张todo卡就是一张没人挡的可派卡,派发器几秒内就认领开工 (TODOHUB-268、TODOHUB-280 实撞,最快 3.8 秒);建backlog同样一起给,免得挪todo前 忘了补。issue relation add只留给给已经存在的卡补挂关系。选项与报错见taskctl help issue create。
正文里提到别的卡写 @ 链接
评论与描述里提到别的卡写成 [@<卡号>](?project=<该卡项目 id>&issue=<卡号>)(例:
[@CLAUDESKILLS-43](?project=claude-skills&issue=CLAUDESKILLS-43));git trailer、命令参数、
文件名仍写裸卡号。
- 项目 id 取那张卡
issue get里的projectId,不是卡号前缀改小写(CLAUDESKILLS的项目 是claude-skills);拼错了点开落到错误的项目里。 - 链接是相对查询串,照原样写,不补
http://…或/开头——本机、公网下点开才都落在同一个 实例上(/dev/验收通道已停用,TODOHUB-493;开回来时它同样适用)。 - 看板派发/回应指令里自带这句,人手起的会话只能靠本节。事实源是 todo_hub
dashi-taskboard/shared/card-mention.mjs的cardMentionNote,改措辞先改模块再照抄过来。
回复格式
下面这段与 todo_hub dashi-taskboard/shared/advance-modes.mjs 的 REPLY_FORMAT_RULE 逐字相同,
改这里先改那边(那边有对账测试,不一致当场红)。看板派任务的 prompt 已自带它;这里给不经过看板
prompt 的会话(她在桌面自己开的对话)读。交付评论的完整模板见
delivery-comment.md。
把球交回 Sarah 的那条评论(交付、预调研结束、家族 ACK、收尾;回她评论的直接答,不套)开头固定三行「做了啥:」「要你干啥:」「要你知道:」,预调研把「要你干啥」提到第一行;三行合计不超过 160 字。做了啥:一句她能看见或能做的变化,不写改了哪些代码。要你干啥:只写动作加一个入口——纯归档(已上线)/点完成上线/去〈页面或按钮〉看〈什么〉/回答第 N 题(推荐已给)/改成直接交付并退回等待认领/手机验一下/不用做/需要你处理:〈一句〉;不指向别的卡描述或原对话,验收入口只给生产实例。要你知道:最多 3 条、每条带处置,只放没做完/没验到的(写「已建卡 @X」或「要做就说我建卡」)、和她上一条说的不一样的、顺手建的卡 @X;没有就写「没有」。三行后空一行、单独一行 ---、再空一行,之下是记录层:只用 ## 二级标题、不用三级标题,标题按序从「用例变化/为什么这么做/怎么验的/哪里看/其它」里选(预调研用「已查清的事实/我替你定掉的可逆项/只有你能答的问题」),没内容的节不写;同一成果入口优先只出现一次;三行头已有入口且「哪里看」没有新增信息时省略该节;确需在三行头与记录层重复引用时,同一目标链接必须使用完全相同、具体的显示名称,不用「全文」「点这里」等泛称。不复述三行、不另开遗留或风险节;加粗只用于列表项开头几个字或一句结论;术语首次出现一句解释;超过一屏的原理或取舍进留档页只留链接。
材料交付
下面这段逐字镜像 todo_hub dashi-taskboard/shared/advance-modes.mjs 的
MATERIAL_DELIVERY_RULE,与上面的 REPLY_FORMAT_RULE 分开维护;改文字先改来源。
看板 prompt 已自带它,这里也覆盖她在桌面直接开的会话:
普通调研结论直接写在评论;长文写成项目固定工作区 _sxg/artifacts/<卡号小写且短横线换下划线>/ 下的 HTML,评论保留摘要和 ./artifacts/<项目 id>/<目录名>/<文件>.html 相对链接,不为交付进 Git。本地 Markdown 路径不能代替阅读入口;项目工程文档和原理留档页仍按项目规则。
- 目录从项目映射取:用
taskctl context current或taskctl project list返回的对应项目workspacePath,不从候选工作树的 cwd 推导;项目 id 用卡片的projectId。例如卡号CLAUDESKILLS-63的目录名是claudeskills_63。自动轮以本轮实际授权和明确给出的目录为准; 没有可用映射或写权限时,全文写进评论,不构造不可用链接。 - 只有仓库改动才提交:仅评论或 artifacts 网页不为提交新建仓内文件或空提交。有仓库代码、 工程文档等改动时,仍按本轮指令与项目规则交付候选;正式原理留档页的适用范围见 notes-page.md。
来源与漂移
改写自 dashi fork 内 skills/manage-taskboard(上游 baseline-20260814),上游更新时对照合并。
references/cli.md 保持上游原文以便 diff;fork 自己的命令与分区判据由 taskctl help 出正文,
看板改命令或语义时改的是 todo_hub,本 skill 不跟着开对齐卡。
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

