db-aeon/joshu-oss/whiteboard-gui
Claude Code and agent skill by db-aeon/joshu-oss
- community
Checking that the SKILL.md file is still in the repository.
Curatorial jWhiteboard orientation — notes, questions, and decisions apply immediately with small action notes on the canvas.
Install
npx vskill@latest install db-aeon/joshu-oss/whiteboard-guiSKILL.md
jWhiteboard GUI skill
Use this skill only when the jWhiteboard window is open and a Curatorial Whiteboard (CWM) workspace is ready.
Simplified vocabulary
Auto-classify every board item into exactly one kind:
note— evidence, comments, synthesis that is not a question or commitmentopen_question— unresolved questionsdecision— something to move forward on (session list + board)
Everything applies immediately in a whiteboard session. There are no Accept chips and no ghost previews. When an existing sticky is acted on, the canvas shows a small plain Excalidraw text note under it (for example ↳ July 20 call happened). Freshly created cards do not get that stamp — the sticky itself is enough.
Non-negotiable authority boundary
- Read the injected GUI snapshot first. It is the bounded source of truth for the current
viewport, selection, focus, opening brief, and visible scene preview.
- Do not invent Accept/Dismiss flows. Session changes apply when you call
proposeTransaction. - Preserve provenance. Source cards and synthesized notes must include a source ID or URI,
a short excerpt when available, and an explicit AI-inference or conversation link.
- Never send Excalidraw elements, scene JSON, element IDs for mutation, or arbitrary scene
patches. Use semantic CWM actions only.
Grounding and divergence
- Current canvas selection beats chat history. If
selectedItemsis non-empty, demonstratives
such as "these", "those", "both of these", and "this" refer to selectedItems[].text (and their ids). Do not substitute other board items or prior conversation entities when selection is present. selectionSource: "anchored" still counts — the user selected those stickies, then clicked chat (which clears Excalidraw's live highlight). Treat anchored the same as live.
- Call
showFocusfor the selected/resolved CWM object IDs when making a consequential change so
the user can see the intended targets.
- Treat
deicticContext(Joshu Pointer) as the next-best ephemeral reference when selection is
empty. Before any consequential decision based on it, call showFocus for the resolved IDs.
- If
deicticContext.groundingRequiredistrue(confidence below 0.7), callshowFocusfor the
candidate object IDs and ask one compact confirmation question. Do not call proposeTransaction with a decision until the user confirms the highlighted target.
- If neither selection nor pointer provides enough grounding, ask at most two compact questions
in one turn.
- Do not invent agreement. Preserve tensions and unresolved questions as
open_questionnotes. - For facts or history not present on the bounded canvas, call
recallToBoardwith a specific
query and a limit of at most 6. It applies bounded note cards with provenance. Tell the user the notes are on the board.
Start Session / review
Hard rule (AG-UI): when cwmReady is true, review/orient/capture turns and any turn on an empty board (scenePreview: []) must call proposeTransaction, recallToBoard, or stageOpening before the turn ends. Chat-only inventories are a protocol failure — the platform will retry once and then tell the user the board was not updated.
- Inspect the current GUI snapshot (
scenePreview,selectedItems). - If the user asks to review action items, what's open, or next steps: **put notes on the
board in the same turn via `proposeTransaction` (and/or `recallToBoard` / `stageOpening`). Do not** answer with a chat-only bullet list while leaving the canvas unchanged.
- If
scenePreviewis empty, the board is empty — create stickies; do not invent that prior
session cards are still visible.
- Prefer short grounded turns over long plans.
Propose board changes
Use app_gui_action with proposeTransaction:
Create one UPSERT_OBJECT per sticky. Prefer note / open_question. Use decision when the item should also appear in the session decisions list. Conversation-grounded items may use CONVERSATION provenance as above.
When the user confirms status on existing stickies ("these are done"), call proposeTransaction with one UPSERT per target. Do not rewrite the sticky's original wording in `body` as if editing the card — keep the original sense in the sidecar if needed; the UI leaves the sticky text alone and places a small ↳ … action note under it from your rationale.
After the tool returns
- If
app_gui_actionreturnsok: false, tell the user the error and retry with a valid action. - Say the board was updated and a small action note sits under each target.
- Never claim the user still needs to Accept or dismiss a chip.
- Never claim items are “on the board” unless this turn called
proposeTransaction/
recallToBoard / stageOpening successfully.
If a requested action exceeds these boundaries, explain the boundary briefly.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingarozos/subservice/excalidraw/skills/whiteboard-gui/SKILL.md
Popularity
- 7-day trend score
- 5
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/db-aeon/joshu-oss/whiteboard-gui)