Open a browser with visual annotation tools. The user clicks elements on their site and leaves feedback — the agent reads annotations and makes changes. Use this when the user wants to point at specific elements to fix, tweak, or redesign.
npx skills add https://github.com/Automattic/studio --skill annotate
Open a browser where the user can click elements on their WordPress site and annotate them with feedback. You read those annotations and make the requested changes.
When the user invokes this skill, introduce yourself:
> Visual Annotations — I'll open your site in a browser with an annotation toolbar. Click any element, type your feedback, and I'll fix it.
Then identify the target site. If there's an active site, use it. If there are multiple, ask which one.
Call site_info to get the site URL — do NOT guess the URL or port.
Use the open_annotation_browser tool with the site URL. This opens a headed browser with the Studio annotation inspector injected — a small dark pill in the bottom-right with "Annotate" and "Done" buttons.
Tell the user:
> The browser is open. Click Annotate in the bottom-right toolbar, click any element on the page, type your feedback, then click Done when you're finished.
Call wait_for_annotations. This blocks until the user clicks Done and returns the annotations they wrote, captured straight from the page.
Each annotation includes:
Address the annotations in the order they were submitted. When you reference one for the user, identify the element by what they can see — the tag name plus nearbyText — rather than by selector. Selectors are noisy and unreadable; use them only for implementation.
If the user wants to re-annotate, point them back to the open browser and call wait_for_annotations again — the inspector keeps working without re-opening the browser.
For each annotation:
wp_cli with post list --post_type=wp_template --format=json to check if it's in a template overridewp_cli with eval "echo wp_get_custom_css();" to check existing custom CSSwp-block-* classes) and modify accordinglyAfter all annotations are addressed, take a screenshot and confirm with the user.
The browser window auto-closes about 10 seconds after the user clicks Done, so by the time you finish making changes it's already gone. If they want another round, run the skill again from the top — /annotate opens a fresh browser. Don't try to "reattach" to the previous window.
Always prefer WordPress APIs over direct file edits or custom plugins.
Use Global Styles custom CSS — never create throwaway plugins:
wp eval 'echo wp_get_custom_css();' → read current custom CSS
wp eval 'wp_update_custom_css_post("CSS HERE");' → update custom CSS
Create template overrides via the database, not file edits:
wp post create --post_type=wp_template --post_name="theme-slug//template-name" --post_content="BLOCK MARKUP" --post_status=publish
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
Use this skill to query your Google NotebookLM notebooks directly from Claude Code for source-grounded, citation-backed answers from Gemini. Browser automation, library management, persistent auth. Drastically reduced hallucinations through document-only responses.
Complete browser automation with Playwright. Auto-detects dev servers, writes clean test scripts to /tmp. Test pages, fill forms, take screenshots, check responsive design, validate UX, test login flows, check links, automate any browser task. Use when user wants to test websites, automate browser interactions, validate web functionality, or perform any browser-based testing.
Automate Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify, etc.) using agent-browser via Chrome DevTools Protocol. Use when the user needs to interact with an Electron app, automate a desktop app, connect to a running app, control a native app, or test an Electron application. Triggers include "automate Slack app", "control VS Code", "interact with Discord app", "test this Electron app", "connect to desktop app", or any task requiring automation of a native Electron application.
Use when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) via `playwright-cli` or the bundled wrapper script.
Use when the user explicitly asks for a desktop or system screenshot (full screen, specific app or window, or a pixel region), or when tool-specific capture capabilities are unavailable and an OS-level capture is needed.
A fast Rust-based headless browser automation CLI with Node.js fallback that enables AI agents to navigate, click, type, and snapshot pages via structured commands.
| 所有联网操作必须通过此 skill 处理,包括:搜索、网页抓取、登录后操作、动态页面交互等。 触发场景:用户要求搜索信息、查看网页内容、访问需要登录的网站、操作网页界面、抓取社交媒体内容(小红书、微博、推特等)、读取动态渲染页面、以及任何需要真实浏览器环境的网络任务。
Take automattic/annotate from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.