orcanote-whiteboard
Guide for creating Excalidraw-based whiteboards in Orca Note.
Skill by sethyuan
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/sethyuan-orcanote-whiteboard
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/orcanote-whiteboard
What's inside
- Skill name
orcanote-whiteboard- Description
- Guide for creating Excalidraw-based whiteboards in Orca Note. Use when user mentions whiteboard or Excalidraw.
- License
- MIT
- Instructions
- 260 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Orca Note Whiteboard (Excalidraw)
This skill provides the syntax, structural rules, and design principles for creating semantically rich and visually appealing whiteboards in Orca Note using the Excalidraw JSON format.
## Excalidraw JSON Schema
Whiteboards are defined within `whiteboard` code blocks.
### Core Structure
```json
{
"elements": [],
"files": {}
}
```
### Common Element Types
| Type | Description | Key Fields |
| :--- | :--- | :--- |
| `rectangle` | Standard rectangle | `x, y, width, height, strokeColor, backgroundColor, roundness, boundElements` |
| `ellipse` | Circle or oval | `x, y, width, height, strokeColor, backgroundColor, boundElements` |
| `arrow` | Line or connector | `points` (relative to `x,y`), `startArrowhead`, `endArrowhead`, `startBinding`, `endBinding`, `elbowed` (true for elbow arrows) |
| `line` | Simple line | `points` |
| `text` | Text label | `text`, `fontSize`, `fontFamily` (5: Hand-drawn, 6: Sans, 8: Monospace), `containerId` (ID of the shape this text belongs to), `x, y, width, height, strokeColor, backgroundColor`, `textAlign`, `verticalAlign` |
| `embeddable` | Embedded Orca Note block | `customData: { "blockId": "ID" }`, `x, y, width, height, strokeColor, backgroundColor, roundness` |
### Labeling Shapes with Text
To place text inside a shape (like a rectangle or ellipse):
1. **Create the Shape**: Give it a unique `id`.
2. **Create a Text Element**:
- Set its `containerId` to the shape's `id`.
- Set `x` and `y` to the container's `x` and `y`.
- Set `width` and `height` to fit within the shape's dimensions.
- Set `textAlign` and `verticalAlign` to center the text.
3. **Link back**: Add the text element's ID to the shape's `boundElements` array: `{ "type": "text", "id": "text_id" }`.
### Arrow Types
- **Straight Arrow**: Standard line. No `elbowed` field.
- **Elbow Arrow**: Set `elbowed: true`. This creates a right-angled connector.
#### Arrowheads (`startArrowhead` / `endArrowhead`)
- `null`: No arrowhead.
- `"arrow"`, `"bar"`, `"dot"`, `"triangle"`.
### Arrow Connection / Connecting Two Elements
To link two shapes (e.g., A and B) via an arrow:
1. **On the Arrow**: Define `startBinding: { "elementId": "A", "fixedPoint": [1, 0.5] }` and `endBinding: { "elementId": "B", "fixedPoint": [0, 0.5] }`.
2. **On the Shapes**: Add `{ "id": "arrow_id", "type": "arrow" }` to the `boundElements` array of both Shape A and Shape B.
`fixedPoint` is a tuple of [x, y] where x and y are between 0 and 1, representing the relative position on the shape's boundary (0,0 is top-left, 1,1 is bottom-right). For example:
- `fixedPoint: [1, 0.5]` means the arrow starts at the middle of the right edge of Shape A.
- `fixedPoint: [0, 0.5]` means the arrow ends at the middle of the left edge of Shape B.
**Example Connection with Text labels:**
```json
{
"elements": [
{
"id": "shape-a",
"type": "rectangle",
"x": 100, "y": 100, "width": 100, "height": 50,
"boundElements": [
{ "id": "text-a", "type": "text" },
{ "id": "link-1", "type": "arrow" }
]
},
{
"id": "text-a",
"type": "text",
"x": 100, "y": 100, "width": 50, "height": 20,
"fontFamily": 6,
"fontSize": 16,
"text": "Start",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "shape-a"
},
{
"id": "shape-b",
"type": "ellipse",
"x": 400, "y": 100, "width": 100, "height": 50,
"boundElements": [
{ "id": "text-b", "type": "text" },
{ "id": "link-1", "type": "arrow" }
]
},
{
"id": "text-b",
"type": "text",
"x": 400, "y": 100, "width": 50, "height": 20,
"fontFamily": 6,
"fontSize": 16,
"text": "End",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "shape-b"
},
{
"id": "link-1",
"type": "arrow",
"x": 200, "y": 125,
"points": [[0, 0], [200, 0]],
"startBinding": { "elementId": "shape-a", "fixedPoint": [1, 0.5] },
"endBinding": { "elementId": "shape-b", "fixedPoint": [0, 0.5] },
"endArrowhead": "triangle",
"elbowed": true
}
]
}
```
## Embedding Orca Note Blocks
To reference and display an existing Orca Note block inside a whiteboard, use the `embeddable` type. Note that embedded blocks have no associated text element for labeling.
### ImplementationFrom sethyuan/orcanote-agent-skills, MIT.
More from sethyuan/orcanote-agent-skills
- 0.619score
orcanote-markdown
sethyuan
Create and edit Orca Note Flavored Markdown with callouts, highlights, Excalidraw based whiteboard, mermaid and other Orca Note-specific syntax.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
orcanote-reminder
sethyuan
Guide for creating and managing reminders in Orca Note.
SkillAFreshness: A★ 5Claude Code +9 - 0.469score
orcanote-mermaid
sethyuan
Comprehensive guide for creating software diagrams using Mermaid syntax.
SkillDFreshness: D★ 5Claude Code +9 - 0.458score
orcanote-date
sethyuan
Guide for obtaining the date of a set of blocks in Orca Note, or a UNIX timestamp in seconds of now or today.
SkillDFreshness: D★ 5Claude Code +9 - 0.458score
orcanote-template
sethyuan
Guide for creating reusable templates in Orca Note with optional dynamic date and time variables.
SkillDFreshness: D★ 5Claude Code +9 - 0.455score
orcanote-query
sethyuan
Guide for querying/searching data (blocks) in Orca Note.
SkillDFreshness: D★ 5Claude Code +9
Signals
- Stars
- 5
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Feb 10, 2026 (8 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from sethyuan
- 0.619score
orcanote-markdown
sethyuan
Create and edit Orca Note Flavored Markdown with callouts, highlights, Excalidraw based whiteboard, mermaid and other Orca Note-specific syntax.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
orcanote-reminder
sethyuan
Guide for creating and managing reminders in Orca Note.
SkillAFreshness: A★ 5Claude Code +9 - 0.469score
orcanote-mermaid
sethyuan
Comprehensive guide for creating software diagrams using Mermaid syntax.
SkillDFreshness: D★ 5Claude Code +9 - 0.458score
orcanote-date
sethyuan
Guide for obtaining the date of a set of blocks in Orca Note, or a UNIX timestamp in seconds of now or today.
SkillDFreshness: D★ 5Claude Code +9 - 0.458score
orcanote-template
sethyuan
Guide for creating reusable templates in Orca Note with optional dynamic date and time variables.
SkillDFreshness: D★ 5Claude Code +9 - 0.455score
orcanote-query
sethyuan
Guide for querying/searching data (blocks) in Orca Note.
SkillDFreshness: D★ 5Claude Code +9
Cite this page
orcanote-whiteboard skill. Agent Mart. https://agentmart.dev/skills/sethyuan-orcanote-whiteboard (last updated 2026-10-24)