mcpField
K
kanban-markdown

kanban-markdown

github.com/lachyfsProductivity6377 installsUpdated 33w ago
Repository

About kanban-markdown

kanban-markdown is a skill for managing kanban items stored as Markdown files, for workspaces using the VS Code extension to render a board. It specifies the YAML frontmatter format, status-based file locations, and ordering rules.

Key features

  1. 01Store items as Markdown files
  2. 02Define YAML frontmatter format
  3. 03File completed items by status
  4. 04Order items with fractional indexes
  5. 05Specify item creation and update steps

Use cases

  1. 01Create a kanban item in a workspace
  2. 02Update an item's status and modified time
  3. 03Move items into or out of the completed folder

Install

Copy the command and run it in a terminal.

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

After installing, type/kanban-markdownin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

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

Details

From the project README

Kanban Markdown

Manage kanban board features stored as markdown files with YAML frontmatter. Each feature is a .md file; the VS Code kanban-markdown extension renders them as a board.

File Format

Every feature file follows this exact format:

---
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.

Serialization rules (must match exactly for the extension to parse correctly):

  • String fields: always "double-quoted"
  • Nullable fields (assignee, dueDate, completedAt): bare null when unset
  • Labels: inline array ["bug", "ui"] or []
  • Order: "double-quoted" string — fractional index for lexicographic sorting (see below)
  • Field order: id, status, priority, assignee, dueDate, created, modified, completedAt, labels, order

Valid values:

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

For full field specs, see references/data-model.md.

Features Directory

Default: .devtool/features/ relative to workspace root. Configurable via VS Code setting kanban-markdown.featuresDirectory.

  • Active features (backlog, todo, in-progress, review): {featuresDir}/{id}.md
  • Completed features (done): {featuresDir}/done/{id}.md

Fractional Index Ordering

The order field uses fractional indexing — lexicographically sortable strings that allow inserting between any two items without reindexing. The extension uses the fractional-indexing npm package internally.

When creating features, determine the order by reading existing features in the target column (sorted by order):

  • If the column is empty: use "a0"
  • To append after the last item: increment the trailing character — "a0" → "a1", "a1" → "a2", ..., "a9" → "aA", etc.
  • The full character sequence is 0-9, A-Z, a-z (base-62, ASCII order)

When moving features via drag-and-drop, the extension computes fractional keys between neighbors automatically. The skill only needs to handle appending new features to the end of a column.

Creating Features

  1. Generate ID: lowercase title, keep only a-z 0-9 - space, replace spaces with -, collapse multiple -, trim - from ends, truncate to 50 chars, append -YYYY-MM-DD. If empty, use feature-YYYY-MM-DD.
  2. Set created and modified to current ISO timestamp. Set order by reading existing features in the target column and generating a key that sorts after the last one (see Fractional Index Ordering above).
  3. If status is done, set completedAt to now and place in done/ subfolder.
  4. Write frontmatter in exact field order above, then # Title and body.

Updating Features

  • Always update modified to current ISO timestamp
  • Never change id or created
  • Preserve exact serialization format

Moving Features

Update status and modified. When crossing the done boundary:

  • To done: set completedAt to current ISO timestamp, move file to done/ subfolder
  • From done: set completedAt to null, move file back to root

Writing Content

Start with # Title (the extension extracts the display title from the first # heading). Use acceptance criteria checklists, notes, etc. as needed.

Comments

Markdown supported