From 36d71d4b10f0937b5503577656e39db3ad1134b8 Mon Sep 17 00:00:00 2001 From: Ario Barin Ostovary Date: Fri, 21 Aug 2026 11:42:00 -0400 Subject: [PATCH] add design prototype skill --- codex/skills/design-prototype/LOGIC.md | 67 +++++++++++ codex/skills/design-prototype/SKILL.md | 28 +++++ codex/skills/design-prototype/UI.md | 112 ++++++++++++++++++ .../design-prototype/agents/openai.yaml | 3 + .../design-prototype/references/sources.md | 35 ++++++ manifests/portable-files.json | 1 + 6 files changed, 246 insertions(+) create mode 100644 codex/skills/design-prototype/LOGIC.md create mode 100644 codex/skills/design-prototype/SKILL.md create mode 100644 codex/skills/design-prototype/UI.md create mode 100644 codex/skills/design-prototype/agents/openai.yaml create mode 100644 codex/skills/design-prototype/references/sources.md diff --git a/codex/skills/design-prototype/LOGIC.md b/codex/skills/design-prototype/LOGIC.md new file mode 100644 index 0000000..32be86a --- /dev/null +++ b/codex/skills/design-prototype/LOGIC.md @@ -0,0 +1,67 @@ +# Logic Prototype + +A single, self-contained HTML file (a **shareable demo**) that lets anyone drive a state model by clicking buttons. Use this when the question is about **business logic, state transitions, or data shape**: the kind of thing that looks reasonable on paper but only feels wrong once you push it through real cases. + +Because it's one file with nothing to install, you can hand it to a non-developer (a designer, a PM, a domain expert) and let them feel the model for themselves. So it speaks their language, not the code's. + +## When this is the right shape + +- "I'm not sure if this state machine handles the edge case where X then Y." +- "Does this data model actually let me represent the case where..." +- "I want to feel out what the API should look like before writing it." +- Anything where someone wants to **press buttons and watch state change**. + +If the question is "what should this look like," this is the wrong branch. Use [UI.md](UI.md). + +## Process + +### 1. State the question + +Before writing code, write down what state model and what question you're prototyping. One paragraph, at the top of the demo (in a visible intro, not just a comment). A logic prototype that answers the wrong question is pure waste, so make the question explicit so it can be checked later, whether the user is watching now or returning to it AFK. + +### 2. Isolate the logic in a portable module + +Put the actual logic (the bit that's answering the question) in a single `