[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6K1HTWPT8QN6151XGTPP32P":3,"skill-same:01M6K1HTWPT8QN6151XGTPP32P":128},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":29,"publishedAt":49,"linkOnly":50,"markdownContent":51,"markdownBody":52,"frontMatter":53,"refName":105,"commitSha":106,"skillDirectory":107,"forksCount":108,"repositoryHtmlUrl":109,"repositoryHomepageUrl":6,"ownerHtmlUrl":110,"ownerBlogUrl":111,"ownerDescription":112,"updatedAt":113,"install":114,"resources":127},"01M6K1HTWPT8QN6151XGTPP32P","agent-browser",null,"Browser automation CLI for AI agents. Use when the user needs to interact with websites, verify dev server output, test web apps, navigate pages, fill forms, click buttons, take screenshots, extract data, or automate any browser task. Also triggers when a dev server starts so you can verify it visually.","NagyVikt\u002Fcodex-plugins","NagyVikt","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F137165288?v=4","01M6K0SJ3R2DAZRJKJJS10VN87","Viktor Nagy","01M6K0SJ9HXN0GBD91QDQ9WNVV",2,"MIT","https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvercel\u002Fskills\u002Fagent-browser\u002FSKILL.md",[18,23,26],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[30,31,32,5,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],"agent browser","browser","test web","you","URL","form","take screenshot","apps","cypress","app","forms","screenshots","take","server","ui","screenshot","run","config","browser automation","2026-11-10 10:12:30",false,"---\nname: agent-browser\ndescription: Browser automation CLI for AI agents. Use when the user needs to interact with websites, verify dev server output, test web apps, navigate pages, fill forms, click buttons, take screenshots, extract data, or automate any browser task. Also triggers when a dev server starts so you can verify it visually.\nmetadata:\n  priority: 3\n  docs:\n    - \"https:\u002F\u002Fopenai.com\u002Findex\u002Fintroducing-codex\u002F\"\n  pathPatterns:\n    - 'agent-browser.json'\n    - 'playwright.config.*'\n    - 'e2e\u002F**'\n    - 'tests\u002Fe2e\u002F**'\n    - 'test\u002Fe2e\u002F**'\n    - 'cypress\u002F**'\n    - 'cypress.config.*'\n  bashPatterns:\n    - '\\bagent-browser\\b'\n    - '\\bnext\\s+dev\\b'\n    - '\\bnpm\\s+run\\s+dev\\b'\n    - '\\bpnpm\\s+dev\\b'\n    - '\\bbun\\s+run\\s+dev\\b'\n    - '\\byarn\\s+dev\\b'\n    - '\\bvite\\b'\n    - '\\bnuxt\\s+dev\\b'\n    - '\\bvercel\\s+dev\\b'\n    - '\\blocalhost:\\d+'\n    - '\\b127\\.0\\.0\\.1:\\d+'\n    - '\\bcurl\\s+.*localhost'\n    - '\\bopen\\s+https?:\u002F\u002F'\n    - '\\bplaywright\\b'\n    - '\\bcypress\\b'\nretrieval:\n  aliases:\n    - browser automation\n    - puppeteer\n    - playwright\n    - web scraping\n  intents:\n    - automate browser\n    - take screenshot\n    - test web app\n    - fill form\n    - click button\n  entities:\n    - Puppeteer\n    - Playwright\n    - screenshot\n    - browser\n    - headless\nchainTo:\n  -\n    pattern: 'localhost:\\d+|127\\.0\\.0\\.1:\\d+'\n    targetSkill: agent-browser-verify\n    message: 'Dev server URL detected — loading browser verification skill to run a visual gut-check (page loads, console errors, key UI elements).'\n  -\n    pattern: 'playwright\\.config|cypress\\.config|\\.spec\\.(ts|js)|\\.test\\.(ts|js).*browser'\n    targetSkill: nextjs\n    message: 'End-to-end test configuration detected — loading Next.js guidance for framework-aware test setup and dev server integration.'\n\n---\n\n# Browser Automation with agent-browser\n\nWhen a dev server is running or the user asks to verify, test, or interact with a web page, use `agent-browser` to automate the browser.\n\n## Core Workflow\n\nEvery browser automation follows this pattern:\n\n1. **Navigate**: `agent-browser open \u003Curl>`\n2. **Snapshot**: `agent-browser snapshot -i` (get element refs like `@e1`, `@e2`)\n3. **Interact**: Use refs to click, fill, select\n4. **Re-snapshot**: After navigation or DOM changes, get fresh refs\n\n```bash\nagent-browser open http:\u002F\u002Flocalhost:3000\nagent-browser wait --load networkidle\nagent-browser snapshot -i\n```\n\n## Dev Server Verification\n\nWhen a dev server starts, use agent-browser to verify it's working:\n\n```bash\n# After starting a dev server (next dev, vite, etc.)\nagent-browser open http:\u002F\u002Flocalhost:3000\nagent-browser wait --load networkidle\nagent-browser screenshot dev-check.png\nagent-browser snapshot -i\n```\n\n## Command Chaining\n\nCommands can be chained with `&&`. The browser persists between commands via a background daemon.\n\n```bash\nagent-browser open http:\u002F\u002Flocalhost:3000 && agent-browser wait --load networkidle && agent-browser snapshot -i\n```\n\n## Essential Commands\n\n```bash\n# Navigation\nagent-browser open \u003Curl>              # Navigate (aliases: goto, navigate)\nagent-browser close                   # Close browser\n\n# Snapshot\nagent-browser snapshot -i             # Interactive elements with refs\nagent-browser snapshot -i -C          # Include cursor-interactive elements\nagent-browser snapshot -s \"#selector\" # Scope to CSS selector\n\n# Interaction (use @refs from snapshot)\nagent-browser click @e1               # Click element\nagent-browser fill @e2 \"text\"         # Clear and type text\nagent-browser type @e2 \"text\"         # Type without clearing\nagent-browser select @e1 \"option\"     # Select dropdown option\nagent-browser check @e1               # Check checkbox\nagent-browser press Enter             # Press key\nagent-browser scroll down 500         # Scroll page\n\n# Get information\nagent-browser get text @e1            # Get element text\nagent-browser get url                 # Get current URL\nagent-browser get title               # Get page title\n\n# Wait\nagent-browser wait @e1                # Wait for element\nagent-browser wait --load networkidle # Wait for network idle\nagent-browser wait --url \"**\u002Fpage\"    # Wait for URL pattern\nagent-browser wait 2000               # Wait milliseconds\n\n# Capture\nagent-browser screenshot              # Screenshot to temp dir\nagent-browser screenshot --full       # Full page screenshot\nagent-browser screenshot --annotate   # Annotated screenshot with numbered labels\nagent-browser pdf output.pdf          # Save as PDF\n\n# Diff (compare page states)\nagent-browser diff snapshot           # Compare current vs last snapshot\nagent-browser diff screenshot --baseline before.png  # Visual pixel diff\n```\n\n## Common Patterns\n\n### Form Submission\n\n```bash\nagent-browser open http:\u002F\u002Flocalhost:3000\u002Fsignup\nagent-browser snapshot -i\nagent-browser fill @e1 \"Jane Doe\"\nagent-browser fill @e2 \"jane@example.com\"\nagent-browser click @e5\nagent-browser wait --load networkidle\n```\n\n### Authentication with State Persistence\n\n```bash\n# Login once and save state\nagent-browser open http:\u002F\u002Flocalhost:3000\u002Flogin\nagent-browser snapshot -i\nagent-browser fill @e1 \"$USERNAME\"\nagent-browser fill @e2 \"$PASSWORD\"\nagent-browser click @e3\nagent-browser wait --url \"**\u002Fdashboard\"\nagent-browser state save auth.json\n\n# Reuse in future sessions\nagent-browser state load auth.json\nagent-browser open http:\u002F\u002Flocalhost:3000\u002Fdashboard\n```\n\n### Data Extraction\n\n```bash\nagent-browser open http:\u002F\u002Flocalhost:3000\u002Fproducts\nagent-browser snapshot -i\nagent-browser get text @e5\nagent-browser get text body > page.txt\n```\n\n### Visual Debugging\n\n```bash\nagent-browser --headed open http:\u002F\u002Flocalhost:3000\nagent-browser highlight @e1\nagent-browser record start demo.webm\n```\n\n## Ref Lifecycle (Important)\n\nRefs (`@e1`, `@e2`, etc.) are invalidated when the page changes. Always re-snapshot after:\n\n- Clicking links or buttons that navigate\n- Form submissions\n- Dynamic content loading (dropdowns, modals)\n\n```bash\nagent-browser click @e5              # Navigates to new page\nagent-browser snapshot -i            # MUST re-snapshot\nagent-browser click @e1              # Use new refs\n```\n\n## Annotated Screenshots (Vision Mode)\n\nUse `--annotate` for screenshots with numbered labels on interactive elements:\n\n```bash\nagent-browser screenshot --annotate\n# Output: [1] @e1 button \"Submit\", [2] @e2 link \"Home\", ...\nagent-browser click @e2\n```\n\n## Semantic Locators (Alternative to Refs)\n\n```bash\nagent-browser find text \"Sign In\" click\nagent-browser find label \"Email\" fill \"user@test.com\"\nagent-browser find role button click --name \"Submit\"\n```\n\n## JavaScript Evaluation\n\n```bash\n# Simple expressions\nagent-browser eval 'document.title'\n\n# Complex JS: use --stdin with heredoc\nagent-browser eval --stdin \u003C\u003C'EVALEOF'\nJSON.stringify(\n  Array.from(document.querySelectorAll(\"img\"))\n    .filter(i => !i.alt)\n    .map(i => ({ src: i.src.split(\"\u002F\").pop(), width: i.width }))\n)\nEVALEOF\n```\n\n## Session Management\n\n```bash\nagent-browser --session site1 open http:\u002F\u002Flocalhost:3000\nagent-browser --session site2 open http:\u002F\u002Flocalhost:3001\nagent-browser session list\nagent-browser close  # Always close when done\n```\n\n## Timeouts and Slow Pages\n\n```bash\nagent-browser wait --load networkidle  # Best for slow pages\nagent-browser wait \"#content\"          # Wait for specific element\nagent-browser wait --url \"**\u002Fdashboard\"  # Wait for URL pattern\nagent-browser wait 5000                # Fixed wait (last resort)\n```\n","# Browser Automation with agent-browser\n\nWhen a dev server is running or the user asks to verify, test, or interact with a web page, use `agent-browser` to automate the browser.\n\n## Core Workflow\n\nEvery browser automation follows this pattern:\n\n1. **Navigate**: `agent-browser open \u003Curl>`\n2. **Snapshot**: `agent-browser snapshot -i` (get element refs like `@e1`, `@e2`)\n3. **Interact**: Use refs to click, fill, select\n4. **Re-snapshot**: After navigation or DOM changes, get fresh refs\n\n```bash\nagent-browser open http:\u002F\u002Flocalhost:3000\nagent-browser wait --load networkidle\nagent-browser snapshot -i\n```\n\n## Dev Server Verification\n\nWhen a dev server starts, use agent-browser to verify it's working:\n\n```bash\n# After starting a dev server (next dev, vite, etc.)\nagent-browser open http:\u002F\u002Flocalhost:3000\nagent-browser wait --load networkidle\nagent-browser screenshot dev-check.png\nagent-browser snapshot -i\n```\n\n## Command Chaining\n\nCommands can be chained with `&&`. The browser persists between commands via a background daemon.\n\n```bash\nagent-browser open http:\u002F\u002Flocalhost:3000 && agent-browser wait --load networkidle && agent-browser snapshot -i\n```\n\n## Essential Commands\n\n```bash\n# Navigation\nagent-browser open \u003Curl>              # Navigate (aliases: goto, navigate)\nagent-browser close                   # Close browser\n\n# Snapshot\nagent-browser snapshot -i             # Interactive elements with refs\nagent-browser snapshot -i -C          # Include cursor-interactive elements\nagent-browser snapshot -s \"#selector\" # Scope to CSS selector\n\n# Interaction (use @refs from snapshot)\nagent-browser click @e1               # Click element\nagent-browser fill @e2 \"text\"         # Clear and type text\nagent-browser type @e2 \"text\"         # Type without clearing\nagent-browser select @e1 \"option\"     # Select dropdown option\nagent-browser check @e1               # Check checkbox\nagent-browser press Enter             # Press key\nagent-browser scroll down 500         # Scroll page\n\n# Get information\nagent-browser get text @e1            # Get element text\nagent-browser get url                 # Get current URL\nagent-browser get title               # Get page title\n\n# Wait\nagent-browser wait @e1                # Wait for element\nagent-browser wait --load networkidle # Wait for network idle\nagent-browser wait --url \"**\u002Fpage\"    # Wait for URL pattern\nagent-browser wait 2000               # Wait milliseconds\n\n# Capture\nagent-browser screenshot              # Screenshot to temp dir\nagent-browser screenshot --full       # Full page screenshot\nagent-browser screenshot --annotate   # Annotated screenshot with numbered labels\nagent-browser pdf output.pdf          # Save as PDF\n\n# Diff (compare page states)\nagent-browser diff snapshot           # Compare current vs last snapshot\nagent-browser diff screenshot --baseline before.png  # Visual pixel diff\n```\n\n## Common Patterns\n\n### Form Submission\n\n```bash\nagent-browser open http:\u002F\u002Flocalhost:3000\u002Fsignup\nagent-browser snapshot -i\nagent-browser fill @e1 \"Jane Doe\"\nagent-browser fill @e2 \"jane@example.com\"\nagent-browser click @e5\nagent-browser wait --load networkidle\n```\n\n### Authentication with State Persistence\n\n```bash\n# Login once and save state\nagent-browser open http:\u002F\u002Flocalhost:3000\u002Flogin\nagent-browser snapshot -i\nagent-browser fill @e1 \"$USERNAME\"\nagent-browser fill @e2 \"$PASSWORD\"\nagent-browser click @e3\nagent-browser wait --url \"**\u002Fdashboard\"\nagent-browser state save auth.json\n\n# Reuse in future sessions\nagent-browser state load auth.json\nagent-browser open http:\u002F\u002Flocalhost:3000\u002Fdashboard\n```\n\n### Data Extraction\n\n```bash\nagent-browser open http:\u002F\u002Flocalhost:3000\u002Fproducts\nagent-browser snapshot -i\nagent-browser get text @e5\nagent-browser get text body > page.txt\n```\n\n### Visual Debugging\n\n```bash\nagent-browser --headed open http:\u002F\u002Flocalhost:3000\nagent-browser highlight @e1\nagent-browser record start demo.webm\n```\n\n## Ref Lifecycle (Important)\n\nRefs (`@e1`, `@e2`, etc.) are invalidated when the page changes. Always re-snapshot after:\n\n- Clicking links or buttons that navigate\n- Form submissions\n- Dynamic content loading (dropdowns, modals)\n\n```bash\nagent-browser click @e5              # Navigates to new page\nagent-browser snapshot -i            # MUST re-snapshot\nagent-browser click @e1              # Use new refs\n```\n\n## Annotated Screenshots (Vision Mode)\n\nUse `--annotate` for screenshots with numbered labels on interactive elements:\n\n```bash\nagent-browser screenshot --annotate\n# Output: [1] @e1 button \"Submit\", [2] @e2 link \"Home\", ...\nagent-browser click @e2\n```\n\n## Semantic Locators (Alternative to Refs)\n\n```bash\nagent-browser find text \"Sign In\" click\nagent-browser find label \"Email\" fill \"user@test.com\"\nagent-browser find role button click --name \"Submit\"\n```\n\n## JavaScript Evaluation\n\n```bash\n# Simple expressions\nagent-browser eval 'document.title'\n\n# Complex JS: use --stdin with heredoc\nagent-browser eval --stdin \u003C\u003C'EVALEOF'\nJSON.stringify(\n  Array.from(document.querySelectorAll(\"img\"))\n    .filter(i => !i.alt)\n    .map(i => ({ src: i.src.split(\"\u002F\").pop(), width: i.width }))\n)\nEVALEOF\n```\n\n## Session Management\n\n```bash\nagent-browser --session site1 open http:\u002F\u002Flocalhost:3000\nagent-browser --session site2 open http:\u002F\u002Flocalhost:3001\nagent-browser session list\nagent-browser close  # Always close when done\n```\n\n## Timeouts and Slow Pages\n\n```bash\nagent-browser wait --load networkidle  # Best for slow pages\nagent-browser wait \"#content\"          # Wait for specific element\nagent-browser wait --url \"**\u002Fdashboard\"  # Wait for URL pattern\nagent-browser wait 5000                # Fixed wait (last resort)\n```\n",{"name":5,"chainTo":54,"metadata":63,"retrieval":91,"description":7},[55,59],{"message":56,"pattern":57,"targetSkill":58},"Dev server URL detected — loading browser verification skill to run a visual gut-check (page loads, console errors, key UI elements).","localhost:\\d+|127\\.0\\.0\\.1:\\d+","agent-browser-verify",{"message":60,"pattern":61,"targetSkill":62},"End-to-end test configuration detected — loading Next.js guidance for framework-aware test setup and dev server integration.","playwright\\.config|cypress\\.config|\\.spec\\.(ts|js)|\\.test\\.(ts|js).*browser","nextjs",{"docs":64,"priority":66,"bashPatterns":67,"pathPatterns":83},[65],"https:\u002F\u002Fopenai.com\u002Findex\u002Fintroducing-codex\u002F",3,[68,69,70,71,72,73,74,75,76,77,78,79,80,81,82],"\\bagent-browser\\b","\\bnext\\s+dev\\b","\\bnpm\\s+run\\s+dev\\b","\\bpnpm\\s+dev\\b","\\bbun\\s+run\\s+dev\\b","\\byarn\\s+dev\\b","\\bvite\\b","\\bnuxt\\s+dev\\b","\\bvercel\\s+dev\\b","\\blocalhost:\\d+","\\b127\\.0\\.0\\.1:\\d+","\\bcurl\\s+.*localhost","\\bopen\\s+https?:\u002F\u002F","\\bplaywright\\b","\\bcypress\\b",[84,85,86,87,88,89,90],"agent-browser.json","playwright.config.*","e2e\u002F**","tests\u002Fe2e\u002F**","test\u002Fe2e\u002F**","cypress\u002F**","cypress.config.*",{"aliases":92,"intents":96,"entities":101},[48,93,94,95],"puppeteer","playwright","web scraping",[97,36,98,99,100],"automate browser","test web app","fill form","click button",[102,103,45,31,104],"Puppeteer","Playwright","headless","main","9a4409c8751439c3aeeea2bc3940ba05dc3cd3b5","plugins\u002Fvercel\u002Fskills\u002Fagent-browser",0,"https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins","https:\u002F\u002Fgithub.com\u002FNagyVikt","https:\u002F\u002Fwebu.hu\u002F","Codex is a tool they said...\r\n\r\nCreator of GitGuardex, CueCards. Tech stack: Next.js · TypeScript · Rust · Linux. ","2026-03-30 02:19:53",{"source":8,"skillName":5,"commands":115,"prompt":125,"zipAvailable":126},[116,119,122],{"tool":117,"command":118},"npx","npx skills add NagyVikt\u002Fcodex-plugins --skill agent-browser",{"tool":120,"command":121},"bunx","bunx skills add NagyVikt\u002Fcodex-plugins --skill agent-browser",{"tool":123,"command":124},"pnpm","pnpm dlx skills add NagyVikt\u002Fcodex-plugins --skill agent-browser","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvercel\u002Fskills\u002Fagent-browser\u002FSKILL.md",true,[],[129,164,195,217,245,267],{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":145,"publishedAt":49},"01M6K1ZEN8P9R2S6NPNJNJ8JVH","workflow","Vercel Workflow DevKit (WDK) expert guidance. Use when building durable workflows, long-running tasks, API routes or agents that need pause\u002Fresume, retries, step-based execution, or crash-safe orchestration with Vercel Workflow.","https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvercel\u002Fskills\u002Fworkflow\u002FSKILL.md",[135,136,137,142],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":138,"categoryName":139,"taxonomyType":140,"taxonomyTypeDesc":141},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",{"categoryNo":143,"categoryName":144,"taxonomyType":140,"taxonomyTypeDesc":141},"01JBSEEDCAT000000000000038","人力资源",[131,146,147,46,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163],"workflows","create","streaming","logs","start","why","loop","wait for","branch","auto","log","conversation","human","lib","condition","rendering","retries","sleep",{"skillNo":165,"name":166,"nameZh":6,"description":167,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":168,"categories":169,"keywords":178,"publishedAt":49},"01M6K1Z71NWFSPHK2VJJ73MVSY","verification","Full-story verification — infers what the user is building, then verifies the complete flow end-to-end: browser → API → data → response. Triggers on dev server start and 'why isn't this working' signals.","https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvercel\u002Fskills\u002Fverification\u002FSKILL.md",[170,171,172,175],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":173,"categoryName":174,"taxonomyType":140,"taxonomyTypeDesc":141},"01JBSEEDCAT000000000000031","产品经理",{"categoryNo":176,"categoryName":177,"taxonomyType":140,"taxonomyTypeDesc":141},"01JBSEEDCAT000000000000033","数据分析师",[166,179,148,180,181,182,154,183,184,185,186,187,188,39,189,190,191,192,193,194],"auth","routing middleware","api","projects","user story","full stack","jest","local","project","end","false","unit","error","middleware","loading","unit test",{"skillNo":196,"name":197,"nameZh":6,"description":198,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":199,"categories":200,"keywords":202,"publishedAt":49},"01M6K1YPRYJS3BQEDP8HKBHPEJ","vercel-storage","Vercel storage expert guidance — Blob, Edge Config, and Marketplace storage (Neon Postgres, Upstash Redis). Use when choosing, configuring, or using data storage with Vercel applications.","https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvercel\u002Fskills\u002Fvercel-storage\u002FSKILL.md",[201],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[203,204,205,47,46,206,207,155,208,209,210,211,212,213,39,159,214,215,34,216],"storage","vercel storage","vercel","supabase","migrate","router","clerk","expert","prisma","connection pooling","neon","turso","upstash","auth0",{"skillNo":218,"name":219,"nameZh":6,"description":220,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":221,"categories":222,"keywords":230,"publishedAt":49},"01M6K1YFEP0GPPGMQ3D0FPTS27","vercel-services","Vercel Services — deploy multiple services within a single Vercel project. Use for monorepo layouts or when combining a backend (Python, Go) with a frontend (Next.js, Vite) in one deployment.","https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvercel\u002Fskills\u002Fvercel-services\u002FSKILL.md",[223,226,227],{"categoryNo":224,"categoryName":225,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":228,"categoryName":229,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",[231,232,205,233,234,235,236,237,238,239,240,105,241,242,187,243,39,37,191,244],"vercel services","services","frontend","docker compose","SET","configure","monorepo","go api","fastapi","up","aws lambda","go backend","get","python backend",{"skillNo":246,"name":247,"nameZh":6,"description":248,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":249,"categories":250,"keywords":251,"publishedAt":49},"01M6K1Y8S3CRD43DPKX0PK1MTT","vercel-sandbox","Vercel Sandbox guidance — ephemeral Firecracker microVMs for running untrusted code safely. Supports AI agents, code generation, and experimentation. Use when executing user-generated or AI-generated code in isolation.","https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvercel\u002Fskills\u002Fvercel-sandbox\u002FSKILL.md",[],[252,253,205,254,255,147,46,256,257,258,259,260,261,262,263,264,193,265,247,266],"sandbox","vercel sandbox","safe","ai agents","code","ai sdk","Code Generation","playground","generated","spawn","install","runner","io","child","student",{"skillNo":268,"name":269,"nameZh":6,"description":270,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":271,"categories":272,"keywords":274,"publishedAt":49},"01M6K1Y1J8S7AN97H75SHBGF7J","vercel-queues","Vercel Queues guidance (public beta) — durable event streaming with topics, consumer groups, retries, and delayed delivery. $0.60\u002F1M ops. Powers Workflow DevKit. Use when building async processing, fan-out patterns, or event-driven architectures.","https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvercel\u002Fskills\u002Fvercel-queues\u002FSKILL.md",[273],{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},[275,205,131,146,148,276,235,181,236,240,277,278,279,280,39,159,281,162,193,282],"vercel queues","beta","message","delivery","across","worker","processing","at"]