Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Visual whiteboard collaboration for Copilot CLI. Creates an interactive whiteboard that opens in your browser — draw, sketch, add sticky notes, then share everything back with Copilot. Copilot sees your drawings and text, and responds with analysis, suggestions, and ideas.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | 154% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 160% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 421% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 56% | 0% |
| case-18 | ✗→✓ | ▲ Improved | 46% | 0% |
Napkin gives users a browser-based whiteboard where they can draw, sketch, and add sticky notes to think through ideas visually. The agent reads back the whiteboard contents (via a PNG snapshot and optional JSON data) and responds conversationally with analysis, suggestions, and next steps.
The target audience is lawyers, PMs, and business stakeholders — not software developers. Keep everything approachable and jargon-free.
When the user invokes this skill — saying things like "let's napkin," "open a napkin," "start a whiteboard," or using the slash command — do the following:
assets/napkin.html relative to this SKILL.md file.~/Desktop/napkin.html.~/Desktop/napkin.html already exists, ask the user whether they want to open the existing one or start fresh before overwriting.open ~/Desktop/napkin.htmlxdg-open ~/Desktop/napkin.htmlstart ~/Desktop/napkin.html Your napkin is open in your browser!
Draw, sketch, or add sticky notes — whatever helps you think through your idea.
When you're ready for my input, click the green "Share with Copilot" button on the whiteboard, then come back here and say "check the napkin."
When the user says "check the napkin," "look at the napkin," "what do you think," "read my napkin," or anything similar, follow these steps:
Look for a PNG file called napkin-snapshot.png. Check these locations in order (the browser saves it to the user's default download folder, which varies):
~/Downloads/napkin-snapshot.png~/Desktop/napkin-snapshot.pngUse the view tool to read the PNG. This sends the image as base64-encoded data to the model, which can visually interpret it. The PNG is the primary way the agent understands what the user drew — it captures freehand sketches, arrows, spatial layout, annotations, circled or crossed-out items, and anything else on the canvas.
If the PNG is not found in either location, do NOT silently skip it. Instead, tell the user:
I don't see a snapshot from your napkin yet. Here's what to do:
1. Go to your whiteboard in the browser
2. Click the green "Share with Copilot" button
3. Come back here and say "check the napkin" again
The button saves a screenshot that I can look at.Also try to grab structured JSON data from the system clipboard. The whiteboard copies this automatically alongside the PNG.
pbpastexclip -selection clipboard -opowershell -command "Get-Clipboard"The JSON contains the exact text content of sticky notes and text labels, their positions, and their colors. This supplements the PNG by giving you precise text that might be hard to read from a screenshot.
If the clipboard doesn't contain JSON data, that's fine — the PNG alone gives the model plenty to work with. Do not treat a missing clipboard as an error.
Synthesize the visual snapshot and the structured text into a coherent understanding of what the user is thinking or planning:
Do not dump raw data or a technical summary. Respond as a collaborator who looked at someone's whiteboard sketch. Examples:
Always end by offering a next step:
When the user wants the agent to add content back to the whiteboard:
napkin.html with pre-loaded content.PNG snapshot not found:
I don't see a snapshot from your napkin yet. Here's what to do:
1. Go to your whiteboard in the browser
2. Click the green "Share with Copilot" button
3. Come back here and say "check the napkin" again
The button saves a screenshot that I can look at.Whiteboard file doesn't exist on Desktop:
It looks like we haven't started a napkin yet. Want me to open one for you?view tool.assets/napkin.html relative to this SKILL.md file.assets/step1-activate.svg, assets/step2-whiteboard.svg, assets/step3-draw.svg, assets/step4-share.svg, and assets/step5-response.svg are documentation illustrations, not runtime inputs.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 5,406 | 6,465 | +20% | 1 | 1 | 0% | 844 | 2,058 | +144% | 0 | 0 | — |
case-02 | fail→fail | 3,241 | 6,737 | +108% | 1 | 1 | 0% | 596 | 2,163 | +263% | 0 | 0 | — |
case-03 | fail→fail | 4,597 | 6,980 | +52% | 1 | 1 | 0% | 866 | 2,339 | +170% | 0 | 0 | — |
case-04 | pass→pass | 4,854 | 2,069 | -57% | 1 | 1 | 0% | 1,007 | 2,142 | +113% | 0 | 0 | — |
case-05 | pass→pass | 1,973 | 2,046 | +4% | 1 | 1 | 0% | 332 | 2,076 | +525% | 0 | 0 | — |
case-06 | fail→pass | 8,033 | 2,640 | -67% | 1 | 1 | 0% | 891 | 2,264 | +154% | 0 | 0 | — |
case-07 | pass→pass | 4,445 | 1,422 | -68% | 1 | 1 | 0% | 740 | 1,954 | +164% | 0 | 0 | — |
case-08 | fail→pass | 4,688 | 1,839 | -61% | 1 | 1 | 0% | 810 | 2,103 | +160% | 0 | 0 | — |
case-09 | fail→fail | 10,603 | 4,049 | -62% | 1 | 1 | 0% | 2,032 | 2,427 | +19% | 0 | 0 | — |
case-10 | pass→pass | 7,624 | 1,438 | -81% | 1 | 1 | 0% | 1,482 | 1,948 | +31% | 0 | 0 | — |
case-11 | pass→fail | 2,957 | 1,557 | -47% | 1 | 1 | 0% | 561 | 1,954 | +248% | 0 | 0 | — |
case-12 | pass→pass | 6,712 | 1,354 | -80% | 1 | 1 | 0% | 1,296 | 1,965 | +52% | 0 | 0 | — |
case-13 | pass→pass | 8,705 | 1,147 | -87% | 1 | 1 | 0% | 1,562 | 1,918 | +23% | 0 | 0 | — |
case-14 | fail→pass | 2,628 | 3,107 | +18% | 1 | 1 | 0% | 456 | 2,378 | +421% | 0 | 0 | — |
case-15 | fail→fail | 9,155 | 4,958 | -46% | 1 | 1 | 0% | 1,594 | 2,104 | +32% | 0 | 0 | — |
case-21 | pass→pass | 2,982 | 2,558 | -14% | 1 | 1 | 0% | 545 | 2,172 | +299% | 0 | 0 | — |
case-16 | fail→pass | 7,350 | 2,887 | -61% | 1 | 1 | 0% | 1,468 | 2,284 | +56% | 0 | 0 | — |
case-17 | fail→fail | 5,822 | 1,710 | -71% | 1 | 1 | 0% | 1,154 | 2,023 | +75% | 0 | 0 | — |
case-18 | fail→pass | 7,178 | 1,600 | -78% | 1 | 1 | 0% | 1,328 | 1,944 | +46% | 0 | 0 | — |
case-19 | pass→pass | 8,312 | 2,533 | -70% | 1 | 1 | 0% | 1,527 | 2,091 | +37% | 0 | 0 | — |
case-20 | pass→pass | 24,782 | 12,417 | -50% | 1 | 1 | 0% | 5,666 | 4,649 | -18% | 0 | 0 | — |
case-22 | pass→pass | 3,562 | 3,206 | -10% | 1 | 1 | 0% | 836 | 2,493 | +198% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 18 counted toward the lift figure. The other 4 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +18 percentage points is the difference between those two pass rates over the 18 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
| Model | Method | Date | Lift |
|---|---|---|---|
| gemini-3.6-flash | verified | 7/24/2026 | +36% |
Other measured skills in the registry, with their headline benchmark lift.