agentsclimarketplace

Swiss grid todo display

Skill jpoindexter/awwwards-todo-skills/skills/swiss-grid-todo-display

Use when rendering a todo list, checklist, or task status as a clean monospace/ASCII panel — applies Swiss-grid mathematical spacing, a fixed status-symbol set, and four selectable border styles (minimalist, brutalist, terminal, modern) to produce a consistent, scannable display.From its SKILL.md

Install
npx -y skills add jpoindexter/awwwards-todo-skills --skill swiss-grid-todo-display

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 29 days oldThe repository was created 29 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

3.2 KB, 855 tokens by cl100k_base, as published. Nobody here has run it

Swiss Grid Todo Display

Render tasks as a mathematically consistent monospace panel. Every line is the same width, symbols are fixed, and the border style is chosen to match the moment. This is the rendering concern only — score it with awwwards-interface-evaluation, time it with contextual-todo-triggers.

When to use

  • You need to print a todo/checklist to a terminal, chat, or markdown code block.
  • You want a repeatable, grid-aligned look instead of ad-hoc bullet lists.

Status symbols (fixed set)

StateSymbolNotes
pending[ ]empty, actionable
in_progress[~]distinct mid-state
completed[✓]universal done
cancelled[×]dropped

Unknown state → fall back to [ ].

Style variations (pick by intent)

StyleBorderWeight/font intentUse for
minimalistSF Mono, 400default / daily use
brutalist▓▓Helvetica, 700celebrating a completion
terminal░▒▓Courier, 400showing progress/energy
modernInter, 300fresh topic / new context

Layout algorithm (Swiss grid)

Container width = 48 characters — the "optimal reading measure." Build it deterministically:

  1. borderLine = border.repeat(48) — top and bottom rule.
  2. For each task:
    • status = symbol(task.status)
    • taskText = task.content.slice(0, 40) — consistent truncation, never overflow the measure.
    • row = pad(${border} ${status} ${taskText}, to 47) + border — left-aligned, right-framed.
  3. Join rows between the two border lines with \n.

Left alignment is required (scanning pattern). Truncate, never wrap — wrapping breaks grid consistency and costs Design points in evaluation.

Example (minimalist)

▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓ [✓] Review MCP server documentation          ▓
▓ [~] Test Swiss Grid implementation           ▓
▓ [ ] Apply Awwwards evaluation criteria       ▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓

Reference implementation

reference/renderer.mjs — self-contained ES module. Exports renderTodos(items, style) and STATUS_SYMBOLS / STYLE_VARIATIONS. Run node reference/renderer.mjs to print all four styles.

Design lineage

48-char measure and modular spacing follow Josef Müller-Brockmann's Grid Systems in Graphic Design; symbol hierarchy and left-alignment follow Ellen Lupton's Thinking with Type.

Agent-runtime notes

Runtime-agnostic — pure string building, no host APIs. The font/weight column is design intent for downstream renderers that support fonts; the ASCII output itself is monospace-only.

What ships with it: 1 file

2.1 KB alongside SKILL.md, 1 of them executable

reference/

Keep looking

Skills are one crate of 326,144. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.