一键导入
designer-notes
Wire designer-notes into the current project — adds the script tag, starts the dev server, and opens in browser for Figma-style feedback commenting
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Wire designer-notes into the current project — adds the script tag, starts the dev server, and opens in browser for Figma-style feedback commenting
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Read a UI feedback markdown file exported by designer-notes and apply targeted code revisions
Read a UI feedback markdown file exported by designer-notes and apply targeted code revisions
Wire designer-notes into the current project — adds the script tag, starts the dev server, and opens in browser for Figma-style feedback commenting
| name | designer-notes |
| description | Wire designer-notes into the current project — adds the script tag, starts the dev server, and opens in browser for Figma-style feedback commenting |
| user-invocable | true |
| argument-hint | <project-path> [filename.html] |
Set up the designer-notes feedback tool in the current project so the user can leave spatially-anchored comments on generated UI.
A PreToolUse hook runs setup.js before this skill executes. It deterministically handles:
designer-notes.js and serve.js exist in ~/.claude/skills/designer-notes/<script src="..."> before </body> (skips if already present)serve.js on port 3847 (auto-increments if in use), or detects an existing server.designer-notes/changelog.html if it doesn't existThe hook passes its results as a JSON systemMessage. Parse it to understand what happened.
The hook output (in the system message) is JSON with this shape:
{
"projectDir": "/path/to/project",
"toolFilesPresent": true,
"htmlFiles": [
{ "file": "index.html", "status": "injected", "scriptSrc": "../../.claude/skills/..." },
{ "file": "about.html", "status": "already-present" }
],
"server": { "status": "started", "port": 3847, "url": "http://localhost:3847" },
"changelog": { "status": "already-exists" },
"config": { "exists": true, "preferences": { "autoApply": false, "defaultModel": "sonnet" } },
"update": { "installed": "1.6.0", "latest": "1.7.0", "command": "npx designer-notes@latest --force" }
}
If no project path was provided (hook message says "no project path provided"), ask the user which project directory to set up. Then run setup.js manually:
node ~/.claude/skills/designer-notes/setup.js --platform claude <project-dir> [filename.html]
If toolFilesPresent is false, tell the user to install: npx designer-notes@latest
If any HTML file has status: "no-body-tag", warn the user.
If update is present, tell the user at the end of your report: designer-notes v{latest} is available (you have v{installed}). Run {command} to update. This is informational — don't block setup.
config.exists is false)If no dn-config.json exists yet, ask the user two questions:
/submit-feedback apply changes without asking for confirmation? (Default: no)Then generate dn-config.json in the project directory:
~/.claude/skills/ for directories containing SKILL.md.claude/skills/ if it existsname and descriptionuser-invocable is true (or not set, since default is true){
"skills": [
{ "name": "arrange", "description": "Improve layout and spacing" }
],
"directives": [
{ "name": "opus", "description": "Use Opus model (most capable)", "group": "model" },
{ "name": "sonnet", "description": "Use Sonnet model (fast + capable)", "group": "model" },
{ "name": "haiku", "description": "Use Haiku model (fastest)", "group": "model" },
{ "name": "high-effort", "description": "Maximum reasoning depth", "group": "effort" },
{ "name": "medium-effort", "description": "Balanced reasoning", "group": "effort" },
{ "name": "low-effort", "description": "Quick pass", "group": "effort" }
],
"preferences": {
"defaultModel": "<user's choice>",
"availableModels": ["opus", "sonnet", "haiku"],
"defaultEffort": "medium-effort",
"autoApply": <user's choice>,
"showUI": true,
"hideToggleButton": false
}
}
If config already exists, skip this step entirely.
If you just created the config (first run for this project), display this onboarding message exactly (replacing {url} with the actual server URL + filename):
designer-notes is ready. Here's how it works:
- Open {url} in your browser
- Press C to comment — click any element to pin your feedback
- Come back here and run
/submit-feedbackwhen you're ready to apply changesComments save automatically as you go. Nothing to export.
This is the only time this message should appear — on subsequent runs, skip it.
Open at the server URL from the hook results (e.g., http://localhost:3847/index.html). Use the first HTML file from the hook results, or the argument if provided.
Tell the user:
C to enter comment mode, click to place pins, Enter to submit, click the blue circle to open the panel/designer-notes — sets up the project (this skill)feedback-[date].md in the project folder/submit-feedback — Claude reads the file and makes targeted revisions