open-design/skills/kanban-board/SKILL.md
Mohamed Abdallah ab58b62b17
feat(craft): state-coverage module + opt-ins on dashboard, mobile-app, kanban-board (#502)
* feat(craft): add state-coverage rules + opt-ins on dashboard, mobile-app, kanban-board

State coverage is the most reliable AI-design failure: agents ship only the
populated state. This adds craft/state-coverage.md (108 lines, matches the
existing craft format) covering the five required states (loading, empty,
error, populated, edge), three form-specific states, ARIA/focus rules, and
loading-duration thresholds.

Sources are public: WCAG 2.2, NN/g, Material Design 3, Apple HIG, Baymard.

Three skills with stateful UI opt in via od.craft.requires:
  - dashboard
  - mobile-app
  - kanban-board

Decks, ppt, image-poster and other static-output skills do not opt in.

Refs: see issue body for the broader proposal (state-coverage is module 1
of 5 behavioral craft modules).

* fix(craft): address review findings on state-coverage

Four P2 findings from #502 review addressed in one pass.

- Edge state Test matrix added under the five-states table (dashboard,
  mobile, form, search, detail-view scenarios with concrete thresholds).
- Server-driven empty pattern added as trailing note in the empty-state
  composition section.
- Retry discipline subsection added after error severity tiers
  (immediate first retry, exponential 2s/4s/8s backoff, 3-retry floor,
  Last-attempted timestamp).
- README enforcement-levels subsection added distinguishing auto-checked
  P0 rules from guidance; partial-stateful skill clarification added
  after the Files table.

No rewrites. ~30 lines added. File stays inside the 80-110-line craft
target.

* fix(craft): correct lint enforcement claim + remove duplicate threshold message

Two findings from @mrcfps review (Looper-generated against ee95b909).

- README: rewrote Enforcement-levels P0 description. Verified against
  apps/daemon/src/server.ts:1706-1727: /api/artifacts/save writes the
  file first, then calls lintArtifact, then returns findings in the
  response. Findings reach the UI (P0/P1 badges) and the agent (system
  reminder for self-correction). Persistence is not hard-blocked on P0.
  Original wording mischaracterized this as a generation gate.
- state-coverage: 30-60s duration-table bucket no longer duplicates the
  '15 s taking longer than expected' message from the loading row.
  Reworded to focus on cancel affordance and explicitly note the
  longer-than-expected notice already fired at 15 s.

Both findings non-blocking per Looper but genuine factual issues. Fixed
in one pass.
2026-05-05 16:31:05 +08:00

1.5 KiB
Raw Blame History

name description triggers od
kanban-board Kanban / task board with columns (To do / In progress / In review / Done), draggable-looking cards, assignee avatars, swimlanes, and a top filter bar. Use when the brief mentions "kanban", "task board", "sprint board", "trello", "看板".
kanban
task board
sprint board
trello
jira board
看板
mode platform scenario preview design_system craft example_prompt
prototype desktop operations
type entry
html index.html
requires sections
true
color
typography
layout
components
requires
state-coverage
Make me a kanban board for a 5-person growth squad mid-sprint — backlog, doing, review, done.

Kanban Board Skill

Produce a single-screen kanban board.

Workflow

  1. Read the active DESIGN.md.
  2. Identify squad name, sprint number, columns, and member roster from the brief.
  3. Layout:
    • Top bar: project crumb, sprint chip, filter row (members, labels, status), search.
    • 4 columns: Backlog, In progress, In review, Done. Each column has a count chip and an "+ add" affordance.
    • 36 cards per column. Each card: tag chip, title, assignee avatar, point estimate, progress (if applicable).
    • Sidebar (collapsible feel): "Sprint pulse" with progress bar, top assignees, blocked-tickets callout.
  4. One inline <style>, semantic HTML.

Output contract

<artifact identifier="kanban-board" type="text/html" title="Sprint Board">
<!doctype html>...</artifact>