napkin
github/awesome-copilot
Browser-based visual whiteboard for sketching ideas and collaborating with Copilot.
What is napkin?
Napkin opens an interactive whiteboard in your browser where you can draw, sketch, and add sticky notes to think through ideas visually. After you share your whiteboard, Copilot reads your drawings and text, then responds with analysis, suggestions, and next steps. Designed for lawyers, PMs, and business stakeholders who think visually.
- Opens a browser-based whiteboard for freehand drawing and sketching
- Lets you add sticky notes and text labels with color coding
- Captures whiteboard content as a PNG snapshot and structured JSON data
- Reads your drawings and text back into Copilot for conversational analysis
- Offers next-step suggestions based on what you've sketched
How to install napkin
npx skills add https://github.com/github/awesome-copilot --skill napkinHow to use napkin
- 1.Invoke the skill by saying 'let's napkin,' 'open a napkin,' or 'start a whiteboard'
- 2.Draw, sketch, or add sticky notes on the whiteboard that opens in your browser
- 3.When ready for feedback, click the green 'Share with Copilot' button on the whiteboard
- 4.Return to the CLI and say 'check the napkin' or 'what do you think'
- 5.Copilot will interpret your drawings and text, then respond with analysis and suggestions
Use cases
- Sketch out a multi-stage workflow or process and get Copilot's feedback on the flow
- Brainstorm and group ideas on a whiteboard, then ask Copilot to organize or expand them
- Draw a rough diagram of a system or concept and request Copilot's interpretation and suggestions
- Map out a problem visually with sticky notes, then ask Copilot to help structure a solution
- Collaborate on a visual plan and have Copilot turn it into a structured document or checklist
- Lawyers and legal professionals planning case strategy or document structure
- Product managers and business stakeholders mapping workflows and requirements
- Anyone who thinks visually and prefers sketching to typing initial ideas
- Teams brainstorming and needing visual-to-text conversion for documentation
napkin FAQ
The skill will ask whether you want to open the existing one or start fresh before overwriting it.
No. Copilot reads your whiteboard and responds in the CLI. You can manually add Copilot's suggestions to the napkin, or ask Copilot to create a separate document based on your sketch.
The PNG snapshot saves to your Downloads or Desktop folder as napkin-snapshot.png. The structured JSON data (text content and positions) is copied to your clipboard when you click 'Share with Copilot.'
No. Napkin works with rough sketches, simple shapes, arrows, and annotations. Copilot interprets the spatial layout and intent, not artistic quality.
Make sure you clicked the green 'Share with Copilot' button on the whiteboard before asking Copilot to check it. The button saves the screenshot that Copilot needs to see.
Full instructions (SKILL.md)
Source of truth, from github/awesome-copilot.
name: napkin description: '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.'
Napkin — Visual Whiteboard for Copilot CLI
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.
Activation
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:
-
Copy the bundled HTML template from the skill assets to the user's Desktop.
- The template lives at
assets/napkin.htmlrelative to this SKILL.md file. - Copy it to
~/Desktop/napkin.html. - If
~/Desktop/napkin.htmlalready exists, ask the user whether they want to open the existing one or start fresh before overwriting.
- The template lives at
-
Open it in the default browser:
- macOS:
open ~/Desktop/napkin.html - Linux:
xdg-open ~/Desktop/napkin.html - Windows:
start ~/Desktop/napkin.html
- macOS:
-
Tell the user what to do next. Say something warm and simple:
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."
Reading 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:
Step 1 — Read the PNG snapshot (primary)
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.png
Use 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.
Step 2 — Read the clipboard for structured JSON (supplementary)
Also try to grab structured JSON data from the system clipboard. The whiteboard copies this automatically alongside the PNG.
- macOS:
pbpaste - Linux:
xclip -selection clipboard -o - Windows:
powershell -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.
Step 3 — Interpret both sources together
Synthesize the visual snapshot and the structured text into a coherent understanding of what the user is thinking or planning:
- From the PNG: Describe what you see — sketches, diagrams, flowcharts, groupings, arrows, spatial layout, annotations, circled items, crossed-out items, emphasis marks.
- From the JSON: Read the exact text content of sticky notes and labels, noting their positions and colors.
- Combine both into a single, conversational interpretation.
Step 4 — Respond conversationally
Do not dump raw data or a technical summary. Respond as a collaborator who looked at someone's whiteboard sketch. Examples:
- "I can see you've sketched out a three-stage process — it looks like you're thinking about [X] flowing into [Y] and then [Z]. The sticky note in the corner says '[text]' — is that a concern you want me to address?"
- "It looks like you've grouped these four ideas together on the left side and separated them from the two items on the right. Are you thinking of these as two different categories?"
- "I see you drew arrows connecting [A] to [B] to [C] — is this the workflow you're envisioning?"
Step 5 — Ask what's next
Always end by offering a next step:
- "Want me to build on this?"
- "Should I turn this into a structured document?"
- "Want me to add my suggestions to the napkin?"
Responding on the Napkin
When the user wants the agent to add content back to the whiteboard:
- The agent cannot directly modify the HTML file's canvas state — that's managed by JavaScript running in the browser.
- Instead, offer practical alternatives:
- Provide the response right here in the CLI, and suggest the user add it to the napkin manually.
- Offer to create a separate document (markdown, memo, checklist, etc.) based on what was interpreted from the napkin.
- If it makes sense, create an updated copy of
napkin.htmlwith pre-loaded content.
Tone and Style
- Use the same approachable, non-technical tone as the noob-mode skill.
- Never use developer jargon without explaining it in plain English.
- Treat the napkin as a creative, collaborative space — not a formal input mechanism.
- Be encouraging about the user's sketches regardless of artistic quality.
- Frame responses as "building on your thinking," not "analyzing your input."
Error Handling
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?
Important Notes
- The PNG interpretation is the primary channel. Multimodal models can read and interpret the base64 image data returned by the
viewtool. - The JSON clipboard data is supplementary — it provides precise text but does not capture freehand drawings.
- Always check for the PNG first. If it isn't found, prompt the user to click "Share with Copilot."
- If the clipboard doesn't have JSON data, proceed with the PNG alone.
- The HTML template is located at
assets/napkin.htmlrelative to this SKILL.md file. - The walkthrough images
assets/step1-activate.svg,assets/step2-whiteboard.svg,assets/step3-draw.svg,assets/step4-share.svg, andassets/step5-response.svgare documentation illustrations, not runtime inputs. - If the noob-mode skill is also active, use its risk indicator format (green/yellow/red) when requesting file or bash permissions.
Related skills
More from github/awesome-copilot and the wider catalog.

next-intl-add-language
Add new language support to Next.js + next-intl applications

noob-mode
Plain-English translation layer for non-technical Copilot CLI users.

nuget-manager
Manage NuGet packages in .NET projects safely using dotnet CLI with strict workflows for adds, removes, and version updates.

onboard-context-matic
Interactive onboarding tour for the context-matic MCP server. Walks the user through what the server does, shows all available APIs, lets them pick one to explore, explains it in their project language, demonstrates model_search and endpoint_search live, and ends with a menu of things the user can ask the agent to do. USE FOR: first-time setup; "what can this MCP do?"; "show me the available APIs"; "onboard me"; "how do I use the context-matic server"; "give me a tour". DO NOT USE FOR: actually integrating an API end-to-end (use integrate-context-matic instead).

oo-component-documentation
Create or update standardized OO component documentation using shared templates and mode-specific guidance.

openapi-to-application-code
Generate production-ready applications from OpenAPI specifications with framework conventions and best practices.