@qvac/skills 0.1.7 → 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled.js +9 -18
- package/hash.js +1 -1
- package/package.json +1 -1
- package/skills/asana/SKILL.md +2 -2
- package/skills/diagrams/SKILL.md +130 -40
- package/skills/excel/SKILL.md +18 -11
- package/skills/excel/references/edit.md +4 -0
- package/skills/gmail/SKILL.md +0 -1
- package/skills/google-calendar/SKILL.md +0 -1
- package/skills/google-docs/SKILL.md +0 -1
- package/skills/google-drive/SKILL.md +0 -1
- package/skills/google-sheets/SKILL.md +0 -1
- package/skills/diagrams/references/class.md +0 -29
- package/skills/diagrams/references/er.md +0 -27
- package/skills/diagrams/references/flowchart.md +0 -33
- package/skills/diagrams/references/gantt.md +0 -38
- package/skills/diagrams/references/mindmap.md +0 -35
- package/skills/diagrams/references/pie.md +0 -27
- package/skills/diagrams/references/sequence.md +0 -32
- package/skills/diagrams/references/state.md +0 -30
- package/skills/diagrams/references/timeline.md +0 -28
package/hash.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Autogenerated by scripts/build.mjs from skills/. Do not edit.
|
|
2
|
-
export const SKILLS_HASH = '
|
|
2
|
+
export const SKILLS_HASH = '548f8fbd37914a47'
|
package/package.json
CHANGED
package/skills/asana/SKILL.md
CHANGED
|
@@ -17,12 +17,12 @@ metadata:
|
|
|
17
17
|
"provider": "asana",
|
|
18
18
|
"credentialKey": "asana_mcp_access_token",
|
|
19
19
|
"description": "Tasks, projects, and comments",
|
|
20
|
-
"helpUrl": "https://
|
|
20
|
+
"helpUrl": "https://developers.asana.com/docs/integrating-with-asanas-mcp-server",
|
|
21
21
|
"steps": [
|
|
22
22
|
"Click Connect and approve access in the browser. Approving grants access to the Asana workspace you allow."
|
|
23
23
|
],
|
|
24
24
|
"configSteps": [
|
|
25
|
-
"[
|
|
25
|
+
"[Create an Asana MCP app](https://developers.asana.com/docs/integrating-with-asanas-mcp-server). External MCP is not the required option.",
|
|
26
26
|
"In OAuth settings, add the exact redirect URI shown below",
|
|
27
27
|
"In \"Manage distribution\", allow the workspace you want this connection to access"
|
|
28
28
|
],
|
package/skills/diagrams/SKILL.md
CHANGED
|
@@ -3,6 +3,29 @@ name: diagrams
|
|
|
3
3
|
description: Draw diagrams in the chat - flowcharts, sequence, state and ER diagrams, Gantt charts, pie charts, mindmaps and timelines - written as Mermaid code blocks the app renders. Use when the user asks to draw, diagram, sketch, chart, plan, visualize, or map a process, flow, schedule, architecture, or relationship.
|
|
4
4
|
aliases: [diagram, mermaid, flowchart, mindmap]
|
|
5
5
|
platform: [darwin, linux, win32, ios, android]
|
|
6
|
+
version: 2
|
|
7
|
+
# Tuned on Qwen3.5-2B with an offline eval (33 prompts, mention + prose routes, reasoning on as the app
|
|
8
|
+
# runs it, 12k context, 180 s turn budget), judged by the app's own mermaid parser. QVAC-24436, QVAC-24502.
|
|
9
|
+
# A run passes when the diagram asked for parses and reaches the reply with no tool JSON beside it, or,
|
|
10
|
+
# for the three prompts that want a picture or a plot instead, when no diagram is drawn.
|
|
11
|
+
# v1: router + references/<type>.md, harness 0.2.8. 3 repeats: mention 54/99, prose 20/36, 29 skill calls
|
|
12
|
+
# per run - the 2B loops on the second load (hallucinated files, repeats) until the turn budget ends,
|
|
13
|
+
# and the app shows the raw call or "Diagram unavailable". 71-77% of drawn blocks parsed.
|
|
14
|
+
# v2: every recipe inline, nothing to load. Same harness, 3 repeats: mention 72/99, prose 31/36; 91-97%
|
|
15
|
+
# of drawn blocks parse; context 4156 / 4787 tokens against 5497 / 6317. Skill calls per run 23-35: the
|
|
16
|
+
# model still asks for a body it has, which @qvac/harness answers (a repeat load is acknowledged, not
|
|
17
|
+
# re-run; a misspelt file resolves to its nearest match). With those fixes, 3 repeats: 76/99 and 30/36,
|
|
18
|
+
# ~2 calls per run, context 4002 / 3771.
|
|
19
|
+
# Tried and dropped: the per-type size budgets from the reference files (12 nodes, 8 states, ...).
|
|
20
|
+
# They measured the same (79/99, 33/36 on harness main) but on a phone they cut a 40-node mind map to
|
|
21
|
+
# 10 nodes: the eval scores what parses, not what was left out. The state alias for a spaced name and
|
|
22
|
+
# the gantt `axisFormat` / `excludes weekends` headers from the same files stayed: one clause each.
|
|
23
|
+
# This text, harness main, 3 repeats: mention 84/99, prose 28/36; 93-96% of drawn blocks parse; context
|
|
24
|
+
# 3305 / 3730; ~2 skill calls per run; the ticket prompt 6 of 6.
|
|
25
|
+
# Not fixed. The three route-away prompts (a logo, a photo, a revenue plot) get a diagram 6-9 times
|
|
26
|
+
# in 9 on v2 against 4 in 9 on v1: a page that opens with "draw" draws. Four variants that reworded
|
|
27
|
+
# the "do not load" rule, or cut the recipes to 300 words, measured 25-55% against v1's 55% and were
|
|
28
|
+
# dropped.
|
|
6
29
|
---
|
|
7
30
|
|
|
8
31
|
# Diagrams
|
|
@@ -15,53 +38,120 @@ never call an image tool, and never deliver it as a PDF or image file.
|
|
|
15
38
|
|
|
16
39
|
Your reply STARTS with the fence. No preamble, no plan, no "I'll create a
|
|
17
40
|
diagram showing..." - never announce or describe a diagram instead of drawing
|
|
18
|
-
it. Decide the type silently,
|
|
19
|
-
fence, then add one short sentence saying what it shows - after the closing
|
|
41
|
+
it. Decide the type silently, pick its recipe below, write the code block, close
|
|
42
|
+
its fence, then add one short sentence saying what it shows - after the closing
|
|
20
43
|
fence, never inside it. A complete reply looks like this:
|
|
21
44
|
|
|
22
45
|
```mermaid
|
|
23
46
|
flowchart TD
|
|
24
|
-
A["
|
|
25
|
-
B -->|yes| C["
|
|
26
|
-
B -->|no| D["
|
|
47
|
+
A["First step"] --> B{"Condition?"}
|
|
48
|
+
B -->|yes| C["Second step"]
|
|
49
|
+
B -->|no| D["Other step"]
|
|
27
50
|
```
|
|
28
51
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
52
|
+
One sentence about what it shows. Copy the SHAPE of this block, never its
|
|
53
|
+
words - the labels come from what the user asked about.
|
|
54
|
+
|
|
55
|
+
## Pick the Type and Draw - Nothing to Load
|
|
56
|
+
|
|
57
|
+
Every recipe is here. Pick the row that fits the ask, copy its shape, draw.
|
|
58
|
+
Do not call any tool: the recipe you need is already on this page.
|
|
59
|
+
|
|
60
|
+
**Steps, a process, a pipeline, an org chart** - `flowchart TD` (top-down) or `flowchart LR`:
|
|
61
|
+
```mermaid
|
|
62
|
+
flowchart LR
|
|
63
|
+
A["Request"] --> B{"Valid?"}
|
|
64
|
+
B -->|yes| C["Process"]
|
|
65
|
+
B -->|no| D["Reject with error"]
|
|
66
|
+
```
|
|
67
|
+
Nodes `id["Label"]`, decisions `id{"Question?"}`, arrows always `-->` with `-->|yes|` labels. Ids never reused. Never lowercase `end` - write `"End"`.
|
|
68
|
+
|
|
69
|
+
**Who calls whom over time** - `sequenceDiagram`:
|
|
70
|
+
```mermaid
|
|
71
|
+
sequenceDiagram
|
|
72
|
+
participant App
|
|
73
|
+
participant Server
|
|
74
|
+
App->>Server: POST /login
|
|
75
|
+
Server-->>App: 200 with token
|
|
76
|
+
```
|
|
77
|
+
Declare every `participant` first. Call `A->>B: text`, reply `B-->>A: text`. Never `-->` here.
|
|
78
|
+
|
|
79
|
+
**Modes and transitions** - `stateDiagram-v2`:
|
|
80
|
+
```mermaid
|
|
81
|
+
stateDiagram-v2
|
|
82
|
+
[*] --> Idle
|
|
83
|
+
Idle --> Running : start
|
|
84
|
+
Running --> [*] : shutdown
|
|
85
|
+
```
|
|
86
|
+
`[*]` starts and ends. `From --> To : label`. State names are single words or `snake_case`; for a spaced name write `state "Waiting for input" as Waiting` once, then `Waiting`.
|
|
87
|
+
|
|
88
|
+
**Tables and relations** - `erDiagram`:
|
|
89
|
+
```mermaid
|
|
90
|
+
erDiagram
|
|
91
|
+
USER ||--o{ ORDER : "places"
|
|
92
|
+
ORDER ||--|{ LINE_ITEM : "contains"
|
|
93
|
+
```
|
|
94
|
+
Entities UPPER_CASE. `||--o{` one-to-many, `||--||` one-to-one. Label in plain quotes after the colon.
|
|
95
|
+
|
|
96
|
+
**Classes and inheritance** - `classDiagram`:
|
|
97
|
+
```mermaid
|
|
98
|
+
classDiagram
|
|
99
|
+
class Animal {
|
|
100
|
+
+String name
|
|
101
|
+
+speak()
|
|
102
|
+
}
|
|
103
|
+
Animal <|-- Dog
|
|
104
|
+
```
|
|
105
|
+
Members inside `class Name { }`. Inheritance `Parent <|-- Child`. No quotes on class names.
|
|
106
|
+
|
|
107
|
+
**A schedule with durations** - `gantt`:
|
|
108
|
+
```mermaid
|
|
109
|
+
gantt
|
|
110
|
+
title Delivery
|
|
111
|
+
dateFormat YYYY-MM-DD
|
|
112
|
+
section Planning
|
|
113
|
+
Requirements :a1, 2026-09-01, 5d
|
|
114
|
+
Design :a2, after a1, 7d
|
|
115
|
+
```
|
|
116
|
+
Headers are only `title`, `dateFormat`, `axisFormat`, `excludes weekends`, `section`. EVERY other line is `Name :id, start, duration`.
|
|
117
|
+
|
|
118
|
+
**Dated events in order** - `timeline`:
|
|
119
|
+
```mermaid
|
|
120
|
+
timeline
|
|
121
|
+
title Company history
|
|
122
|
+
2019 : Founded
|
|
123
|
+
2021 : First release
|
|
124
|
+
2024 : Series A
|
|
125
|
+
```
|
|
126
|
+
One `date : event` per line, indented under the title.
|
|
127
|
+
|
|
128
|
+
**Shares of a whole** - `pie`:
|
|
129
|
+
```mermaid
|
|
130
|
+
pie title Time spent
|
|
131
|
+
"Coding" : 60
|
|
132
|
+
"Review" : 25
|
|
133
|
+
"Meetings" : 15
|
|
134
|
+
```
|
|
135
|
+
Every slice is `"Label" : number` - quoted label, plain number, no `%`.
|
|
136
|
+
|
|
137
|
+
**A brainstorm or idea tree** - `mindmap`:
|
|
138
|
+
```mermaid
|
|
139
|
+
mindmap
|
|
140
|
+
root[Launch plan]
|
|
141
|
+
Marketing
|
|
142
|
+
Blog post
|
|
143
|
+
Engineering
|
|
144
|
+
Release build
|
|
145
|
+
```
|
|
146
|
+
`root[Topic]` once, then plain unquoted text, two more spaces per level. A second line at the root's depth fails.
|
|
147
|
+
|
|
148
|
+
Use `gitGraph` ONLY when the user names it. Never invent a keyword not shown above.
|
|
58
149
|
|
|
59
150
|
## Hard Rules (every type)
|
|
60
151
|
|
|
61
152
|
- One diagram per code block, and the fence language is exactly `mermaid`. The
|
|
62
|
-
first line inside the fence is
|
|
63
|
-
ONE block; use two only
|
|
64
|
-
detail. Never more than two.
|
|
153
|
+
first line inside the fence is a type keyword from the recipes above. Default to
|
|
154
|
+
ONE block; use two only for an overview plus one detail. Never more than two.
|
|
65
155
|
- Except in mindmaps, node ids are letters, digits, and underscores, starting
|
|
66
156
|
with a letter, never reused. Mindmap nodes have no ids.
|
|
67
157
|
- Except in mindmaps, every label with a space, punctuation, or brackets goes
|
|
@@ -93,8 +183,8 @@ diagram types, and never invent a keyword a recipe does not show.
|
|
|
93
183
|
## If the diagram fails
|
|
94
184
|
|
|
95
185
|
When a diagram cannot render, the app sends its parse error back to you once
|
|
96
|
-
on its own, and the user may send it again. Re-
|
|
97
|
-
by rewriting the ENTIRE code block, never a partial patch.
|
|
186
|
+
on its own, and the user may send it again. Re-read the type's recipe above and
|
|
187
|
+
fix by rewriting the ENTIRE code block, never a partial patch.
|
|
98
188
|
|
|
99
189
|
| Error contains | Fix |
|
|
100
190
|
| --- | --- |
|
|
@@ -103,5 +193,5 @@ by rewriting the ENTIRE code block, never a partial patch.
|
|
|
103
193
|
| `Expecting ...` at a flowchart or sequence label | Put the whole label in double quotes |
|
|
104
194
|
| `got 'end'` | Rename the node label to `"End"` |
|
|
105
195
|
| `Maximum text size` or edge limit | Shrink the diagram or split it in two |
|
|
106
|
-
| `No diagram type detected` | Start the fence with one type keyword from the
|
|
196
|
+
| `No diagram type detected` | Start the fence with one type keyword from the recipes above |
|
|
107
197
|
| `Duplicate id` | Give every node a fresh unique id |
|
package/skills/excel/SKILL.md
CHANGED
|
@@ -4,6 +4,10 @@ description: Create, edit, or read Excel spreadsheets (.xlsx) with openpyxl —
|
|
|
4
4
|
aliases: [xlsx, spreadsheet, workbook]
|
|
5
5
|
tools: [exec(python)]
|
|
6
6
|
platform: [darwin, linux, win32]
|
|
7
|
+
# Routing tuned on Qwen3.5-4B for QVAC-24106 ("@excel embed this image into a spreadsheet" after a
|
|
8
|
+
# generate_image turn). The bullet list sent 13/14 runs to edit.md, and 6/14 ended with no image in
|
|
9
|
+
# a workbook, most by asking the user to attach one. As a request -> file table: 5/5 to create.md and
|
|
10
|
+
# 5/5 embedded the image; "add a fourth row" to a workbook built in the chat still loads edit.md, 3/3.
|
|
7
11
|
metadata:
|
|
8
12
|
{
|
|
9
13
|
"openclaw":
|
|
@@ -32,17 +36,20 @@ copy its recipe and change the content:
|
|
|
32
36
|
Each load is a real `skill` tool call — printing the call as JSON or text in
|
|
33
37
|
your reply loads nothing.
|
|
34
38
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
39
|
+
Pick the file by whether an `.xlsx` is already in this chat:
|
|
40
|
+
|
|
41
|
+
| The request | Load |
|
|
42
|
+
| ----------------------------------------------------------------------------------- | ----------------------------------------------- |
|
|
43
|
+
| "make a spreadsheet of …", "embed this image into a spreadsheet" — no `.xlsx` yet | `references/create.md` |
|
|
44
|
+
| "add a row", "change B2", "add this image to my budget.xlsx" — an `.xlsx` is here | `references/edit.md` |
|
|
45
|
+
| "what is the total in this sheet?", "summarize this workbook" — the answer is a reply | `references/read.md` |
|
|
46
|
+
| "summarize this workbook into a new file" | `references/read.md` first, then create or edit |
|
|
47
|
+
|
|
48
|
+
Load it with the `skill` tool: `name: "excel"` and that `file`.
|
|
49
|
+
|
|
50
|
+
**An image this chat generated is already attached.** A `generate_image` result in
|
|
51
|
+
any earlier turn is the image "this image" means, and its `attachmentId` stages it.
|
|
52
|
+
Never ask the user to attach an image the conversation already has.
|
|
46
53
|
|
|
47
54
|
Never write the Python from memory. The recipes carry required patterns (the
|
|
48
55
|
fill-in template, staging rules, guard asserts) that fail in non-obvious ways
|
|
@@ -6,6 +6,10 @@ rows, columns, or sheets. Stage the workbook as an input, modify it, and save
|
|
|
6
6
|
under a **new** output name such as `revised.xlsx` — never overwrite the staged
|
|
7
7
|
input.
|
|
8
8
|
|
|
9
|
+
**No `.xlsx` in this chat means this is not an edit.** "Put this image in a
|
|
10
|
+
spreadsheet" with no workbook to open is a CREATE: load `references/create.md` and
|
|
11
|
+
build a new one. Never ask the user to attach a workbook they did not mention.
|
|
12
|
+
|
|
9
13
|
Macro-enabled files (`.xlsm`) can be staged as inputs and read, but this
|
|
10
14
|
runtime cannot deliver `.xlsm` back — macros never survive. Save the edit as
|
|
11
15
|
`.xlsx` and tell the user the macros were not preserved.
|
package/skills/gmail/SKILL.md
CHANGED
|
@@ -42,7 +42,6 @@ metadata:
|
|
|
42
42
|
"authUrl": "https://accounts.google.com/o/oauth2/v2/auth",
|
|
43
43
|
"tokenUrl": "https://oauth2.googleapis.com/token",
|
|
44
44
|
"tokenAuth": "secret-in-body",
|
|
45
|
-
"port": 18978,
|
|
46
45
|
"scopes": [
|
|
47
46
|
"https://www.googleapis.com/auth/documents",
|
|
48
47
|
"https://www.googleapis.com/auth/drive"
|
|
@@ -43,7 +43,6 @@ metadata:
|
|
|
43
43
|
"authUrl": "https://accounts.google.com/o/oauth2/v2/auth",
|
|
44
44
|
"tokenUrl": "https://oauth2.googleapis.com/token",
|
|
45
45
|
"tokenAuth": "secret-in-body",
|
|
46
|
-
"port": 18978,
|
|
47
46
|
"scopes": [
|
|
48
47
|
"https://www.googleapis.com/auth/spreadsheets",
|
|
49
48
|
"https://www.googleapis.com/auth/drive"
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# Class Diagram
|
|
2
|
-
|
|
3
|
-
For code types: classes, their members, inheritance.
|
|
4
|
-
|
|
5
|
-
Budget: 7 classes.
|
|
6
|
-
|
|
7
|
-
```mermaid
|
|
8
|
-
classDiagram
|
|
9
|
-
class Animal {
|
|
10
|
-
+String name
|
|
11
|
-
+speak()
|
|
12
|
-
}
|
|
13
|
-
Animal <|-- Dog
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
Rules:
|
|
17
|
-
|
|
18
|
-
- Members go inside `class Name { }`, one per line, `+` public and `-`
|
|
19
|
-
private, methods end with `()`.
|
|
20
|
-
- Inheritance is `Parent <|-- Child`; composition `Whole *-- Part`;
|
|
21
|
-
association `A --> B`.
|
|
22
|
-
- Class names are single tokens; no quotes, no `classDef` lines.
|
|
23
|
-
|
|
24
|
-
## Now draw
|
|
25
|
-
|
|
26
|
-
This recipe is all you need. Your next output is the reply itself: one fenced
|
|
27
|
-
Mermaid code block (fence language `mermaid`), then one sentence. Do not call
|
|
28
|
-
any tool - not `exec`, not `skill` again, not an image tool. A tool call here
|
|
29
|
-
means the diagram was never drawn.
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# ER Diagram
|
|
2
|
-
|
|
3
|
-
For tables and their relations.
|
|
4
|
-
|
|
5
|
-
Budget: 8 entities.
|
|
6
|
-
|
|
7
|
-
```mermaid
|
|
8
|
-
erDiagram
|
|
9
|
-
USER ||--o{ ORDER : "places"
|
|
10
|
-
ORDER ||--|{ LINE_ITEM : "contains"
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
Rules:
|
|
14
|
-
|
|
15
|
-
- Entities are UPPER_CASE single tokens.
|
|
16
|
-
- `||--o{` reads "one to zero-or-many"; `||--|{` "one to one-or-many";
|
|
17
|
-
`||--||` "one to one".
|
|
18
|
-
- The relationship label follows the colon in plain double quotes typed directly (no backslash in front).
|
|
19
|
-
- Attributes are optional; if used, list them inside `ENTITY { string name }`
|
|
20
|
-
blocks with one `type name` per line.
|
|
21
|
-
|
|
22
|
-
## Now draw
|
|
23
|
-
|
|
24
|
-
This recipe is all you need. Your next output is the reply itself: one fenced
|
|
25
|
-
Mermaid code block (fence language `mermaid`), then one sentence. Do not call
|
|
26
|
-
any tool - not `exec`, not `skill` again, not an image tool. A tool call here
|
|
27
|
-
means the diagram was never drawn.
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
# Flowchart
|
|
2
|
-
|
|
3
|
-
For steps, decisions, processes, pipelines, and any "map this / structure
|
|
4
|
-
this" ask - also family trees, org charts, and reporting lines. `flowchart TD`
|
|
5
|
-
reads top-down; `flowchart LR` left-to-right for a pipeline.
|
|
6
|
-
|
|
7
|
-
Budget: 12 nodes and 16 edges. Over budget, simplify; if the detail is
|
|
8
|
-
essential, one overview block plus one detail block, never more.
|
|
9
|
-
|
|
10
|
-
```mermaid
|
|
11
|
-
flowchart LR
|
|
12
|
-
A["Request"] --> B{"Valid?"}
|
|
13
|
-
B -->|yes| C["Process"]
|
|
14
|
-
B -->|no| D["Reject with error"]
|
|
15
|
-
C --> E["Respond"]
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
Rules:
|
|
19
|
-
|
|
20
|
-
- Nodes are `id["Label"]`; decisions are `id{"Question?"}` diamonds.
|
|
21
|
-
- Arrows are always `-->`; the label form is `-->|yes|`. Never `->>` here.
|
|
22
|
-
- Ids: letters, digits, underscores, starting with a letter, never reused.
|
|
23
|
-
- Every label goes in plain double quotes `"`, 40 characters or
|
|
24
|
-
fewer, `<br/>` for a line break. Never write lowercase `end` - use `"End"`.
|
|
25
|
-
- One node per person or concept, details inside its label; no separate nodes
|
|
26
|
-
for dates, roles, counts, or statuses.
|
|
27
|
-
|
|
28
|
-
## Now draw
|
|
29
|
-
|
|
30
|
-
This recipe is all you need. Your next output is the reply itself: one fenced
|
|
31
|
-
Mermaid code block (fence language `mermaid`), then one sentence. Do not call
|
|
32
|
-
any tool - not `exec`, not `skill` again, not an image tool. A tool call here
|
|
33
|
-
means the diagram was never drawn.
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
# Gantt Chart
|
|
2
|
-
|
|
3
|
-
For a schedule or plan with durations.
|
|
4
|
-
|
|
5
|
-
Budget: 12 tasks across 4 sections.
|
|
6
|
-
|
|
7
|
-
```mermaid
|
|
8
|
-
gantt
|
|
9
|
-
title MVP delivery
|
|
10
|
-
dateFormat YYYY-MM-DD
|
|
11
|
-
excludes weekends
|
|
12
|
-
section Planning
|
|
13
|
-
Requirements :a1, 2026-09-01, 5d
|
|
14
|
-
Design :a2, after a1, 7d
|
|
15
|
-
section Build
|
|
16
|
-
Core platform :b1, after a2, 21d
|
|
17
|
-
API :b2, after a2, 17d
|
|
18
|
-
section Launch
|
|
19
|
-
Release :c1, after b1, 2d
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
Rules:
|
|
23
|
-
|
|
24
|
-
- The only header lines are `title`, `dateFormat YYYY-MM-DD`, `axisFormat`,
|
|
25
|
-
`excludes weekends`, and `section Name`. Nothing else is a header.
|
|
26
|
-
- EVERY other line is a task and must be `Name :id, start, duration` - start
|
|
27
|
-
is a date or `after otherId`, duration is like `5d` or `2w`. A line that is
|
|
28
|
-
not one of these fails with `Expecting 'taskData'`.
|
|
29
|
-
- No colons inside task names, no quotes, no arrows.
|
|
30
|
-
- Ids are unique short tokens (`a1`, `b2`); `after` may name several ids
|
|
31
|
-
separated by spaces.
|
|
32
|
-
|
|
33
|
-
## Now draw
|
|
34
|
-
|
|
35
|
-
This recipe is all you need. Your next output is the reply itself: one fenced
|
|
36
|
-
Mermaid code block (fence language `mermaid`), then one sentence. Do not call
|
|
37
|
-
any tool - not `exec`, not `skill` again, not an image tool. A tool call here
|
|
38
|
-
means the diagram was never drawn.
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
# Mindmap
|
|
2
|
-
|
|
3
|
-
For a brainstorm or idea tree around one topic. Not for people in a hierarchy
|
|
4
|
-
- that is a `flowchart TD`.
|
|
5
|
-
|
|
6
|
-
Budget: 3 levels, 10 nodes, 2-4 balanced top-level branches.
|
|
7
|
-
|
|
8
|
-
```mermaid
|
|
9
|
-
mindmap
|
|
10
|
-
root[Launch plan]
|
|
11
|
-
Marketing
|
|
12
|
-
Blog post
|
|
13
|
-
Social campaign
|
|
14
|
-
Engineering
|
|
15
|
-
Release build
|
|
16
|
-
Monitoring
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
Rules:
|
|
20
|
-
|
|
21
|
-
- The first line is `mindmap`; the second is the rectangular `root[Topic]`.
|
|
22
|
-
- One node per line, two more spaces of indentation per level; the tree shape
|
|
23
|
-
comes only from indentation. Every line after `root[...]` is indented deeper
|
|
24
|
-
than the root - a line at the root's indentation is a second root and fails
|
|
25
|
-
with `There can be only one root`.
|
|
26
|
-
- Labels are unquoted plain text with no ids, no quotes, no arrows,
|
|
27
|
-
no brackets except the `root[...]` form.
|
|
28
|
-
- One node per item with its details in that node; no attribute leaves.
|
|
29
|
-
|
|
30
|
-
## Now draw
|
|
31
|
-
|
|
32
|
-
This recipe is all you need. Your next output is the reply itself: one fenced
|
|
33
|
-
Mermaid code block (fence language `mermaid`), then one sentence. Do not call
|
|
34
|
-
any tool - not `exec`, not `skill` again, not an image tool. A tool call here
|
|
35
|
-
means the diagram was never drawn.
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# Pie Chart
|
|
2
|
-
|
|
3
|
-
For shares of a whole: hours in a day, budget split, percentages.
|
|
4
|
-
|
|
5
|
-
Budget: 8 slices; combine the remainder as `"Other"`.
|
|
6
|
-
|
|
7
|
-
```mermaid
|
|
8
|
-
pie title Time spent
|
|
9
|
-
"Coding" : 60
|
|
10
|
-
"Review" : 25
|
|
11
|
-
"Meetings" : 15
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
Rules:
|
|
15
|
-
|
|
16
|
-
- The first line is `pie title Your title` (or just `pie`).
|
|
17
|
-
- Every slice is `"Label" : number` - the label in plain double quotes typed
|
|
18
|
-
directly (never unquoted, never with a backslash in front), then a
|
|
19
|
-
space-colon-space, then a plain number with no unit or `%` sign.
|
|
20
|
-
- One slice per line; values need not add up to 100.
|
|
21
|
-
|
|
22
|
-
## Now draw
|
|
23
|
-
|
|
24
|
-
This recipe is all you need. Your next output is the reply itself: one fenced
|
|
25
|
-
Mermaid code block (fence language `mermaid`), then one sentence. Do not call
|
|
26
|
-
any tool - not `exec`, not `skill` again, not an image tool. A tool call here
|
|
27
|
-
means the diagram was never drawn.
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
# Sequence Diagram
|
|
2
|
-
|
|
3
|
-
For who calls whom over time: requests and replies between an app, a server,
|
|
4
|
-
a browser, a service.
|
|
5
|
-
|
|
6
|
-
Budget: 5 participants and 12 messages.
|
|
7
|
-
|
|
8
|
-
```mermaid
|
|
9
|
-
sequenceDiagram
|
|
10
|
-
participant App
|
|
11
|
-
participant Server
|
|
12
|
-
App->>Server: POST /login
|
|
13
|
-
Server-->>App: 200 with token
|
|
14
|
-
Note over App: stores the token
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
Rules:
|
|
18
|
-
|
|
19
|
-
- Declare every `participant` first, as a bare name without quotes.
|
|
20
|
-
- A call is `A->>B: message`; a reply is `B-->>A: message`. Never use the
|
|
21
|
-
flowchart `-->` arrow here.
|
|
22
|
-
- A note is `Note over A: text` (or `Note over A,B: text`).
|
|
23
|
-
- Message text follows the colon unquoted; keep it short. No backslashes anywhere.
|
|
24
|
-
- No ids, no brackets, no `end` except to close a Mermaid `loop`/`alt` block
|
|
25
|
-
you opened.
|
|
26
|
-
|
|
27
|
-
## Now draw
|
|
28
|
-
|
|
29
|
-
This recipe is all you need. Your next output is the reply itself: one fenced
|
|
30
|
-
Mermaid code block (fence language `mermaid`), then one sentence. Do not call
|
|
31
|
-
any tool - not `exec`, not `skill` again, not an image tool. A tool call here
|
|
32
|
-
means the diagram was never drawn.
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
# State Diagram
|
|
2
|
-
|
|
3
|
-
For modes and transitions: a device, a job, a session moving between states.
|
|
4
|
-
|
|
5
|
-
Budget: 8 states.
|
|
6
|
-
|
|
7
|
-
```mermaid
|
|
8
|
-
stateDiagram-v2
|
|
9
|
-
[*] --> Idle
|
|
10
|
-
Idle --> Running : start
|
|
11
|
-
Running --> Idle : stop
|
|
12
|
-
Running --> [*] : shutdown
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
Rules:
|
|
16
|
-
|
|
17
|
-
- The first line is exactly `stateDiagram-v2`.
|
|
18
|
-
- `[*]` is both the start and the end marker.
|
|
19
|
-
- A transition is `From --> To : label`; the label is optional and follows a
|
|
20
|
-
colon, unquoted.
|
|
21
|
-
- State names are single words or `snake_case`; for a spaced display name use
|
|
22
|
-
`state "Waiting for input" as Waiting` once, then `Waiting` everywhere.
|
|
23
|
-
- No backslashes, no `classDef`, no `%%` lines.
|
|
24
|
-
|
|
25
|
-
## Now draw
|
|
26
|
-
|
|
27
|
-
This recipe is all you need. Your next output is the reply itself: one fenced
|
|
28
|
-
Mermaid code block (fence language `mermaid`), then one sentence. Do not call
|
|
29
|
-
any tool - not `exec`, not `skill` again, not an image tool. A tool call here
|
|
30
|
-
means the diagram was never drawn.
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
# Timeline
|
|
2
|
-
|
|
3
|
-
For dated events in order: a history, a roadmap already dated.
|
|
4
|
-
|
|
5
|
-
Budget: 8 events.
|
|
6
|
-
|
|
7
|
-
```mermaid
|
|
8
|
-
timeline
|
|
9
|
-
title Product history
|
|
10
|
-
2024 : Prototype
|
|
11
|
-
2025 : Public beta : First paying customers
|
|
12
|
-
2026 : Version 1.0
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
Rules:
|
|
16
|
-
|
|
17
|
-
- `title` first, then one line per period as `period : event`, with another
|
|
18
|
-
` : event` for each extra event in the same period.
|
|
19
|
-
- Periods are years, dates, or short phase names; events are short unquoted
|
|
20
|
-
text.
|
|
21
|
-
- No arrows, no ids, no quotes.
|
|
22
|
-
|
|
23
|
-
## Now draw
|
|
24
|
-
|
|
25
|
-
This recipe is all you need. Your next output is the reply itself: one fenced
|
|
26
|
-
Mermaid code block (fence language `mermaid`), then one sentence. Do not call
|
|
27
|
-
any tool - not `exec`, not `skill` again, not an image tool. A tool call here
|
|
28
|
-
means the diagram was never drawn.
|