[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71Q90MZSWWH50ADRKZAJXXK":3,"skill-same:01M71Q90MZSWWH50ADRKZAJXXK":81},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":61,"commitSha":62,"skillDirectory":63,"forksCount":13,"repositoryHtmlUrl":64,"repositoryHomepageUrl":6,"ownerHtmlUrl":65,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":66,"install":67,"resources":80},"01M71Q90MZSWWH50ADRKZAJXXK","page-agent",null,"Embed alibaba\u002Fpage-agent into your own web application — a pure-JavaScript in-page GUI agent that ships as a single \u003Cscript> tag or npm package and lets end-users of your site drive the UI with natural language (\"click login, fill username as John\"). No Python, no headless browser, no extension required. Use this skill when the user is a web developer who wants to add an AI copilot to their SaaS \u002F admin panel \u002F B2B tool, make a legacy web app accessible via natural language, or evaluate page-agent against a local (Ollama) or cloud (Qwen \u002F OpenAI \u002F OpenRouter) LLM. NOT for server-side browser automation — point those users to Hermes' built-in browser tool instead.","gjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN","gjbvsjjvgm-sketch","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F278511911?v=4","01M71F3JXKZQ70H2KCHHTXKZDA","01M71PENEVFN19DBZFNHJPCHQ7",0,"MIT","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Foptional-skills\u002Fweb-development\u002Fpage-agent\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"page agent","page","ui","openai","login","openrouter","ollama","server","browser","when","npm package","john","local","copilot","end","browser automation","headless","click","app","b2b","2026-11-10 13:02:02",false,"---\nname: page-agent\ndescription: Embed alibaba\u002Fpage-agent into your own web application — a pure-JavaScript in-page GUI agent that ships as a single \u003Cscript> tag or npm package and lets end-users of your site drive the UI with natural language (\"click login, fill username as John\"). No Python, no headless browser, no extension required. Use this skill when the user is a web developer who wants to add an AI copilot to their SaaS \u002F admin panel \u002F B2B tool, make a legacy web app accessible via natural language, or evaluate page-agent against a local (Ollama) or cloud (Qwen \u002F OpenAI \u002F OpenRouter) LLM. NOT for server-side browser automation — point those users to Hermes' built-in browser tool instead.\nversion: 1.0.0\nauthor: Hermes Agent\nlicense: MIT\nmetadata:\n  hermes:\n    tags: [web, javascript, agent, browser, gui, alibaba, embed, copilot, saas]\n    category: web-development\n---\n\n# page-agent\n\nalibaba\u002Fpage-agent (https:\u002F\u002Fgithub.com\u002Falibaba\u002Fpage-agent, 17k+ stars, MIT) is an in-page GUI agent written in TypeScript. It lives inside a webpage, reads the DOM as text (no screenshots, no multi-modal LLM), and executes natural-language instructions like \"click the login button, then fill username as John\" against the current page. Pure client-side — the host site just includes a script and passes an OpenAI-compatible LLM endpoint.\n\n## When to use this skill\n\nLoad this skill when a user wants to:\n\n- **Ship an AI copilot inside their own web app** (SaaS, admin panel, B2B tool, ERP, CRM) — \"users on my dashboard should be able to type 'create invoice for Acme Corp and email it' instead of clicking through five screens\"\n- **Modernize a legacy web app** without rewriting the frontend — page-agent drops on top of existing DOM\n- **Add accessibility via natural language** — voice \u002F screen-reader users drive the UI by describing what they want\n- **Demo or evaluate page-agent** against a local (Ollama) or hosted (Qwen, OpenAI, OpenRouter) LLM\n- **Build interactive training \u002F product demos** — let an AI walk a user through \"how to submit an expense report\" live in the real UI\n\n## When NOT to use this skill\n\n- User wants **Hermes itself to drive a browser** → use Hermes' built-in browser tool (Browserbase \u002F Camofox). page-agent is the *opposite* direction.\n- User wants **cross-tab automation without embedding** → use Playwright, browser-use, or the page-agent Chrome extension\n- User needs **visual grounding \u002F screenshots** → page-agent is text-DOM only; use a multimodal browser agent instead\n\n## Prerequisites\n\n- Node 22.13+ or 24+, npm 10+ (docs claim 11+ but 10.9 works fine)\n- An OpenAI-compatible LLM endpoint: Qwen (DashScope), OpenAI, Ollama, OpenRouter, or anything speaking `\u002Fv1\u002Fchat\u002Fcompletions`\n- Browser with devtools (for debugging)\n\n## Path 1 — 30-second demo via CDN (no install)\n\nFastest way to see it work. Uses alibaba's free testing LLM proxy — **for evaluation only**, subject to their terms.\n\nAdd to any HTML page (or paste into the devtools console as a bookmarklet):\n\n```html\n\u003Cscript src=\"https:\u002F\u002Fcdn.jsdelivr.net\u002Fnpm\u002Fpage-agent@1.8.0\u002Fdist\u002Fiife\u002Fpage-agent.demo.js\" crossorigin=\"true\">\u003C\u002Fscript>\n```\n\nA panel appears. Type an instruction. Done.\n\nBookmarklet form (drop into bookmarks bar, click on any page):\n\n```javascript\njavascript:(function(){var s=document.createElement('script');s.src='https:\u002F\u002Fcdn.jsdelivr.net\u002Fnpm\u002Fpage-agent@1.8.0\u002Fdist\u002Fiife\u002Fpage-agent.demo.js';document.head.appendChild(s);})();\n```\n\n## Path 2 — npm install into your own web app (production use)\n\nInside an existing web project (React \u002F Vue \u002F Svelte \u002F plain):\n\n```bash\nnpm install page-agent\n```\n\nWire it up with your own LLM endpoint — **never ship the demo CDN to real users**:\n\n```javascript\nimport { PageAgent } from 'page-agent'\n\nconst agent = new PageAgent({\n    model: 'qwen3.5-plus',\n    baseURL: 'https:\u002F\u002Fdashscope.aliyuncs.com\u002Fcompatible-mode\u002Fv1',\n    apiKey: process.env.LLM_API_KEY,   \u002F\u002F never hardcode\n    language: 'en-US',\n})\n\n\u002F\u002F Show the panel for end users:\nagent.panel.show()\n\n\u002F\u002F Or drive it programmatically:\nawait agent.execute('Click submit button, then fill username as John')\n```\n\nProvider examples (any OpenAI-compatible endpoint works):\n\n| Provider | `baseURL` | `model` |\n|----------|-----------|---------|\n| Qwen \u002F DashScope | `https:\u002F\u002Fdashscope.aliyuncs.com\u002Fcompatible-mode\u002Fv1` | `qwen3.5-plus` |\n| OpenAI | `https:\u002F\u002Fapi.openai.com\u002Fv1` | `gpt-4o-mini` |\n| Ollama (local) | `http:\u002F\u002Flocalhost:11434\u002Fv1` | `qwen3:14b` |\n| OpenRouter | `https:\u002F\u002Fopenrouter.ai\u002Fapi\u002Fv1` | `anthropic\u002Fclaude-sonnet-4.6` |\n\n**Key config fields** (passed to `new PageAgent({...})`):\n\n- `model`, `baseURL`, `apiKey` — LLM connection\n- `language` — UI language (`en-US`, `zh-CN`, etc.)\n- Allowlist and data-masking hooks exist for locking down what the agent can touch — see https:\u002F\u002Falibaba.github.io\u002Fpage-agent\u002F for the full option list\n\n**Security.** Don't put your `apiKey` in client-side code for a real deployment — proxy LLM calls through your backend and point `baseURL` at your proxy. The demo CDN exists because alibaba runs that proxy for evaluation.\n\n## Path 3 — clone the source repo (contributing, or hacking on it)\n\nUse this when the user wants to modify page-agent itself, test it against arbitrary sites via a local IIFE bundle, or develop the browser extension.\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Falibaba\u002Fpage-agent.git\ncd page-agent\nnpm ci              # exact lockfile install (or `npm i` to allow updates)\n```\n\nCreate `.env` in the repo root with an LLM endpoint. Example:\n\n```\nLLM_MODEL_NAME=gpt-4o-mini\nLLM_API_KEY=sk-...\nLLM_BASE_URL=https:\u002F\u002Fapi.openai.com\u002Fv1\n```\n\nOllama flavor:\n\n```\nLLM_BASE_URL=http:\u002F\u002Flocalhost:11434\u002Fv1\nLLM_API_KEY=NA\nLLM_MODEL_NAME=qwen3:14b\n```\n\nCommon commands:\n\n```bash\nnpm start           # docs\u002Fwebsite dev server\nnpm run build       # build every package\nnpm run dev:demo    # serve IIFE bundle at http:\u002F\u002Flocalhost:5174\u002Fpage-agent.demo.js\nnpm run dev:ext     # develop the browser extension (WXT + React)\nnpm run build:ext   # build the extension\n```\n\n**Test on any website** using the local IIFE bundle. Add this bookmarklet:\n\n```javascript\njavascript:(function(){var s=document.createElement('script');s.src=`http:\u002F\u002Flocalhost:5174\u002Fpage-agent.demo.js?t=${Math.random()}`;s.onload=()=>console.log('PageAgent ready!');document.head.appendChild(s);})();\n```\n\nThen: `npm run dev:demo`, click the bookmarklet on any page, and the local build injects. Auto-rebuilds on save.\n\n**Warning:** your `.env` `LLM_API_KEY` is inlined into the IIFE bundle during dev builds. Don't share the bundle. Don't commit it. Don't paste the URL into Slack. (Verified: grepping the public dev bundle returns the literal values from `.env`.)\n\n## Repo layout (Path 3)\n\nMonorepo with npm workspaces. Key packages:\n\n| Package | Path | Purpose |\n|---------|------|---------|\n| `page-agent` | `packages\u002Fpage-agent\u002F` | Main entry with UI panel |\n| `@page-agent\u002Fcore` | `packages\u002Fcore\u002F` | Core agent logic, no UI |\n| `@page-agent\u002Fmcp` | `packages\u002Fmcp\u002F` | MCP server (beta) |\n| — | `packages\u002Fllms\u002F` | LLM client |\n| — | `packages\u002Fpage-controller\u002F` | DOM ops + visual feedback |\n| — | `packages\u002Fui\u002F` | Panel + i18n |\n| — | `packages\u002Fextension\u002F` | Chrome\u002FFirefox extension |\n| — | `packages\u002Fwebsite\u002F` | Docs + landing site |\n\n## Verifying it works\n\nAfter Path 1 or Path 2:\n1. Open the page in a browser with devtools open\n2. You should see a floating panel. If not, check the console for errors (most common: CORS on the LLM endpoint, wrong `baseURL`, or a bad API key)\n3. Type a simple instruction matching something visible on the page (\"click the Login link\")\n4. Watch the Network tab — you should see a request to your `baseURL`\n\nAfter Path 3:\n1. `npm run dev:demo` prints `Accepting connections at http:\u002F\u002Flocalhost:5174`\n2. `curl -I http:\u002F\u002Flocalhost:5174\u002Fpage-agent.demo.js` returns `HTTP\u002F1.1 200 OK` with `Content-Type: application\u002Fjavascript`\n3. Click the bookmarklet on any site; panel appears\n\n## Pitfalls\n\n- **Demo CDN in production** — don't. It's rate-limited, uses alibaba's free proxy, and their terms forbid production use.\n- **API key exposure** — any key passed to `new PageAgent({apiKey: ...})` ships in your JS bundle. Always proxy through your own backend for real deployments.\n- **Non-OpenAI-compatible endpoints** fail silently or with cryptic errors. If your provider needs native Anthropic\u002FGemini formatting, use an OpenAI-compatibility proxy (LiteLLM, OpenRouter) in front.\n- **CSP blocks** — sites with strict Content-Security-Policy may refuse to load the CDN script or disallow inline eval. In that case, self-host from your origin.\n- **Restart dev server** after editing `.env` in Path 3 — Vite only reads env at startup.\n- **Node version** — the repo declares `^22.13.0 || >=24`. Node 20 will fail `npm ci` with engine errors.\n- **npm 10 vs 11** — docs say npm 11+; npm 10.9 actually works fine.\n\n## Reference\n\n- Repo: https:\u002F\u002Fgithub.com\u002Falibaba\u002Fpage-agent\n- Docs: https:\u002F\u002Falibaba.github.io\u002Fpage-agent\u002F\n- License: MIT (built on browser-use's DOM processing internals, Copyright 2024 Gregor Zunic)\n","# page-agent\n\nalibaba\u002Fpage-agent (https:\u002F\u002Fgithub.com\u002Falibaba\u002Fpage-agent, 17k+ stars, MIT) is an in-page GUI agent written in TypeScript. It lives inside a webpage, reads the DOM as text (no screenshots, no multi-modal LLM), and executes natural-language instructions like \"click the login button, then fill username as John\" against the current page. Pure client-side — the host site just includes a script and passes an OpenAI-compatible LLM endpoint.\n\n## When to use this skill\n\nLoad this skill when a user wants to:\n\n- **Ship an AI copilot inside their own web app** (SaaS, admin panel, B2B tool, ERP, CRM) — \"users on my dashboard should be able to type 'create invoice for Acme Corp and email it' instead of clicking through five screens\"\n- **Modernize a legacy web app** without rewriting the frontend — page-agent drops on top of existing DOM\n- **Add accessibility via natural language** — voice \u002F screen-reader users drive the UI by describing what they want\n- **Demo or evaluate page-agent** against a local (Ollama) or hosted (Qwen, OpenAI, OpenRouter) LLM\n- **Build interactive training \u002F product demos** — let an AI walk a user through \"how to submit an expense report\" live in the real UI\n\n## When NOT to use this skill\n\n- User wants **Hermes itself to drive a browser** → use Hermes' built-in browser tool (Browserbase \u002F Camofox). page-agent is the *opposite* direction.\n- User wants **cross-tab automation without embedding** → use Playwright, browser-use, or the page-agent Chrome extension\n- User needs **visual grounding \u002F screenshots** → page-agent is text-DOM only; use a multimodal browser agent instead\n\n## Prerequisites\n\n- Node 22.13+ or 24+, npm 10+ (docs claim 11+ but 10.9 works fine)\n- An OpenAI-compatible LLM endpoint: Qwen (DashScope), OpenAI, Ollama, OpenRouter, or anything speaking `\u002Fv1\u002Fchat\u002Fcompletions`\n- Browser with devtools (for debugging)\n\n## Path 1 — 30-second demo via CDN (no install)\n\nFastest way to see it work. Uses alibaba's free testing LLM proxy — **for evaluation only**, subject to their terms.\n\nAdd to any HTML page (or paste into the devtools console as a bookmarklet):\n\n```html\n\u003Cscript src=\"https:\u002F\u002Fcdn.jsdelivr.net\u002Fnpm\u002Fpage-agent@1.8.0\u002Fdist\u002Fiife\u002Fpage-agent.demo.js\" crossorigin=\"true\">\u003C\u002Fscript>\n```\n\nA panel appears. Type an instruction. Done.\n\nBookmarklet form (drop into bookmarks bar, click on any page):\n\n```javascript\njavascript:(function(){var s=document.createElement('script');s.src='https:\u002F\u002Fcdn.jsdelivr.net\u002Fnpm\u002Fpage-agent@1.8.0\u002Fdist\u002Fiife\u002Fpage-agent.demo.js';document.head.appendChild(s);})();\n```\n\n## Path 2 — npm install into your own web app (production use)\n\nInside an existing web project (React \u002F Vue \u002F Svelte \u002F plain):\n\n```bash\nnpm install page-agent\n```\n\nWire it up with your own LLM endpoint — **never ship the demo CDN to real users**:\n\n```javascript\nimport { PageAgent } from 'page-agent'\n\nconst agent = new PageAgent({\n    model: 'qwen3.5-plus',\n    baseURL: 'https:\u002F\u002Fdashscope.aliyuncs.com\u002Fcompatible-mode\u002Fv1',\n    apiKey: process.env.LLM_API_KEY,   \u002F\u002F never hardcode\n    language: 'en-US',\n})\n\n\u002F\u002F Show the panel for end users:\nagent.panel.show()\n\n\u002F\u002F Or drive it programmatically:\nawait agent.execute('Click submit button, then fill username as John')\n```\n\nProvider examples (any OpenAI-compatible endpoint works):\n\n| Provider | `baseURL` | `model` |\n|----------|-----------|---------|\n| Qwen \u002F DashScope | `https:\u002F\u002Fdashscope.aliyuncs.com\u002Fcompatible-mode\u002Fv1` | `qwen3.5-plus` |\n| OpenAI | `https:\u002F\u002Fapi.openai.com\u002Fv1` | `gpt-4o-mini` |\n| Ollama (local) | `http:\u002F\u002Flocalhost:11434\u002Fv1` | `qwen3:14b` |\n| OpenRouter | `https:\u002F\u002Fopenrouter.ai\u002Fapi\u002Fv1` | `anthropic\u002Fclaude-sonnet-4.6` |\n\n**Key config fields** (passed to `new PageAgent({...})`):\n\n- `model`, `baseURL`, `apiKey` — LLM connection\n- `language` — UI language (`en-US`, `zh-CN`, etc.)\n- Allowlist and data-masking hooks exist for locking down what the agent can touch — see https:\u002F\u002Falibaba.github.io\u002Fpage-agent\u002F for the full option list\n\n**Security.** Don't put your `apiKey` in client-side code for a real deployment — proxy LLM calls through your backend and point `baseURL` at your proxy. The demo CDN exists because alibaba runs that proxy for evaluation.\n\n## Path 3 — clone the source repo (contributing, or hacking on it)\n\nUse this when the user wants to modify page-agent itself, test it against arbitrary sites via a local IIFE bundle, or develop the browser extension.\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Falibaba\u002Fpage-agent.git\ncd page-agent\nnpm ci              # exact lockfile install (or `npm i` to allow updates)\n```\n\nCreate `.env` in the repo root with an LLM endpoint. Example:\n\n```\nLLM_MODEL_NAME=gpt-4o-mini\nLLM_API_KEY=sk-...\nLLM_BASE_URL=https:\u002F\u002Fapi.openai.com\u002Fv1\n```\n\nOllama flavor:\n\n```\nLLM_BASE_URL=http:\u002F\u002Flocalhost:11434\u002Fv1\nLLM_API_KEY=NA\nLLM_MODEL_NAME=qwen3:14b\n```\n\nCommon commands:\n\n```bash\nnpm start           # docs\u002Fwebsite dev server\nnpm run build       # build every package\nnpm run dev:demo    # serve IIFE bundle at http:\u002F\u002Flocalhost:5174\u002Fpage-agent.demo.js\nnpm run dev:ext     # develop the browser extension (WXT + React)\nnpm run build:ext   # build the extension\n```\n\n**Test on any website** using the local IIFE bundle. Add this bookmarklet:\n\n```javascript\njavascript:(function(){var s=document.createElement('script');s.src=`http:\u002F\u002Flocalhost:5174\u002Fpage-agent.demo.js?t=${Math.random()}`;s.onload=()=>console.log('PageAgent ready!');document.head.appendChild(s);})();\n```\n\nThen: `npm run dev:demo`, click the bookmarklet on any page, and the local build injects. Auto-rebuilds on save.\n\n**Warning:** your `.env` `LLM_API_KEY` is inlined into the IIFE bundle during dev builds. Don't share the bundle. Don't commit it. Don't paste the URL into Slack. (Verified: grepping the public dev bundle returns the literal values from `.env`.)\n\n## Repo layout (Path 3)\n\nMonorepo with npm workspaces. Key packages:\n\n| Package | Path | Purpose |\n|---------|------|---------|\n| `page-agent` | `packages\u002Fpage-agent\u002F` | Main entry with UI panel |\n| `@page-agent\u002Fcore` | `packages\u002Fcore\u002F` | Core agent logic, no UI |\n| `@page-agent\u002Fmcp` | `packages\u002Fmcp\u002F` | MCP server (beta) |\n| — | `packages\u002Fllms\u002F` | LLM client |\n| — | `packages\u002Fpage-controller\u002F` | DOM ops + visual feedback |\n| — | `packages\u002Fui\u002F` | Panel + i18n |\n| — | `packages\u002Fextension\u002F` | Chrome\u002FFirefox extension |\n| — | `packages\u002Fwebsite\u002F` | Docs + landing site |\n\n## Verifying it works\n\nAfter Path 1 or Path 2:\n1. Open the page in a browser with devtools open\n2. You should see a floating panel. If not, check the console for errors (most common: CORS on the LLM endpoint, wrong `baseURL`, or a bad API key)\n3. Type a simple instruction matching something visible on the page (\"click the Login link\")\n4. Watch the Network tab — you should see a request to your `baseURL`\n\nAfter Path 3:\n1. `npm run dev:demo` prints `Accepting connections at http:\u002F\u002Flocalhost:5174`\n2. `curl -I http:\u002F\u002Flocalhost:5174\u002Fpage-agent.demo.js` returns `HTTP\u002F1.1 200 OK` with `Content-Type: application\u002Fjavascript`\n3. Click the bookmarklet on any site; panel appears\n\n## Pitfalls\n\n- **Demo CDN in production** — don't. It's rate-limited, uses alibaba's free proxy, and their terms forbid production use.\n- **API key exposure** — any key passed to `new PageAgent({apiKey: ...})` ships in your JS bundle. Always proxy through your own backend for real deployments.\n- **Non-OpenAI-compatible endpoints** fail silently or with cryptic errors. If your provider needs native Anthropic\u002FGemini formatting, use an OpenAI-compatibility proxy (LiteLLM, OpenRouter) in front.\n- **CSP blocks** — sites with strict Content-Security-Policy may refuse to load the CDN script or disallow inline eval. In that case, self-host from your origin.\n- **Restart dev server** after editing `.env` in Path 3 — Vite only reads env at startup.\n- **Node version** — the repo declares `^22.13.0 || >=24`. Node 20 will fail `npm ci` with engine errors.\n- **npm 10 vs 11** — docs say npm 11+; npm 10.9 actually works fine.\n\n## Reference\n\n- Repo: https:\u002F\u002Fgithub.com\u002Falibaba\u002Fpage-agent\n- Docs: https:\u002F\u002Falibaba.github.io\u002Fpage-agent\u002F\n- License: MIT (built on browser-use's DOM processing internals, Copyright 2024 Gregor Zunic)\n",{"name":5,"author":48,"license":14,"version":49,"metadata":50,"description":7},"Hermes Agent","1.0.0",{"hermes":51},{"tags":52,"category":60},[53,54,55,31,56,57,58,36,59],"web","javascript","agent","gui","alibaba","embed","saas","web-development","main","6746276ba18cb774853eb61b3b9399658bc9bc5c","core\u002Foptional-skills\u002Fweb-development\u002Fpage-agent","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch","2026-04-28 17:01:03",{"source":8,"skillName":5,"commands":68,"prompt":78,"zipAvailable":79},[69,72,75],{"tool":70,"command":71},"npx","npx skills add gjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN --skill page-agent",{"tool":73,"command":74},"bunx","bunx skills add gjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN --skill page-agent",{"tool":76,"command":77},"pnpm","pnpm dlx skills add gjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN --skill page-agent","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Foptional-skills\u002Fweb-development\u002Fpage-agent\u002FSKILL.md",true,[],[82,123,148,165,182,201],{"skillNo":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":102,"publishedAt":43},"01M71QG27G1R2H2ZWEG4S0WTZT","writing-plans","Write implementation plans: bite-sized tasks, paths, code.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fsoftware-development\u002Fwriting-plans\u002FSKILL.md",[88,91,94,99],{"categoryNo":89,"categoryName":90,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":92,"categoryName":93,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":95,"categoryName":96,"taxonomyType":97,"taxonomyTypeDesc":98},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",{"categoryNo":100,"categoryName":101,"taxonomyType":97,"taxonomyTypeDesc":98},"01JBSEEDCAT000000000000036","内容创作者",[103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122],"writing","writing plans","plans","test-driven","test-driven-development","superpowers","design","workflow","code","tasks","subagent","code-review","review","documentation","write","paths","planning","development","test","implementation",{"skillNo":124,"name":107,"nameZh":6,"description":125,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":126,"categories":127,"keywords":134,"publishedAt":43},"01M71QFZYRTJXMAE551MRAKZ14","TDD: enforce RED-GREEN-REFACTOR, tests before code.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fsoftware-development\u002Ftest-driven-development\u002FSKILL.md",[128,131],{"categoryNo":129,"categoryName":130,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":132,"categoryName":133,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量",[135,120,121,136,137,138,139,108,103,140,111,113,141,142,143,144,145,105,146,147],"test driven development","driven","green","red-green-refactor","testing","debugging","systematic","refactor","systematic-debugging","enforce","tests","tdd","quality",{"skillNo":149,"name":143,"nameZh":6,"description":150,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":154,"publishedAt":43},"01M71QFWR5Q8EYEQ6MCS3SM6MC","4-phase root cause debugging: understand bugs before fixing.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fsoftware-development\u002Fsystematic-debugging\u002FSKILL.md",[153],{"categoryNo":132,"categoryName":133,"taxonomyType":20,"taxonomyTypeDesc":21},[155,140,141,106,156,157,107,108,103,113,158,159,120,160,105,161,121,162,163,164],"systematic debugging","problem","problem-solving","phase","bugs","root cause","root-cause","investigation","understand","hermes",{"skillNo":166,"name":167,"nameZh":6,"description":168,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":169,"categories":170,"keywords":174,"publishedAt":43},"01M71QFS9S04MD8JP747W5WM0N","subagent-driven-development","Execute plans via delegate_task subagents (2-stage review).","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fsoftware-development\u002Fsubagent-driven-development\u002FSKILL.md",[171,172,173],{"categoryNo":92,"categoryName":93,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":100,"categoryName":101,"taxonomyType":97,"taxonomyTypeDesc":98},[175,113,120,136,106,107,176,177,108,103,110,111,114,115,178,179,105,180,181,121],"subagent driven development","delegate","delegation","subagents","parallel","stage","task",{"skillNo":183,"name":184,"nameZh":6,"description":185,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":186,"categories":187,"keywords":190,"publishedAt":43},"01M71QFQ1DBCVAZ511MXFE6T2V","requesting-code-review","Pre-commit review: security scan, quality gates, auto-fix.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fsoftware-development\u002Frequesting-code-review\u002FSKILL.md",[188,189],{"categoryNo":129,"categoryName":130,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":95,"categoryName":96,"taxonomyType":97,"taxonomyTypeDesc":98},[191,192,111,115,106,107,193,194,108,195,103,196,197,113,114,198,199,120,200,105],"code review","requesting code review","fix","auto-fix","auto","security scan","commit","verification","security","scan",{"skillNo":202,"name":203,"nameZh":6,"description":204,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":205,"categories":206,"keywords":208,"publishedAt":43},"01M71QFM7KWM540YR67FRN807Q","python-debugpy","Debug Python: pdb REPL + debugpy remote (DAP).","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fsoftware-development\u002Fpython-debugpy\u002FSKILL.md",[207],{"categoryNo":95,"categoryName":96,"taxonomyType":97,"taxonomyTypeDesc":98},[209,210,211,212,213,214,215,216,140,141,217,218,219,143,220,221,222,223,164,224],"debugpy","python debugpy","python","dap","inspect","post-mortem","pdb","remote","debugger","node","commands","debug","post","breakpoints","node-inspect","tui"]