Skip to content

feat(mkd)!: rename wokitoki to mkd and unify it with the Catch-Up decision deck - #1

Merged
saiotest merged 2 commits into
mainfrom
feat/mkd
Aug 21, 2026
Merged

feat(mkd)!: rename wokitoki to mkd and unify it with the Catch-Up decision deck#1
saiotest merged 2 commits into
mainfrom
feat/mkd

Conversation

@saiotest

Copy link
Copy Markdown
Contributor

What

Fuses the wokitoki skill with the validated Catch-Up decisions prototype into a single renamed skill: mkd (Make Decision) — a browser-based decision-deck CLI.

  • Unified deck model: the spec is a list of items (decision | question | report | table), one screen each, with a navigable progress rail, intro + summary screens, per-item skip (= decide later), live stats and localStorage persistence.
  • Hard rule, validator-enforced: every decision option carries a written justification (exit 2 without it); at most one recommended option per decision.
  • Copy-JSON default (non-blocking): the CLI renders a self-contained page to ~/.mkd/deck-<name>.html, opens the browser and exits 0; the user pastes the Result JSON back into the chat as the execution contract. --wait keeps the blocking loopback handshake (per-run x-mkd-token, Result JSON on stdout) and is the only mode with clipboard-image paste.
  • No-install distribution: no compiled binary — the AI runs bun <skill-dir>/cli/index.ts <spec> straight from the skill directory. All output stays under ~/.mkd/ (zero footprint in the consumer repo).
  • Visual system from the validated prototype: verdigris + amber tokens, light/dark themes, Bricolage Grotesque / Albert Sans / Spline Sans Mono with system fallbacks, MKD wordmark.

Breaking

The wokitoki blocks spec and the toki binary are gone; every capability survives as a deck item type under the new spec. Downstream installers must switch USER_LEVEL_SKILLS from wokitoki to mkd.

Verification

  • bun run types:check + bun run lint:check green; CI smoke now renders a deck in copy mode.
  • playwright-cli E2E: full copy-mode flow (decision/question/skip/table-row → correct Result JSON + stats), persistence hydration after reload, highlight-to-quote, --wait submit (exit 0, stdout-only JSON), mobile 390px with no horizontal scroll.

…ision deck

One skill, one paradigm: the spec is now a deck of items (decision |
question | report | table), one screen each, with a progress rail, intro
and summary screens, per-item skip, live stats and localStorage
persistence. Decisions enforce a written justification per option (exit 2
without it) and at most one recommended option.

Copy-JSON is the default flow: the CLI renders a self-contained HTML page
to ~/.mkd/, opens the browser and exits 0; the user pastes the result JSON
back into the chat. --wait keeps the old blocking handshake (loopback
server + per-run x-mkd-token, result JSON on stdout) and is the only mode
with image paste (the server persists the bytes).

Distribution drops the compiled global binary: the AI runs
'bun <skill-dir>/cli/index.ts <spec>' straight from the skill directory.

BREAKING CHANGE: the wokitoki blocks spec and the toki binary are gone;
capabilities survive as deck item types under the new spec.
…the deck model

SKILL.md now documents the no-install run (bun from the skill dir), the
four item types, the justified-options hard rule, the copy-JSON default
protocol and the --wait contract. references/schema.md mirrors the new
validator; examples.md ships four worked decks; setup.md drops the binary
build. CI smoke now renders a deck in copy mode instead of compiling a
binary.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant