kanban-markdown

$npx mdskill add eric861129/SKILLS_All-in-one/kanban-markdown

Manage kanban board features as markdown files with YAML frontmatter.

  • Solves tracking and organizing features in a markdown-based kanban workflow.
  • Depends on markdown files with YAML frontmatter and the VS Code kanban-markdown extension.
  • Decides actions based on frontmatter fields like status, priority, and order.
  • Delivers results by creating, reading, updating, and moving feature files.

SKILL.md

.github/skills/kanban-markdownView on GitHub ↗
---
name: kanban-markdown
description: Create, read, update, move, and manage kanban board feature files backed by markdown with YAML frontmatter. Use when working with kanban boards, task/feature tracking, `.devtool/features/` directories, feature files with status/priority frontmatter, or any project management tasks involving markdown-based kanban workflows.
---

# 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:

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

**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](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.

More from eric861129/SKILLS_All-in-one

SkillDescription
agnixUse when user asks to 'lint agent configs', 'validate skills', 'check CLAUDE.md', 'validate hooks', 'lint MCP'. Validates agent configuration files against 231 rules across 10+ AI tools.
anthropic-expertExpert on Anthropic Claude API, models, prompt engineering, function calling, vision, and best practices. Triggers on anthropic, claude, api, prompt, function calling, vision, messages api, embeddings
aptos-cliExpert in Aptos CLI for account management, contract deployment, transaction submission, and node operations. Use when using the Aptos CLI to initialize profiles, deploy Move contracts, submit transactions, manage accounts, or operate Aptos nodes.
aptos-coreExpert in Aptos blockchain core architecture: consensus (AptosBFT), execution (Block-STM), and networking. Use when analyzing Aptos protocol design, the Rust codebase, validator operations, or understanding how Block-STM parallel execution works.
aptos-dapp-integrationExpert on building Aptos dApps with frontend integration. Covers wallet connectivity (Petra, Martian, Pontem), wallet adapter patterns, TypeScript SDK, transaction building and submission, account management, and React/Next.js integration.
aptos-frameworkExpert on Aptos Framework (0x1 standard library) modules including account, coin, fungible_asset, object, timestamp, table, smart_table, event, randomness, aggregator, and resource_account. Essential for all Aptos development.
aptos-gas-optimizationAptos gas optimization expert for Move smart contracts. Covers storage costs, execution efficiency, inline functions, aggregators for parallel execution, Table vs SmartTable vs vector tradeoffs, event optimization, struct packing, and gas profiling tools.
aptos-indexerExpert in Aptos Indexer architecture and GraphQL API for querying blockchain data. Use when querying NFTs, coin balances, or transaction history via GraphQL, designing custom processors, or optimizing data retrieval from the Aptos blockchain.
aptos-move-languageExpert on Move programming language fundamentals including abilities (copy/drop/store/key), generics, phantom types, references, global storage operations (move_to/move_from/borrow_global), signer pattern, visibility modifiers, and advanced type system features.
aptos-move-testingExpert on testing Move smart contracts including unit tests, integration tests, Move Prover formal verification, debugging strategies, test coverage, and CI/CD integration for Aptos development.