원클릭으로
orcanote-whiteboard
Guide for creating Excalidraw-based whiteboards in Orca Note. Use when user mentions whiteboard or Excalidraw.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Guide for creating Excalidraw-based whiteboards in Orca Note. Use when user mentions whiteboard or Excalidraw.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Create and edit Orca Note Flavored Markdown with callouts, highlights, Excalidraw based whiteboard, mermaid and other Orca Note-specific syntax. Use when inserting markdown into Orca Note, or when user mentions writing notes, callouts, highlights, Excalidraw, whiteboard, mermaid or Orca Note notes.
Guide for obtaining the date of a set of blocks in Orca Note, or a UNIX timestamp in seconds of now or today.
Comprehensive guide for creating software diagrams using Mermaid syntax. Use when users need to create, visualize, or document software through diagrams including class diagrams (domain modeling, object-oriented design), sequence diagrams (application flows, API interactions, code execution), flowcharts (processes, algorithms, user journeys), entity relationship diagrams (database schemas), C4 architecture diagrams (system context, containers, components), state diagrams, git graphs, pie charts, gantt charts, or any other diagram type. Triggers include requests to "diagram", "visualize", "model", "map out", "show the flow", or when explaining system architecture, database design, code structure, or user/application flows.
Guide for querying/searching data (blocks) in Orca Note.
Guide for creating and managing reminders in Orca Note. Use this skill when the user wants to set a reminder or schedule a task.
Guide for creating reusable templates in Orca Note with optional dynamic date and time variables.
| name | orcanote-whiteboard |
| description | Guide for creating Excalidraw-based whiteboards in Orca Note. Use when user mentions whiteboard or 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.
Whiteboards are defined within whiteboard code blocks.
{
"elements": [],
"files": {}
}
| 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 |
To place text inside a shape (like a rectangle or ellipse):
id.containerId to the shape's id.x and y to the container's x and y.width and height to fit within the shape's dimensions.textAlign and verticalAlign to center the text.boundElements array: { "type": "text", "id": "text_id" }.elbowed field.elbowed: true. This creates a right-angled connector.startArrowhead / endArrowhead)null: No arrowhead."arrow", "bar", "dot", "triangle".To link two shapes (e.g., A and B) via an arrow:
startBinding: { "elementId": "A", "fixedPoint": [1, 0.5] } and endBinding: { "elementId": "B", "fixedPoint": [0, 0.5] }.{ "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:
{
"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
}
]
}
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.
embeddableblockId mapping to the target block's ID (number).{
"id": "block-1",
"type": "embeddable",
"x": 100,
"y": 100,
"width": 300,
"height": 200,
"customData": {
"blockId": 88234
},
"validated": true,
"link": "go to"
}
Good layout uses Proximity to imply relationship and White Space to denote separation.
fontSize: 28) for the root and smaller (e.g., fontSize: 16) for leaf nodes.backgroundColor: "#1d3557", text: "Goal", strokeColor: "#ffffff").strokeStyle: "solid" for direct evidence and "dashed" for speculative links.strokeWidth: 4 or a distinct backgroundColor.Color and style should be used semantically to reduce cognitive load.
Choose ONLY from the following 4 font sizes:
fontSize: 16 (Small)fontSize: 20 (Medium)fontSize: 28 (Large)fontSize: 36 (Extra Large)roughness: 0, fontFamily: 6, roundness: null (sharp corners) or type: 2.roughness: 1.5, fontFamily: 5, roundness: { type: 3 }.Assign colors based on the role of the element:
| Role | Professional Palette | Hand-drawn Palette |
|---|---|---|
| Core Concept | Deep Blue (#003049) | Vibrant Red (#e63946) |
| Support Info | Light Gray (#e0e0e0) | Pale Blue (#a8dadc) |
| Positive/Success | Forest Green (#2a9d8f) | Mint Green (#f1faee) |
| Warning/Risk | Amber (#ffb703) | Orange (#f4a261) |
| Action Items | Indigo (#4cc9f0) | Purple (#7209b7) |
After generating the whiteboard code block, you MUST perform a self-validation check to ensure the JSON is syntactically correct and semantically valid.
whiteboard code block.elements array has a unique id.text element with a containerId, verify that:
containerId matches the id of an existing shape.boundElements array includes the text element's ID.arrow element with startBinding or endBinding:
elementId in the binding exists in the elements array.fixedPoint is an array of two numbers between 0 and 1 (e.g., [0.5, 0.5]).boundElements includes the arrow element's ID.embeddable element has:
customData.blockId (a number).validated: true.link: "go to".fontSize (16, 20, 28, 36) and fontFamily (5, 6, 8) are used.If any check fails, correct the JSON before providing the final response.
{
"elements": [
{
"id": "m1", "type": "rectangle", "x": 500, "y": 300, "width": 150, "height": 60,
"backgroundColor": "#e63946", "roughness": 1.5, "roundness": { "type": 3 },
"boundElements": [{ "id": "t1", "type": "text" }, { "id": "a1", "type": "arrow" }]
},
{ "id": "t1", "type": "text", "x": 500, "y": 300, "width": 150, "height": 60, "text": "Project Goal", "fontFamily": 5, "fontSize": 20, "textAlign": "center", "verticalAlign": "middle", "containerId": "m1", "strokeColor": "#ffffff" },
{
"id": "c1", "type": "rectangle", "x": 750, "y": 200, "width": 120, "height": 50,
"backgroundColor": "#a8dadc", "roughness": 1.5, "roundness": { "type": 3 },
"boundElements": [{ "id": "t2", "type": "text" }, { "id": "a1", "type": "arrow" }]
},
{ "id": "t2", "type": "text", "x": 750, "y": 200, "width": 120, "height": 50, "text": "Task A", "fontFamily": 5, "fontSize": 16, "textAlign": "center", "verticalAlign": "middle", "containerId": "c1" },
{
"id": "a1", "type": "arrow", "x": 650, "y": 330, "points": [[0, 0], [100, -105]],
"startBinding": { "elementId": "m1", "fixedPoint": [1, 0.5] },
"endBinding": { "elementId": "c1", "fixedPoint": [0, 0.5] },
"elbowed": true, "roughness": 1.5
}
]
}
{
"elements": [
{ "id": "clue-1", "type": "embeddable", "x": 100, "y": 100, "width": 250, "height": 180, "customData": { "blockId": 5501 }, "strokeColor": "#003049", "strokeWidth": 2, "validated": true, "link": "go to" },
{ "id": "clue-2", "type": "embeddable", "x": 100, "y": 350, "width": 250, "height": 180, "customData": { "blockId": 5502 }, "strokeColor": "#003049", "validated": true, "link": "go to" },
{ "id": "label-cat1", "type": "text", "x": 100, "y": 50, "text": "CATEGORY: SOURCES", "fontFamily": 6, "fontSize": 20, "strokeColor": "#003049" },
{ "id": "clue-3", "type": "embeddable", "x": 600, "y": 100, "width": 250, "height": 180, "customData": { "blockId": 7701 }, "strokeColor": "#2a9d8f", "validated": true, "link": "go to" },
{ "id": "label-cat2", "type": "text", "x": 600, "y": 50, "text": "CATEGORY: FINDINGS", "fontFamily": 6, "fontSize": 20, "strokeColor": "#2a9d8f" },
{ "id": "link-1", "type": "arrow", "x": 350, "y": 190, "points": [[0,0], [250, 0]], "strokeStyle": "dashed", "strokeColor": "#ffb703" }
]
}