apply
Set chaff up in the folder: chaff.yaml for the chosen genre, today's findings shelved in .chaff-baseline.json, and, when asked, a…
Plan a change as an interactive HTML page the user decides on, instead of a wall of text. Lays out what is settled, what is assumed and what is still open; shows each real choice as live mockups or controls the user can try; and ends with a Send button that hands the user's
$ npx -y skills add receptron/mulmoterminal --skill mulmoterminal-html-plan --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/mulmoterminal-html-planContext preview
The summary Claude sees to decide when to auto-load this skill.
Plan a change as an interactive HTML page the user decides on, instead of a wall of text. Lays out what is settled, what is assumed and what is still open; shows each real choice as live mockups or controls the user can try; and ends with a Send button that hands the user's
name: mulmoterminal-html-plan description: Plan a change as an interactive HTML page the user decides on, instead of a wall of text. Lays out what is settled, what is assumed and what is still open; shows each real choice as live mockups or controls the user can try; and ends with a Send button that hands the user's decisions back to you as their next message. Opens in the pane on the right of the terminal (presentHtml). Use when the user asks for a plan, a spec or a design they want to look at and choose from, says "show me options", "mock it up", "HTML plan", or when a plan has several open choices that are easier to see than to describe. Works in whatever language the user writes in.
A text plan asks the user to imagine the options. A page shows them. The point of this skill is the round trip: you lay out the plan, the user tries the choices and settles them on the page, and their decisions come back to you as a message you can act on. You do not ask the questions one by one in the terminal; the page asks them all at once, where they can be seen side by side.
Read the request, the code it touches and the project's own instructions (`CLAUDE.md`, `AGENTS.md`, existing plans). Then sort everything you know into three piles:
Only the third pile becomes controls on the page. If it is empty, you do not need this skill: write the plan and get on with it. Keep the user's words for what they asked; do not grow a small change into a strategy document.
One HTML document, everything inline. What the page can and cannot do:
`cdnjs.cloudflare.com`, `cdn.plot.ly`, Google Fonts). Anything else is blocked silently.
page needs into it. Loading a library from those CDNs, and images or media over `https:`, still works.
throw. Keep state in variables.
Shape it around the decisions, roughly in this order — leave out any part that has nothing in it:
1. **What this is** — one or two sentences: the goal and what is out of scope. 2. **Settled** — a short list, so the user can see you understood. 3. **Assumed** — each assumption with a control to flip it (a checkbox, a "no, actually…" text box). 4. **Choices** — one block per open question. Show the options, not just their names:
lorem ipsum), side by side, with a radio to pick one;
Say what each option costs in one line. Mark your recommendation, and preselect it. 5. **Steps** — the implementation sequence, only where the order is real. Let it react to the choices above when they change the steps. 6. **Risks** — only ones you can name concretely. 7. **What will be sent** — a live summary of every decision as it stands, updated as the user clicks, so nothing is sent that they have not seen.
Do not invent timelines, percentages or status badges the plan does not support.
The button posts the summary to the host. Presented as in step 4 — written with `html` and passed `submit: "direct"` — and carrying the key the host put in the page's own URL, it reaches you as soon as the user presses the button. Anything else (no key, a page opened by `path`, a second press within a few seconds) is shown to the user in a confirmation bar above the page first, and reaches you when they press Send there.
<button id="send">Send these decisions</button>
<script>
function summary() {
const lines = ["Decisions for: <the plan's title>"];
// one line per decision: what it is, and what the user chose — never just "B"
lines.push(`Layout: ${document.querySelector("input[name=layout]:checked").value}`);
lines.push(`Notes: ${document.getElementById("notes").value || "(none)"}`);
return lines.join("\n");
}
// The host puts a fresh key in this page's URL; a page the frame moves to later does not have it.
const key = new URLSearchParams(location.hash.slice(1)).get("mulmo-submit-key");
document.getElementById("send").onclick = () =>
window.parent.postMessage({ type: "mulmo-html-submit", text: summary(), key }, "*");
</script>reaches the conversation as the user's message.
the option chosen, include anything typed into a free-text box, and mark an assumption the user overturned.
Call `presentHtml` with the page as `html`, a short `title`, and `submit: "direct"`. Pass that flag only for a page you wrote just now for this — never for a page whose script you did not write. If the user wants the plan kept in the project (for example beside other plans), write the file there and present it with `path` instead; the flag does not apply to `path`, so their Send then goes through the confirmation bar.
Then **finish your turn.** Do not wa
Run multiple coding-agent sessions in parallel — and see which one needs you. A browser terminal for parallel AI coding agents: several sessions side by side, each in its own cell, with the one that needs you marked in colour.
Set chaff up in the folder: chaff.yaml for the chosen genre, today's findings shelved in .chaff-baseline.json, and, when asked, a…
Measure what chaff reports on the named documents today, as the kind the person chose, and propose the setup — changing nothing…
Answer each question from the named documents only, quoting where the answer is written, or saying plainly that the documents do…
Add the approved answers to FAQ.md when the person chose to keep them, after what it already holds; change nothing otherwise.
Build the spec's operations as the Worker's API, with validation and tests.