design-kanban-md-outpu…
Preserve and evolve kanban-md table, compact, and JSON output contracts. Use when changing…
Evolve kanban-md config.yml schemas and task Markdown frontmatter without breaking existing boards. Use when changing config fields, defaults, migrations, CurrentVersion, YAML tags, task metadata, or compatibility fixtures. Do not use for CLI output-only changes or ordinary task
$ npx -y skills add antopolskiy/kanban-md --skill evolve-kanban-md-formats --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/evolve-kanban-md-formatsContext preview
The summary Claude sees to decide when to auto-load this skill.
Evolve kanban-md config.yml schemas and task Markdown frontmatter without breaking existing boards. Use when changing config fields, defaults, migrations, CurrentVersion, YAML tags, task metadata, or compatibility fixtures. Do not use for CLI output-only changes or ordinary task
name: evolve-kanban-md-formats description: > Evolve kanban-md config.yml schemas and task Markdown frontmatter without breaking existing boards. Use when changing config fields, defaults, migrations, CurrentVersion, YAML tags, task metadata, or compatibility fixtures. Do not use for CLI output-only changes or ordinary task data edits. allowed-tools: - Bash(go test *) - Bash(golangci-lint *) - Bash(git diff *)
Treat `config.yml` and task frontmatter as durable user data contracts. Existing boards must remain readable after an upgrade, and migrations must be explicit, ordered, and covered by compatibility fixtures.
`statuses`. This applies to settings such as `show_duration`, `require_claim`, and WIP limits.
for new per-column settings. Migrate it only as part of an intentional schema revision.
an existing board invalid merely because a new optional policy exists.
1. Inspect `internal/config/defaults.go`, `internal/config/migrate.go`, and every existing compatibility fixture before editing the schema. 2. Increment `CurrentVersion` in `internal/config/defaults.go`. 3. Add a migration from the previous version in `internal/config/migrate.go`, register it in the `migrations` map, and increment `cfg.Version` in the migration. 4. Create `internal/config/testdata/compat/vN/`, where `N` is the old version. Start from the previous fixture and make it representative of the format being migrated, including sample task files when relevant. 5. Add or extend `internal/config/compat_test.go` assertions so the old fixture loads through all migrations and exposes the intended current values. 6. Update the generated-config example and user guidance when the serialized shape or defaults change.
Never skip intermediate versions or mutate an old fixture to look like the new format; fixtures document what users already have on disk.
but still require a fixture and parsing assertion for the new field.
reading the old representation and migrate or translate it explicitly.
a new versioned fixture directory when the task format itself becomes versioned or requires migration.
round-trip behavior where relevant.
Run every historical compatibility fixture, not only the new one:
go test -run Compat ./internal/config/ ./internal/task/ go test ./internal/config/ ./internal/task/
Then follow `test-kanban-md` for repository-wide verification and inspect the serialized fixture/config diffs manually.
An agent-first, file-based Kanban board for coordinating AI coding agents and human supervisors. It runs locally as a single binary: no database, server, account, or SaaS dependency.
Preserve and evolve kanban-md table, compact, and JSON output contracts. Use when changing…
Autonomous, parallel-safe development workflow using kanban-md. Use when the user asks to…
Review kanban-md feature requests, issues, PRs, and design proposals for product fit,…
Manage project tasks using kanban-md, a file-based kanban board CLI. Use when the user…
Release kanban-md through its tag-triggered GoReleaser workflow, monitor CI, recover safely…
Plan and run verification for kanban-md changes, including test-driven bug fixes, Go package…