spotnote-setup
Skill25 starsChanged 24 days agoMITView on GitHub
Set up Spotnote in a Vite app. Installs the spotnote dev dependency, adds spotnote() to the Vite config, and optionally connects this coding agent to spotnote-mcp. Use when the user asks to install, add, set up or connect Spotnote.
- Installs packages
In this repository7 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .claude/CLAUDE.mdCLAUDE.md
- docs-updateSkill
- examples-new-frameworkSkill
- examples-reproSkill
- examples-syncSkill
- releaseSkill
The file
We split this skill into the rules it gives an agent
9 rules. About 0 are common, 3 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 10
Never change the app's own code: nothing is imported in it.
- Very specific: line 14
Look for vite.config.ts, .js, .mjs, .mts or .cjs.
- Very specific: line 15
No Vite config? Stop and tell the user Spotnote needs Vite.
- Very specific: line 16
Check the app's Vite version (its package.json, or node_modules/vite/package.json).
- Very specific: line 34
Add spotnote() to plugins in the Vite config.
- Distinctive: line 46
Keep the file's style: its quotes, semicolons and import order.
- Distinctive: line 47
If it's already there, don't add it twice.
- Very specific: line 53
Ask whether the user wants their agent to pick up notes as they write them (spotnote-mcp), instead of copying each note's prompt by hand.
- Very specific: line 70
Start (or restart) the dev server and open the app: the Spotnote launcher appears on the page.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Set up Spotnote
Spotnote is a dev-only Vite plugin: the developer clicks an element in their running app, writes what should change, and the note names the exact file, line and column. Setup is two edits to the app (a dev dependency and one line in the Vite config), plus, if the user wants it, connecting their agent through MCP.
Never change the app's own code: nothing is imported in it.
1. Find the Vite app
- Look for
vite.config.ts,.js,.mjs,.mtsor.cjs. In a monorepo there can be several: if more than one app has one, ask which app to set up. Nuxt and Astro have none: their Vite plugins go undervite.pluginsinnuxt.config.ts/astro.config.mjs. - No Vite config? Stop and tell the user Spotnote needs Vite. If there's a
next.config.*, say that Next.js isn't supported (it doesn't use Vite). - Check the app's Vite version (its
package.json, ornode_modules/vite/package.json). Spotnote needs Vite 5 or later. - Note the framework from the config's plugins: React (
@vitejs/plugin-reactor-swc), Solid (vite-plugin-solid), Vue (@vitejs/plugin-vue) Svelte (@sveltejs/vite-plugin-svelte) or Astro (astro.config.*). Others, such as Preact, are untested but use the same JSX stamping.
2. Install the package
In the app's folder, with the package manager its lockfile shows:
| Lockfile | Command |
pnpm-lock.yaml | pnpm add -D spotnote |
yarn.lock | yarn add -D spotnote |
bun.lock or bun.lockb | bun add -d spotnote |
package-lock.json, or none | npm install -D spotnote |
In a pnpm or yarn workspace, install it in the app's package, not the repository root.
3. Add the plugin
Add spotnote() to plugins in the Vite config. Anywhere in the array works; order doesn't matter.
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import spotnote from 'spotnote';
export default defineConfig({
plugins: [react(), spotnote()],
});- Keep the file's style: its quotes, semicolons and import order.
- If it's already there, don't add it twice.
- For a config that's a function (
defineConfig(({ mode }) => ({ … }))) or built withmergeConfig, add it to thepluginsarray that the dev server uses. - It only runs in
vite dev;vite buildleaves it out, so production needs no condition.
4. Connect the agent (ask first)
Ask whether the user wants their agent to pick up notes as they write them (spotnote-mcp), instead of copying each note's prompt by hand. If yes, add the server once, for the agent you are:
| Agent | How |
| Claude Code | claude mcp add --scope user spotnote -- npx -y spotnote-mcp |
| Codex | codex mcp add spotnote -- npx -y spotnote-mcp |
| Cursor | In ~/.cursor/mcp.json, under mcpServers: "spotnote": { "command": "npx", "args": ["-y", "spotnote-mcp"] } |
| Gemini CLI | In ~/.gemini/settings.json, under mcpServers: the same entry as Cursor |
Merge into an existing JSON config; don't overwrite the user's other servers. A server added now only shows up in a new agent session, so tell the user to start one.
Port 4848 is the default. If it's taken, the same free port goes in both places: the agent (-e SPOTNOTE_PORT=4900 in the Claude Code command, or "env": { "SPOTNOTE_PORT": "4900" } next to "args"), and the dev server (SPOTNOTE_PORT=4900 pnpm dev).
5. Tell the user what's next
Say what you changed (the dependency, the config file), then:
- Start (or restart) the dev server and open the app: the Spotnote launcher appears on the page.
- Open it, click an element, write a note and press Enter. Without an agent connected, the prompt is copied to the clipboard.
- With the agent connected: in a new session, ask it
Watch my Spotnote notes.Settings → Coding agent in the launcher shows Connected.
Good to know, if it comes up: only .jsx and .tsx files are stamped for JSX (not JSX in .js or .ts), and elements rendered by dependencies point at the nearest element in the user's own code. Docs: https://spotnote-weld.vercel.app
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

