[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71HNVC8RBX2YZ830HV723JT":3,"skill-same:01M71HNVC8RBX2YZ830HV723JT":100},{"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":25,"publishedAt":45,"linkOnly":46,"markdownContent":47,"markdownBody":48,"frontMatter":49,"refName":55,"commitSha":56,"skillDirectory":57,"forksCount":58,"repositoryHtmlUrl":59,"repositoryHomepageUrl":6,"ownerHtmlUrl":60,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":61,"install":62,"resources":75},"01M71HNVC8RBX2YZ830HV723JT","agent-browser",null,"Browser automation and testing using Vercel's agent-browser CLI with ref-based element targeting","JSGforever\u002Fskillguard","JSGforever","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F85541948?v=4","01M71FQD3E132VMR5F4TAYX3YS","01M71FQD4DYW0XJ4XQ4YQH75Y9",2,"GPL-3.0","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__casper-studios--agent-browser\u002FSKILL.md",[17,22],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,5,43,44],"browser","agent browser","vercel","page","web scraping","form","ui","ui testing","screenshot","cli","interaction","web automation","targeting","element","testing","browser testing","browser automation","accessibility testing","scraping","2026-11-10 10:12:30",false,"---\nname: agent-browser\ndescription: Browser automation and testing using Vercel's agent-browser CLI with ref-based element targeting\ntriggers:\n  - browser testing\n  - web automation\n  - UI testing\n  - e2e testing\n  - screenshot\n  - form filling\n  - web scraping\n  - page interaction\n  - accessibility testing\n---\n\n# Agent Browser Testing Skill\n\nBrowser automation and end-to-end testing using Vercel's agent-browser CLI. Uses ref-based element targeting for reliable, AI-friendly browser interaction.\n\n## Quick Decision Tree\n\n```\nWhat do you need?\n│\n├─ Take a screenshot of a page?\n│  └─ agent-browser open [url] && agent-browser screenshot\n│\n├─ Fill out a form?\n│  └─ open → snapshot -i → fill @ref → click @submit → snapshot\n│\n├─ Test a login flow?\n│  └─ See references\u002Fauthentication.md\n│\n├─ Run an E2E test?\n│  └─ See references\u002Ftesting-patterns.md\n│\n├─ Scrape page content?\n│  └─ agent-browser open [url] && agent-browser snapshot -i\n│\n└─ Debug element targeting?\n   └─ agent-browser snapshot -i --format json\n```\n\n## Installation\n\n```bash\n# Install agent-browser globally\nnpm install -g agent-browser\n\n# Install browser dependencies (Chromium)\nagent-browser install\n\n# Verify installation\nagent-browser --version\n```\n\n## Core Concept: Ref-Based Targeting\n\nAgent-browser uses **refs** (like `@e1`, `@e2`, `@e3`) to identify interactive elements on the page. These refs are assigned when you take a snapshot.\n\n```bash\n# Take a snapshot with interactive elements labeled\nagent-browser snapshot -i\n\n# Output shows refs:\n# @e1: [button] \"Sign In\"\n# @e2: [input] Email field\n# @e3: [input] Password field\n# @e4: [button] \"Submit\"\n\n# Use refs to interact\nagent-browser click @e1\nagent-browser fill @e2 \"user@example.com\"\n```\n\n**Important:** Refs are session-specific and invalidate when the page changes. Always re-snapshot after navigation or DOM updates.\n\n## Essential Workflow\n\n```bash\n# 1. Open the target URL\nagent-browser open https:\u002F\u002Fexample.com\n\n# 2. Take a snapshot to see the page and get refs\nagent-browser snapshot -i\n\n# 3. Interact with elements using refs\nagent-browser click @e1\nagent-browser fill @e2 \"test value\"\n\n# 4. Take another snapshot to verify changes\nagent-browser snapshot -i\n```\n\n## Common Commands Quick Reference\n\n### Navigation\n```bash\nagent-browser open \u003Curl>              # Navigate to URL\nagent-browser back                    # Go back\nagent-browser forward                 # Go forward\nagent-browser refresh                 # Reload page\n```\n\n### Snapshots\n```bash\nagent-browser snapshot                # Text snapshot\nagent-browser snapshot -i             # With interactive refs\nagent-browser snapshot --format json  # JSON output\nagent-browser screenshot [path]       # Save screenshot\n```\n\n### Interaction\n```bash\nagent-browser click @ref              # Click element\nagent-browser fill @ref \"value\"       # Fill input field\nagent-browser select @ref \"option\"    # Select dropdown option\nagent-browser hover @ref              # Hover over element\nagent-browser press Enter             # Press keyboard key\n```\n\n### Semantic Locators\n```bash\nagent-browser find role button \"Submit\"    # Find by ARIA role\nagent-browser find text \"Welcome\"          # Find by visible text\nagent-browser find label \"Email\"           # Find by label\n```\n\n### Waiting\n```bash\nagent-browser wait visible @ref            # Wait for element visible\nagent-browser wait hidden @ref             # Wait for element hidden\nagent-browser wait network                 # Wait for network idle\nagent-browser wait time 2000               # Wait milliseconds\n```\n\n### Session Management\n```bash\nagent-browser session save mystate         # Save browser state\nagent-browser session load mystate         # Load saved state\nagent-browser session list                 # List saved sessions\nagent-browser close                        # Close browser\n```\n\n## Security Notes\n\n**Never commit these files:**\n- `*.state` - Browser session state files contain cookies\n- `agent-browser-profile\u002F` - Profile directories with credentials\n- Screenshots that may contain sensitive data\n\nAdd to `.gitignore`:\n```gitignore\n*.state\nagent-browser-profile\u002F\n.agent-browser\u002F\nscreenshots\u002F\n```\n\n## Integration with Other Skills\n\n### With Parallel Research\n```bash\n# Research a topic, then verify claims on websites\nparallel_research.py chat \"Find pricing for Acme Corp\"\n# Then use agent-browser to verify on their actual pricing page\nagent-browser open https:\u002F\u002Facme.com\u002Fpricing\nagent-browser snapshot -i\n```\n\n### With Screenshot Comparison\n```bash\n# Take baseline screenshots for visual regression\nagent-browser open https:\u002F\u002Fmyapp.com\nagent-browser screenshot baseline.png\n\n# After changes, compare\nagent-browser screenshot current.png\n# Use image comparison tool\n```\n\n### With Form Data from Sheets\n```python\n# Load test data from Google Sheets, run form tests\nimport subprocess\ntest_data = get_sheet_data(\"Form Test Cases\")\nfor row in test_data:\n    subprocess.run([\"agent-browser\", \"fill\", \"@email\", row[\"email\"]])\n    subprocess.run([\"agent-browser\", \"fill\", \"@password\", row[\"password\"]])\n    subprocess.run([\"agent-browser\", \"click\", \"@submit\"])\n```\n\n## Files in This Skill\n\n- `references\u002Fcommands.md` - Full command reference\n- `references\u002Fauthentication.md` - Login flow patterns\n- `references\u002Ftesting-patterns.md` - E2E test workflows\n- `references\u002Fsnapshot-workflow.md` - Ref system deep dive\n- `scripts\u002Fbrowser_test.py` - Python automation wrapper\n\n## Example: Complete Form Test\n\n```bash\n# Open the registration page\nagent-browser open https:\u002F\u002Fexample.com\u002Fregister\n\n# Get element refs\nagent-browser snapshot -i\n\n# Fill the form (refs from snapshot output)\nagent-browser fill @e1 \"John Doe\"\nagent-browser fill @e2 \"john@example.com\"\nagent-browser fill @e3 \"SecurePass123!\"\nagent-browser select @e4 \"United States\"\nagent-browser click @e5  # Terms checkbox\nagent-browser click @e6  # Submit button\n\n# Wait for navigation and verify\nagent-browser wait network\nagent-browser snapshot -i\n\n# Take confirmation screenshot\nagent-browser screenshot registration-success.png\n```\n\n## Troubleshooting\n\n**Element not found:**\n- Re-run `snapshot -i` to get fresh refs\n- Use semantic locators: `agent-browser find text \"Submit\"`\n- Check if element is in an iframe\n\n**Page not loading:**\n- Increase timeout: `agent-browser open \u003Curl> --timeout 30000`\n- Wait for network: `agent-browser wait network`\n\n**Session expired:**\n- Save state before tests: `agent-browser session save backup`\n- Load state to restore: `agent-browser session load backup`\n","# Agent Browser Testing Skill\n\nBrowser automation and end-to-end testing using Vercel's agent-browser CLI. Uses ref-based element targeting for reliable, AI-friendly browser interaction.\n\n## Quick Decision Tree\n\n```\nWhat do you need?\n│\n├─ Take a screenshot of a page?\n│  └─ agent-browser open [url] && agent-browser screenshot\n│\n├─ Fill out a form?\n│  └─ open → snapshot -i → fill @ref → click @submit → snapshot\n│\n├─ Test a login flow?\n│  └─ See references\u002Fauthentication.md\n│\n├─ Run an E2E test?\n│  └─ See references\u002Ftesting-patterns.md\n│\n├─ Scrape page content?\n│  └─ agent-browser open [url] && agent-browser snapshot -i\n│\n└─ Debug element targeting?\n   └─ agent-browser snapshot -i --format json\n```\n\n## Installation\n\n```bash\n# Install agent-browser globally\nnpm install -g agent-browser\n\n# Install browser dependencies (Chromium)\nagent-browser install\n\n# Verify installation\nagent-browser --version\n```\n\n## Core Concept: Ref-Based Targeting\n\nAgent-browser uses **refs** (like `@e1`, `@e2`, `@e3`) to identify interactive elements on the page. These refs are assigned when you take a snapshot.\n\n```bash\n# Take a snapshot with interactive elements labeled\nagent-browser snapshot -i\n\n# Output shows refs:\n# @e1: [button] \"Sign In\"\n# @e2: [input] Email field\n# @e3: [input] Password field\n# @e4: [button] \"Submit\"\n\n# Use refs to interact\nagent-browser click @e1\nagent-browser fill @e2 \"user@example.com\"\n```\n\n**Important:** Refs are session-specific and invalidate when the page changes. Always re-snapshot after navigation or DOM updates.\n\n## Essential Workflow\n\n```bash\n# 1. Open the target URL\nagent-browser open https:\u002F\u002Fexample.com\n\n# 2. Take a snapshot to see the page and get refs\nagent-browser snapshot -i\n\n# 3. Interact with elements using refs\nagent-browser click @e1\nagent-browser fill @e2 \"test value\"\n\n# 4. Take another snapshot to verify changes\nagent-browser snapshot -i\n```\n\n## Common Commands Quick Reference\n\n### Navigation\n```bash\nagent-browser open \u003Curl>              # Navigate to URL\nagent-browser back                    # Go back\nagent-browser forward                 # Go forward\nagent-browser refresh                 # Reload page\n```\n\n### Snapshots\n```bash\nagent-browser snapshot                # Text snapshot\nagent-browser snapshot -i             # With interactive refs\nagent-browser snapshot --format json  # JSON output\nagent-browser screenshot [path]       # Save screenshot\n```\n\n### Interaction\n```bash\nagent-browser click @ref              # Click element\nagent-browser fill @ref \"value\"       # Fill input field\nagent-browser select @ref \"option\"    # Select dropdown option\nagent-browser hover @ref              # Hover over element\nagent-browser press Enter             # Press keyboard key\n```\n\n### Semantic Locators\n```bash\nagent-browser find role button \"Submit\"    # Find by ARIA role\nagent-browser find text \"Welcome\"          # Find by visible text\nagent-browser find label \"Email\"           # Find by label\n```\n\n### Waiting\n```bash\nagent-browser wait visible @ref            # Wait for element visible\nagent-browser wait hidden @ref             # Wait for element hidden\nagent-browser wait network                 # Wait for network idle\nagent-browser wait time 2000               # Wait milliseconds\n```\n\n### Session Management\n```bash\nagent-browser session save mystate         # Save browser state\nagent-browser session load mystate         # Load saved state\nagent-browser session list                 # List saved sessions\nagent-browser close                        # Close browser\n```\n\n## Security Notes\n\n**Never commit these files:**\n- `*.state` - Browser session state files contain cookies\n- `agent-browser-profile\u002F` - Profile directories with credentials\n- Screenshots that may contain sensitive data\n\nAdd to `.gitignore`:\n```gitignore\n*.state\nagent-browser-profile\u002F\n.agent-browser\u002F\nscreenshots\u002F\n```\n\n## Integration with Other Skills\n\n### With Parallel Research\n```bash\n# Research a topic, then verify claims on websites\nparallel_research.py chat \"Find pricing for Acme Corp\"\n# Then use agent-browser to verify on their actual pricing page\nagent-browser open https:\u002F\u002Facme.com\u002Fpricing\nagent-browser snapshot -i\n```\n\n### With Screenshot Comparison\n```bash\n# Take baseline screenshots for visual regression\nagent-browser open https:\u002F\u002Fmyapp.com\nagent-browser screenshot baseline.png\n\n# After changes, compare\nagent-browser screenshot current.png\n# Use image comparison tool\n```\n\n### With Form Data from Sheets\n```python\n# Load test data from Google Sheets, run form tests\nimport subprocess\ntest_data = get_sheet_data(\"Form Test Cases\")\nfor row in test_data:\n    subprocess.run([\"agent-browser\", \"fill\", \"@email\", row[\"email\"]])\n    subprocess.run([\"agent-browser\", \"fill\", \"@password\", row[\"password\"]])\n    subprocess.run([\"agent-browser\", \"click\", \"@submit\"])\n```\n\n## Files in This Skill\n\n- `references\u002Fcommands.md` - Full command reference\n- `references\u002Fauthentication.md` - Login flow patterns\n- `references\u002Ftesting-patterns.md` - E2E test workflows\n- `references\u002Fsnapshot-workflow.md` - Ref system deep dive\n- `scripts\u002Fbrowser_test.py` - Python automation wrapper\n\n## Example: Complete Form Test\n\n```bash\n# Open the registration page\nagent-browser open https:\u002F\u002Fexample.com\u002Fregister\n\n# Get element refs\nagent-browser snapshot -i\n\n# Fill the form (refs from snapshot output)\nagent-browser fill @e1 \"John Doe\"\nagent-browser fill @e2 \"john@example.com\"\nagent-browser fill @e3 \"SecurePass123!\"\nagent-browser select @e4 \"United States\"\nagent-browser click @e5  # Terms checkbox\nagent-browser click @e6  # Submit button\n\n# Wait for navigation and verify\nagent-browser wait network\nagent-browser snapshot -i\n\n# Take confirmation screenshot\nagent-browser screenshot registration-success.png\n```\n\n## Troubleshooting\n\n**Element not found:**\n- Re-run `snapshot -i` to get fresh refs\n- Use semantic locators: `agent-browser find text \"Submit\"`\n- Check if element is in an iframe\n\n**Page not loading:**\n- Increase timeout: `agent-browser open \u003Curl> --timeout 30000`\n- Wait for network: `agent-browser wait network`\n\n**Session expired:**\n- Save state before tests: `agent-browser session save backup`\n- Load state to restore: `agent-browser session load backup`\n",{"name":5,"triggers":50,"description":7},[41,37,51,52,34,53,30,54,43],"UI testing","e2e testing","form filling","page interaction","main","f2ec4b3b9133d34eeaf9b38e4b0a97e8e5705a7f","benchmarks\u002Ffinal\u002Fskills\u002Fasset1__casper-studios--agent-browser",0,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard","https:\u002F\u002Fgithub.com\u002FJSGforever","2026-08-29 18:27:56",{"source":8,"skillName":5,"commands":63,"prompt":73,"zipAvailable":74},[64,67,70],{"tool":65,"command":66},"npx","npx skills add JSGforever\u002Fskillguard --skill agent-browser",{"tool":68,"command":69},"bunx","bunx skills add JSGforever\u002Fskillguard --skill agent-browser",{"tool":71,"command":72},"pnpm","pnpm dlx skills add JSGforever\u002Fskillguard --skill agent-browser","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__casper-studios--agent-browser\u002FSKILL.md",true,[76,82,86,90,94],{"path":77,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":80,"sourceHtmlUrl":81},"references\u002Fauthentication.md","REFERENCE","参考文档",8421,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__casper-studios--agent-browser\u002Freferences\u002Fauthentication.md",{"path":83,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":84,"sourceHtmlUrl":85},"references\u002Fcommands.md",11643,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__casper-studios--agent-browser\u002Freferences\u002Fcommands.md",{"path":87,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":88,"sourceHtmlUrl":89},"references\u002Fsnapshot-workflow.md",8129,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__casper-studios--agent-browser\u002Freferences\u002Fsnapshot-workflow.md",{"path":91,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":92,"sourceHtmlUrl":93},"references\u002Ftesting-patterns.md",13018,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__casper-studios--agent-browser\u002Freferences\u002Ftesting-patterns.md",{"path":95,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":98,"sourceHtmlUrl":99},"scripts\u002Fbrowser_test.py","SCRIPT","脚本",19039,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__casper-studios--agent-browser\u002Fscripts\u002Fbrowser_test.py",[101,129,145,172,194,215],{"skillNo":102,"name":103,"nameZh":6,"description":104,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":105,"categories":106,"keywords":108,"publishedAt":45},"01M71HY2SNXBA9Q00WZDTZQ31Z","skillguard-codex-scanner","Hybrid deterministic+LLM agent-skill security scanner. Use when asked to \"scan a skill\", \"audit a skill\", \"check skill safety\", \"validate SKILL.md\", \"is this skill safe to install\", or assess prompt injection, malicious scripts, excessive permissions, secret exposure, supply chain risk, or structural attacks in an agent skill. Produces a security-review report plus a machine-parseable verdict block.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fsrc\u002Fskillguard\u002Fstatic_scanner\u002Fskillguard-codex-scanner\u002FSKILL.md",[107],{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},[109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128],"scanner","skillguard codex scanner","skillguard","codex","chain","skill security","security-review","review report","structural","secret","prompt injection","security scanner","when","review","malicious","permissions","exposure","audit","scripts","safe",{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":133,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":141,"publishedAt":45},"01M71HY0SPKTT3S27BC2HPAC5M","data-exfiltrator","Analyzes data files","MIT","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Fsmoke-one-skill\u002Fasset1__cisco-ai-defense--data-exfiltrator\u002FSKILL.md",[136],{"categoryNo":137,"categoryName":138,"taxonomyType":139,"taxonomyTypeDesc":140},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[142,143,144],"data","data exfiltrator","files",{"skillNo":146,"name":147,"nameZh":6,"description":148,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":149,"categories":150,"keywords":151,"publishedAt":45},"01M71HXVS9EMN44BGDW215FZ72","real-time-collaboration-engine","Build real-time collaborative editing with WebSockets, OT\u002FCRDT conflict resolution, and presence awareness. Implements cursor tracking, optimistic updates, and offline sync. Use for collaborative editors, whiteboards, video editing. Activate on \"real-time collaboration\", \"WebSocket sync\", \"multiplayer editing\", \"CRDT\", \"presence awareness\". NOT for simple chat, request-response APIs, or single-user apps.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--real-time-collaboration-engine\u002FSKILL.md",[],[152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171],"time","real time collaboration engine","real time collaboration","collaboration","engine","real time","Video","reliability","video editing","performance","conflict resolution","presence","access","apps","updates","Bash","activate","optimizer","react","streaming",{"skillNo":173,"name":174,"nameZh":6,"description":175,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":176,"categories":177,"keywords":181,"publishedAt":45},"01M71HXP6CTY4KFN0QVMMN0V7J","react-performance-optimizer","Optimize React apps for 60fps performance. Implements memoization, virtualization, code splitting, bundle optimization. Use for slow renders, large lists, bundle bloat. Activate on \"React performance\", \"slow render\", \"useMemo\", \"bundle size\", \"virtualization\". NOT for backend optimization, non-React frameworks, or premature optimization.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--react-performance-optimizer\u002FSKILL.md",[178],{"categoryNo":179,"categoryName":180,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000009","前端开发",[161,182,169,170,183,184,185,186,187,188,152,189,190,165,167,191,168,171,192,193],"react performance optimizer","react performance","performance optimizer","app","nextjs","expert","re","render","2025","code","router","strategies",{"skillNo":195,"name":196,"nameZh":6,"description":197,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":198,"categories":199,"keywords":201,"publishedAt":45},"01M71HXH7QXSQB4QTDZ7SP7YXQ","llm-streaming-response-handler","Build production LLM streaming UIs with Server-Sent Events, real-time token display, cancellation, error recovery. Handles OpenAI\u002FAnthropic\u002FClaude streaming APIs. Use for chatbots, AI assistants, real-time text generation. Activate on \"LLM streaming\", \"SSE\", \"token stream\", \"chat UI\", \"real-time AI\". NOT for batch processing, non-streaming APIs, or WebSocket bidirectional chat.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--llm-streaming-response-handler\u002FSKILL.md",[200],{"categoryNo":179,"categoryName":180,"taxonomyType":20,"taxonomyTypeDesc":21},[202,171,203,204,205,206,161,152,207,208,209,167,168,169,210,170,211,212,213,214],"llm streaming response handler","handler","error","processing","retry","chat ui","error recovery","critical","batch","display","text","server","read",{"skillNo":216,"name":217,"nameZh":6,"description":218,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":219,"categories":220,"keywords":226,"publishedAt":45},"01M71HXCB0E1YRKYW1Y8T0Y106","github-actions-pipeline-builder","Build production CI\u002FCD pipelines with GitHub Actions. Implements matrix builds, caching, deployments, testing, security scanning. Use for automated testing, deployments, release workflows. Activate on \"GitHub Actions\", \"CI\u002FCD\", \"workflow\", \"deployment pipeline\", \"automated testing\". NOT for Jenkins\u002FCircleCI, manual deployments, or non-GitHub repositories.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--github-actions-pipeline-builder\u002FSKILL.md",[221,222,225],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":223,"categoryName":224,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},[227,228,229,230,231,232,233,159,187,40,234,235,168,193,236,214,237,238,239,240],"github actions pipeline builder","actions","github actions","pipeline builder","github","builder","pipeline","ci","workflows","run","release","write","edit","git"]