Files
claude-scientific-skills/scientific-skills/markdown-mermaid-writing/references/diagrams/kanban.md
borealBytes 02e19e3df9 docs(references): port style guides, 24 diagram guides, and 9 templates from opencode
All content ported from borealBytes/opencode under Apache-2.0 license with
attribution headers prepended to each file.

- references/markdown_style_guide.md (~733 lines): full markdown formatting,
  citation, collapsible sections, emoji, Mermaid integration, and template
  selection guide
- references/mermaid_style_guide.md (~458 lines): full Mermaid standards —
  emoji set, classDef color palette, accessibility (accTitle/accDescr),
  theme neutrality (no %%{init}), and diagram type selection table
- references/diagrams/ (24 files): per-type exemplars, tips, and templates
  for all Mermaid diagram types
- templates/ (9 files): PR, issue, kanban, ADR, presentation, how-to,
  status report, research paper, project docs

Source: https://github.com/borealBytes/opencode
2026-02-19 18:25:20 -05:00

3.4 KiB
Raw Blame History

Kanban Board

Back to Style Guide — Read the style guide first for emoji, color, and accessibility rules.

Syntax keyword: kanban Best for: Task status boards, workflow columns, work-in-progress visualization, sprint status When NOT to use: Task timelines/dependencies (use Gantt), process logic (use Flowchart)

⚠️ Accessibility: Kanban boards do not support accTitle/accDescr. Always place a descriptive italic Markdown paragraph directly above the code block.


Exemplar Diagram

Kanban board showing the current sprint's work items distributed across four workflow columns, with emoji indicating column status:

kanban
Backlog
  task1[🔐 Upgrade auth library]
  task2[🛡️ Add rate limiting]
  task3[📚 Write API docs]
In Progress
  task4[📊 Build dashboard]
  task5[🐛 Fix login bug]
In Review
  task6[💰 Refactor payments]
Done
  task7[📊 Deploy monitoring]
  task8[⚙️ Update CI pipeline]

⚠️ Tip: Each task gets ONE domain emoji at the start — this is your primary visual signal for categorization. Column emoji indicates workflow state.


Tips

  • Name columns with status emoji for instant visual scanning
  • Add domain emoji to tasks for quick categorization
  • Keep to 35 columns
  • Limit to 34 items per column (representative, not exhaustive)
  • Items are simple text descriptions — keep concise
  • Good for sprint snapshots in documentation
  • Always pair with a Markdown text description above for screen readers

Template

Description of the workflow columns and what the board represents. Always show all 6 columns:

kanban
Backlog
  task1[🔧 Task description]
  task2[📝 Task description]
In Progress
  task3[⚙️ Task description]
In Review
  task4[👀 Task description]
Done
  task5[🚀 Task description]
Blocked
  task6[⛔ Task description]
Won't Do
  task7[❌ Task description]

⚠️ Always include all 6 columns — Backlog, In Progress, In Review, Done, Blocked, Won't Do. Even if a column is empty, include a placeholder item like [No items yet] to make the structure explicit.


Complex Example

Sprint W07 board for the Payments Team showing a realistic distribution of work items across all six columns, including blocked items:

kanban
Backlog
  b1[📊 Add pool monitoring to auth]
  b2[🔍 Evaluate PgBouncer]
  b3[📝 Update runbook for pool alerts]
In Progress
  ip1[📊 Build merchant dashboard MVP]
  ip2[📚 Write v2 API migration guide]
  ip3[🔐 Add OAuth2 PKCE flow]
In Review
  r1[🛡️ Request validation middleware]
Done
  d1[🛡️ Rate limiting on /v2/charges]
  d2[🐛 Fix pool exhaustion errors]
  d3[📊 Pool utilization alerts]
Blocked
  bl1[🔄 Auth service pool config]
Won't Do
  w1[❌ Mobile SDK in this sprint]

Tips for complex kanban diagrams:

  • Add a Blocked column to surface stalled work — this is the highest-signal column on any board
  • Keep items to 34 per column max even in complex boards — the diagram is a summary, not an exhaustive list
  • Use the same emoji per domain across columns for visual tracking (📊 = dashboards, 🛡️ = security, 🐛 = bugs)
  • Always show all 6 columns — use placeholder items like [No items] when a column is empty