mcpField
K
kanban-markdown

kanban-markdown

github.com/lachyfs生産性6377 回インストール33 週間前に更新
リポジトリ

kanban-markdown について

kanban-markdownは、Markdownファイルでカンバン項目を管理するスキルです。VS Code拡張機能でボードを表示するワークスペース向けに、YAML frontmatter、状態別の保存場所、並べ替え規則を定めています。

主な機能

  1. 01項目をMarkdownファイルで保存
  2. 02YAML 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.

シリアライズ規則(拡張機能が正しく解析できるよう、厳密に一致させる必要があります):

  • 文字列フィールド:常に "double-quoted"
  • null 許容フィールド(assignee、dueDate、completedAt):未設定の場合は引用符なしの null
  • ラベル:インライン配列 ["bug", "ui"] または []
  • order:"double-quoted" の文字列 — 辞書順ソート用の小数インデックス(下記参照)
  • フィールド順: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 を参照してください。

Features ディレクトリ

デフォルト:ワークスペースのルートからの相対パス .devtool/features/。VS Code の設定 kanban-markdown.featuresDirectory で変更できます。

  • アクティブな機能(backlog、todo、in-progress、review):{featuresDir}/{id}.md
  • 完了した機能(done):{featuresDir}/done/{id}.md

小数インデックスによる並べ替え

order フィールドでは、小数インデックスを使用します。これは、再インデックスせずに任意の2項目の間へ挿入できる、辞書順に並べ替え可能な文字列です。拡張機能は内部で npm パッケージ fractional-indexing を使用します。

機能を作成するときは、対象列にある既存の機能を読み取り(order 順にソート)、順序を決定します。

  • 列が空の場合:"a0" を使用します
  • 最後の項目の後に追加する場合:末尾の文字を増やします — "a0" → "a1"、"a1" → "a2"、...、"a9" → "aA" など
  • 文字列全体は 0-9、A-Z、a-z の順です(基数62、ASCII 順)

ドラッグ&ドロップで機能を移動すると、拡張機能が隣接項目の間の小数キーを自動で計算します。このスキルで対応する必要があるのは、列の末尾への新しい機能の追加のみです。

機能の作成

  1. ID を生成します:タイトルを小文字にし、a-z 0-9 - space のみを残し、スペースを - に置き換え、連続する複数の - を1つにまとめ、両端の - を削除し、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 から表示タイトルを抽出します)。必要に応じて、受け入れ条件のチェックリストやメモなどを記述します。

コメント