mcpField
K
kanban-markdown

kanban-markdown

github.com/lachyfs生产力6377 次安装33 周前更新
代码仓库

关于 kanban-markdown

kanban-markdown 是一项用于管理 Markdown 文件中看板事项的技能,面向使用 VS Code 扩展呈现看板的工作区。它规定了带 YAML frontmatter 的文件格式、状态目录和排序规则。

主要功能

  1. 01以 Markdown 文件存储事项
  2. 02定义 YAML frontmatter 格式
  3. 03按状态将已完成项归档
  4. 04使用分数索引排序
  5. 05规定事项创建与更新流程

适用场景

  1. 01在工作区创建新的看板事项
  2. 02更新事项状态和修改时间
  3. 03将事项移入或移出已完成目录

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/lachyfs/kanban-skill --skill kanban-markdown

安装后在 Claude Code 中输入/kanban-markdown确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.gitignore
README.md
references/
data-model.md

详细介绍

Kanban Markdown

使用 YAML frontmatter 存储的 Markdown 文件管理看板功能。每个功能对应一个 .md 文件;VS Code 的 kanban-markdown 扩展会将其呈现为看板。

文件格式

每个功能文件都遵循以下确切格式:

---
id: "my-feature-2026-02-20"
status: "backlog"
priority: "medium"
assignee: null
dueDate: null
created: "2026-02-20T10:00:00.000Z"
modified: "2026-02-20T10:00:00.000Z"
completedAt: null
labels: []
order: "a0"
---

# My Feature

Description and details here.

序列化规则(必须完全一致,扩展才能正确解析):

  • 字符串字段:始终使用 "双引号"
  • 可空字段(assignee、dueDate、completedAt):未设置时使用裸值 null
  • 标签:内联数组 ["bug", "ui"] 或 []
  • 顺序:使用 "双引号"括起的字符串 — 用于按字典序排序的小数索引(见下文)
  • 字段顺序:id、status、priority、assignee、dueDate、created、modified、completedAt、labels、order

有效值:

  • status:backlog | todo | in-progress | review | done
  • priority:critical | high | medium | low

完整字段规范请参阅 references/data-model.md。

功能目录

默认目录:相对于工作区根目录的 .devtool/features/。可通过 VS Code 设置 kanban-markdown.featuresDirectory 配置。

  • 活跃功能(backlog、todo、in-progress、review):{featuresDir}/{id}.md
  • 已完成的功能(done):{featuresDir}/done/{id}.md

小数索引排序

order 字段使用小数索引——可按字典序排序的字符串,无需重新编索引即可在任意两个项目之间插入新项目。该扩展在内部使用 fractional-indexing npm 包。

创建功能时,读取目标列中的现有功能(按 order 排序)以确定顺序:

  • 如果列为空:使用 "a0"
  • 在最后一个项目后追加:递增末尾字符——"a0" → "a1"、"a1" → "a2"、……、"a9" → "aA" 等
  • 完整字符序列为 0-9、A-Z、a-z(基数为 62,按 ASCII 顺序)

通过拖放移动功能时,扩展会自动计算相邻项目之间的小数键。此技能只需处理将新功能追加到列末尾的情况。

创建功能

  1. 生成 ID:将标题转为小写,只保留 a-z 0-9 - 空格,将空格替换为 -,合并多个连续的 -,去掉首尾的 -,截断至 50 个字符,并追加 -YYYY-MM-DD。如果结果为空,则使用 feature-YYYY-MM-DD。
  2. 将 created 和 modified 设为当前 ISO 时间戳。读取目标列中的现有功能,并生成一个排序位置在最后一项之后的 order 键(见上文“小数索引排序”)。
  3. 如果 status 为 done,将 completedAt 设为当前时间,并将文件放入 done/ 子目录。
  4. 严格按照上述字段顺序写入 frontmatter,然后写入 # Title 和正文。

更新功能

  • 始终将 modified 更新为当前 ISO 时间戳
  • 切勿更改 id 或 created
  • 保留确切的序列化格式

移动功能

更新 status 和 modified。跨越 done 边界时:

  • 移至 done:将 completedAt 设为当前 ISO 时间戳,并将文件移至 done/ 子目录
  • 移出 done:将 completedAt 设为 null,并将文件移回根目录

编写内容

以 # Title 开头(扩展会从第一个 # heading 中提取显示标题)。根据需要使用验收标准清单、备注等。

评论

支持 Markdown