diff --git a/.claude/skills/clide/SKILL.md b/.claude/skills/clide/SKILL.md index 8907e6a0d..8de4b6fe4 100644 --- a/.claude/skills/clide/SKILL.md +++ b/.claude/skills/clide/SKILL.md @@ -4,10 +4,8 @@ description: > Use when you are running inside the clide IDE and want to observe or drive its live UI — panes, editor, files, git, readers, toasts, layout — through the `clide` CLI, or to find out what commands clide exposes. clide is the - IDE hosting this session; it puts `clide` on your PATH and a per-workspace - socket in `CLIDE_SOCK`. Start with `clide capabilities` to enumerate the - live tool surface. Triggers: "what can clide do", "drive the clide UI", - "open this in clide", "show the user", "toast", or invoking /clide. + IDE hosting this session. Triggers: "what can clide do", "drive the clide + UI", "open this in clide", "show the user", "toast", or invoking /clide. user-invocable: true allowed-tools: Bash --- @@ -15,9 +13,10 @@ allowed-tools: Bash # Driving clide from the CLI You are (often) running **inside clide** — a Flutter IDE that hosts this -Claude session. It exposes its whole UI surface as a `clide ` -CLI on your PATH, talking to the running app over a per-workspace socket -(`CLIDE_SOCK`). Every UI action the user can take has a CLI verb, and every +Claude session. It puts `clide` on your PATH and exposes its whole UI surface +as a `clide ` CLI, talking to the running app over a +per-workspace socket (`CLIDE_SOCK`). Every UI action the user can take has a +CLI verb, and every verb's effect is observable — that is the parity contract (D-6). So you can *see what the user sees* and *show the user what you mean*. @@ -53,9 +52,11 @@ one). `clide ` with no verb, or an unknown command, prints usage. ## Conventions -- **Slots:** the layout has three content slots — `sidebar` (left), `workspace` - (center, where Claude lives), `context` (right) — plus the bottom `statusbar`. - Many verbs take a slot. +- **Slots:** the layout has four content slots — `sidebar` (left), `workspace` + (center, where Claude lives), `context` (right), and `dock` (bottom — + Output/Problems panes, hidden by default; D-87) — plus the bottom + `statusbar`. Many verbs take a slot. The live list is whatever + `clide capabilities` reports. - **Honest failures:** a drive verb with no live GUI returns a `toolError` ("no live UI to drive"), not a hang. JSON on stdout; exit code conveys ok/usage/tool error. diff --git a/docs/design/diagram-wireframe-conventions.md b/docs/design/diagram-wireframe-conventions.md new file mode 100644 index 000000000..1e0334229 --- /dev/null +++ b/docs/design/diagram-wireframe-conventions.md @@ -0,0 +1,27 @@ +# Diagram & wireframe conventions (Settled Reach) + +The `/d2-diagram` and `/frame0-wireframe` skill *mechanics* now live at user scope +(`~/.claude/skills/`), de-contaminated of repo-specifics. This file preserves the +Settled-Reach tailoring the local skill copies carried, so it isn't lost when they're +deleted (CLAUDE-CLEANUP §2 / T-1101). + +## d2 diagrams (`/d2-diagram`) + +**Output taxonomy:** `.d2` source + `.png`/`.svg` renders under +`docs/diagrams/{category}/{name}.d2` — categories in use: `architecture/`, `ui/`, +`entity/`. Create/update a diagram whenever a D-record is added or modified. + +**Agent routing** (who to task with a diagram, by domain): +- **Qatux** — architecture decision records, system-overview + data-flow diagrams. +- **Tyre** — IPC bridge, ECS system flow, chunk-loading pipeline, perception internals. +- **Araminta** — UI navigation flow, screen transitions, component hierarchy. + +## Frame0 wireframes (`/frame0-wireframe`) + +**Output taxonomy:** wireframe JSON (source of truth) + exported PNG under +`docs/design/wireframes/{category}/{name}.json` — categories include `insert/` +(neural-insert HUD), `dialogue/`, etc. Palette/style source is +`docs/design/visual-grammar-v01.md`. + +**Agent routing:** Araminta (art direction / visual consistency) owns wireframe review; +Stig (UI dev) consumes them for implementation.