[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71SQPR1F12J9C7SVHTP57XZ":3,"skill-same:01M71SQPR1F12J9C7SVHTP57XZ":76},{"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":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":6,"ownerDescription":50,"updatedAt":51,"install":52,"resources":65},"01M71SQPR1F12J9C7SVHTP57XZ","sandbox-sdk",null,"Build sandboxed applications for secure code execution. Load when building AI code execution, code interpreters, CI\u002FCD systems, interactive dev environments, or executing untrusted code. Covers Sandbox SDK lifecycle, commands, files, code interpreter, and preview URLs. Biases towards retrieval from Cloudflare docs over pre-trained knowledge.","sanurb\u002F.dotfiles","sanurb","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F60886336?v=4","01M71SKJS17F5YPRE27CVMEH1X","Santiago U","01M71SKJSTGEXEQ82HMAQP4ZAF",2,"MIT","https:\u002F\u002Fgithub.com\u002Fsanurb\u002F.dotfiles\u002Fblob\u002Fmain\u002Fconfig\u002Fpi\u002Fagent\u002Fskills\u002Fsandbox-sdk\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"sandbox","sdk","sandbox sdk","execution","lifecycle","applications","code execution","for","environments","commands","CI\u002FCD","secure","code","preview","when","files","knowledge","cloudflare","ci","interpreter","2026-11-10 13:02:02",false,"---\nname: sandbox-sdk\ndescription: Build sandboxed applications for secure code execution. Load when building AI code execution, code interpreters, CI\u002FCD systems, interactive dev environments, or executing untrusted code. Covers Sandbox SDK lifecycle, commands, files, code interpreter, and preview URLs. Biases towards retrieval from Cloudflare docs over pre-trained knowledge.\n---\n\n# Cloudflare Sandbox SDK\n\nBuild secure, isolated code execution environments on Cloudflare Workers.\n\n## FIRST: Verify Installation\n\n```bash\nnpm install @cloudflare\u002Fsandbox\ndocker info  # Must succeed - Docker required for local dev\n```\n\n## Retrieval Sources\n\nYour knowledge of the Sandbox SDK may be outdated. **Prefer retrieval over pre-training** for any Sandbox SDK task.\n\n| Resource | URL |\n|----------|-----|\n| Docs | https:\u002F\u002Fdevelopers.cloudflare.com\u002Fsandbox\u002F |\n| API Reference | https:\u002F\u002Fdevelopers.cloudflare.com\u002Fsandbox\u002Fapi\u002F |\n| Examples | https:\u002F\u002Fgithub.com\u002Fcloudflare\u002Fsandbox-sdk\u002Ftree\u002Fmain\u002Fexamples |\n| Get Started | https:\u002F\u002Fdevelopers.cloudflare.com\u002Fsandbox\u002Fget-started\u002F |\n\nWhen implementing features, fetch the relevant doc page or example first.\n\n## Required Configuration\n\n**wrangler.jsonc** (exact - do not modify structure):\n\n```jsonc\n{\n  \"containers\": [{\n    \"class_name\": \"Sandbox\",\n    \"image\": \".\u002FDockerfile\",\n    \"instance_type\": \"lite\",\n    \"max_instances\": 1\n  }],\n  \"durable_objects\": {\n    \"bindings\": [{ \"class_name\": \"Sandbox\", \"name\": \"Sandbox\" }]\n  },\n  \"migrations\": [{ \"new_sqlite_classes\": [\"Sandbox\"], \"tag\": \"v1\" }]\n}\n```\n\n**Worker entry** - must re-export Sandbox class:\n\n```typescript\nimport { getSandbox } from '@cloudflare\u002Fsandbox';\nexport { Sandbox } from '@cloudflare\u002Fsandbox';  \u002F\u002F Required export\n```\n\n## Quick Reference\n\n| Task | Method |\n|------|--------|\n| Get sandbox | `getSandbox(env.Sandbox, 'user-123')` |\n| Run command | `await sandbox.exec('python script.py')` |\n| Run code (interpreter) | `await sandbox.runCode(code, { language: 'python' })` |\n| Write file | `await sandbox.writeFile('\u002Fworkspace\u002Fapp.py', content)` |\n| Read file | `await sandbox.readFile('\u002Fworkspace\u002Fapp.py')` |\n| Create directory | `await sandbox.mkdir('\u002Fworkspace\u002Fsrc', { recursive: true })` |\n| List files | `await sandbox.listFiles('\u002Fworkspace')` |\n| Expose port | `await sandbox.exposePort(8080)` |\n| Destroy | `await sandbox.destroy()` |\n\n## Core Patterns\n\n### Execute Commands\n\n```typescript\nconst sandbox = getSandbox(env.Sandbox, 'user-123');\nconst result = await sandbox.exec('python --version');\n\u002F\u002F result: { stdout, stderr, exitCode, success }\n```\n\n### Code Interpreter (Recommended for AI)\n\nUse `runCode()` for executing LLM-generated code with rich outputs:\n\n```typescript\nconst ctx = await sandbox.createCodeContext({ language: 'python' });\n\nawait sandbox.runCode('import pandas as pd; data = [1,2,3]', { context: ctx });\nconst result = await sandbox.runCode('sum(data)', { context: ctx });\n\u002F\u002F result.results[0].text = \"6\"\n```\n\n**Languages**: `python`, `javascript`, `typescript`\n\nState persists within context. Create explicit contexts for production.\n\n### File Operations\n\n```typescript\nawait sandbox.mkdir('\u002Fworkspace\u002Fproject', { recursive: true });\nawait sandbox.writeFile('\u002Fworkspace\u002Fproject\u002Fmain.py', code);\nconst file = await sandbox.readFile('\u002Fworkspace\u002Fproject\u002Fmain.py');\nconst files = await sandbox.listFiles('\u002Fworkspace\u002Fproject');\n```\n\n## When to Use What\n\n| Need | Use | Why |\n|------|-----|-----|\n| Shell commands, scripts | `exec()` | Direct control, streaming |\n| LLM-generated code | `runCode()` | Rich outputs, state persistence |\n| Build\u002Ftest pipelines | `exec()` | Exit codes, stderr capture |\n| Data analysis | `runCode()` | Charts, tables, pandas |\n\n## Extending the Dockerfile\n\nBase image (`docker.io\u002Fcloudflare\u002Fsandbox:0.7.0`) includes Python 3.11, Node.js 20, and common tools.\n\nAdd dependencies by extending the Dockerfile:\n\n```dockerfile\nFROM docker.io\u002Fcloudflare\u002Fsandbox:0.7.0\n\n# Python packages\nRUN pip install requests beautifulsoup4\n\n# Node packages (global)\nRUN npm install -g typescript\n\n# System packages\nRUN apt-get update && apt-get install -y ffmpeg && rm -rf \u002Fvar\u002Flib\u002Fapt\u002Flists\u002F*\n\nEXPOSE 8080  # Required for local dev port exposure\n```\n\nKeep images lean - affects cold start time.\n\n## Preview URLs (Port Exposure)\n\nExpose HTTP services running in sandboxes:\n\n```typescript\nconst { url } = await sandbox.exposePort(8080);\n\u002F\u002F Returns preview URL for the service\n```\n\n**Production requirement**: Preview URLs need a custom domain with wildcard DNS (`*.yourdomain.com`). The `.workers.dev` domain does not support preview URL subdomains.\n\nSee: https:\u002F\u002Fdevelopers.cloudflare.com\u002Fsandbox\u002Fguides\u002Fexpose-services\u002F\n\n## OpenAI Agents SDK Integration\n\nThe SDK provides helpers for OpenAI Agents at `@cloudflare\u002Fsandbox\u002Fopenai`:\n\n```typescript\nimport { Shell, Editor } from '@cloudflare\u002Fsandbox\u002Fopenai';\n```\n\nSee `examples\u002Fopenai-agents` for complete integration pattern.\n\n## Sandbox Lifecycle\n\n- `getSandbox()` returns immediately - container starts lazily on first operation\n- Containers sleep after 10 minutes of inactivity (configurable via `sleepAfter`)\n- Use `destroy()` to immediately free resources\n- Same `sandboxId` always returns same sandbox instance\n\n## Anti-Patterns\n\n- **Don't use internal clients** (`CommandClient`, `FileClient`) - use `sandbox.*` methods\n- **Don't skip the Sandbox export** - Worker won't deploy without `export { Sandbox }`\n- **Don't hardcode sandbox IDs for multi-user** - use user\u002Fsession identifiers\n- **Don't forget cleanup** - call `destroy()` for temporary sandboxes\n\n## Detailed References\n\n- **[references\u002Fapi-quick-ref.md](references\u002Fapi-quick-ref.md)** - Full API with options and return types\n- **[references\u002Fexamples.md](references\u002Fexamples.md)** - Example index with use cases\n","# Cloudflare Sandbox SDK\n\nBuild secure, isolated code execution environments on Cloudflare Workers.\n\n## FIRST: Verify Installation\n\n```bash\nnpm install @cloudflare\u002Fsandbox\ndocker info  # Must succeed - Docker required for local dev\n```\n\n## Retrieval Sources\n\nYour knowledge of the Sandbox SDK may be outdated. **Prefer retrieval over pre-training** for any Sandbox SDK task.\n\n| Resource | URL |\n|----------|-----|\n| Docs | https:\u002F\u002Fdevelopers.cloudflare.com\u002Fsandbox\u002F |\n| API Reference | https:\u002F\u002Fdevelopers.cloudflare.com\u002Fsandbox\u002Fapi\u002F |\n| Examples | https:\u002F\u002Fgithub.com\u002Fcloudflare\u002Fsandbox-sdk\u002Ftree\u002Fmain\u002Fexamples |\n| Get Started | https:\u002F\u002Fdevelopers.cloudflare.com\u002Fsandbox\u002Fget-started\u002F |\n\nWhen implementing features, fetch the relevant doc page or example first.\n\n## Required Configuration\n\n**wrangler.jsonc** (exact - do not modify structure):\n\n```jsonc\n{\n  \"containers\": [{\n    \"class_name\": \"Sandbox\",\n    \"image\": \".\u002FDockerfile\",\n    \"instance_type\": \"lite\",\n    \"max_instances\": 1\n  }],\n  \"durable_objects\": {\n    \"bindings\": [{ \"class_name\": \"Sandbox\", \"name\": \"Sandbox\" }]\n  },\n  \"migrations\": [{ \"new_sqlite_classes\": [\"Sandbox\"], \"tag\": \"v1\" }]\n}\n```\n\n**Worker entry** - must re-export Sandbox class:\n\n```typescript\nimport { getSandbox } from '@cloudflare\u002Fsandbox';\nexport { Sandbox } from '@cloudflare\u002Fsandbox';  \u002F\u002F Required export\n```\n\n## Quick Reference\n\n| Task | Method |\n|------|--------|\n| Get sandbox | `getSandbox(env.Sandbox, 'user-123')` |\n| Run command | `await sandbox.exec('python script.py')` |\n| Run code (interpreter) | `await sandbox.runCode(code, { language: 'python' })` |\n| Write file | `await sandbox.writeFile('\u002Fworkspace\u002Fapp.py', content)` |\n| Read file | `await sandbox.readFile('\u002Fworkspace\u002Fapp.py')` |\n| Create directory | `await sandbox.mkdir('\u002Fworkspace\u002Fsrc', { recursive: true })` |\n| List files | `await sandbox.listFiles('\u002Fworkspace')` |\n| Expose port | `await sandbox.exposePort(8080)` |\n| Destroy | `await sandbox.destroy()` |\n\n## Core Patterns\n\n### Execute Commands\n\n```typescript\nconst sandbox = getSandbox(env.Sandbox, 'user-123');\nconst result = await sandbox.exec('python --version');\n\u002F\u002F result: { stdout, stderr, exitCode, success }\n```\n\n### Code Interpreter (Recommended for AI)\n\nUse `runCode()` for executing LLM-generated code with rich outputs:\n\n```typescript\nconst ctx = await sandbox.createCodeContext({ language: 'python' });\n\nawait sandbox.runCode('import pandas as pd; data = [1,2,3]', { context: ctx });\nconst result = await sandbox.runCode('sum(data)', { context: ctx });\n\u002F\u002F result.results[0].text = \"6\"\n```\n\n**Languages**: `python`, `javascript`, `typescript`\n\nState persists within context. Create explicit contexts for production.\n\n### File Operations\n\n```typescript\nawait sandbox.mkdir('\u002Fworkspace\u002Fproject', { recursive: true });\nawait sandbox.writeFile('\u002Fworkspace\u002Fproject\u002Fmain.py', code);\nconst file = await sandbox.readFile('\u002Fworkspace\u002Fproject\u002Fmain.py');\nconst files = await sandbox.listFiles('\u002Fworkspace\u002Fproject');\n```\n\n## When to Use What\n\n| Need | Use | Why |\n|------|-----|-----|\n| Shell commands, scripts | `exec()` | Direct control, streaming |\n| LLM-generated code | `runCode()` | Rich outputs, state persistence |\n| Build\u002Ftest pipelines | `exec()` | Exit codes, stderr capture |\n| Data analysis | `runCode()` | Charts, tables, pandas |\n\n## Extending the Dockerfile\n\nBase image (`docker.io\u002Fcloudflare\u002Fsandbox:0.7.0`) includes Python 3.11, Node.js 20, and common tools.\n\nAdd dependencies by extending the Dockerfile:\n\n```dockerfile\nFROM docker.io\u002Fcloudflare\u002Fsandbox:0.7.0\n\n# Python packages\nRUN pip install requests beautifulsoup4\n\n# Node packages (global)\nRUN npm install -g typescript\n\n# System packages\nRUN apt-get update && apt-get install -y ffmpeg && rm -rf \u002Fvar\u002Flib\u002Fapt\u002Flists\u002F*\n\nEXPOSE 8080  # Required for local dev port exposure\n```\n\nKeep images lean - affects cold start time.\n\n## Preview URLs (Port Exposure)\n\nExpose HTTP services running in sandboxes:\n\n```typescript\nconst { url } = await sandbox.exposePort(8080);\n\u002F\u002F Returns preview URL for the service\n```\n\n**Production requirement**: Preview URLs need a custom domain with wildcard DNS (`*.yourdomain.com`). The `.workers.dev` domain does not support preview URL subdomains.\n\nSee: https:\u002F\u002Fdevelopers.cloudflare.com\u002Fsandbox\u002Fguides\u002Fexpose-services\u002F\n\n## OpenAI Agents SDK Integration\n\nThe SDK provides helpers for OpenAI Agents at `@cloudflare\u002Fsandbox\u002Fopenai`:\n\n```typescript\nimport { Shell, Editor } from '@cloudflare\u002Fsandbox\u002Fopenai';\n```\n\nSee `examples\u002Fopenai-agents` for complete integration pattern.\n\n## Sandbox Lifecycle\n\n- `getSandbox()` returns immediately - container starts lazily on first operation\n- Containers sleep after 10 minutes of inactivity (configurable via `sleepAfter`)\n- Use `destroy()` to immediately free resources\n- Same `sandboxId` always returns same sandbox instance\n\n## Anti-Patterns\n\n- **Don't use internal clients** (`CommandClient`, `FileClient`) - use `sandbox.*` methods\n- **Don't skip the Sandbox export** - Worker won't deploy without `export { Sandbox }`\n- **Don't hardcode sandbox IDs for multi-user** - use user\u002Fsession identifiers\n- **Don't forget cleanup** - call `destroy()` for temporary sandboxes\n\n## Detailed References\n\n- **[references\u002Fapi-quick-ref.md](references\u002Fapi-quick-ref.md)** - Full API with options and return types\n- **[references\u002Fexamples.md](references\u002Fexamples.md)** - Example index with use cases\n",{"name":5,"description":7},"main","5acbba39180bbea80204d1a58db40ccbd813a13a","config\u002Fpi\u002Fagent\u002Fskills\u002Fsandbox-sdk",0,"https:\u002F\u002Fgithub.com\u002Fsanurb\u002F.dotfiles","https:\u002F\u002Fgithub.com\u002Fsanurb","Building things","2026-11-12 05:25:20",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add sanurb\u002F.dotfiles --skill sandbox-sdk",{"tool":58,"command":59},"bunx","bunx skills add sanurb\u002F.dotfiles --skill sandbox-sdk",{"tool":61,"command":62},"pnpm","pnpm dlx skills add sanurb\u002F.dotfiles --skill sandbox-sdk","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsanurb\u002F.dotfiles\u002Fblob\u002Fmain\u002Fconfig\u002Fpi\u002Fagent\u002Fskills\u002Fsandbox-sdk\u002FSKILL.md",true,[66,72],{"path":67,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":70,"sourceHtmlUrl":71},"references\u002Fapi-quick-ref.md","REFERENCE","参考文档",3220,"https:\u002F\u002Fgithub.com\u002Fsanurb\u002F.dotfiles\u002Fblob\u002Fmain\u002Fconfig\u002Fpi\u002Fagent\u002Fskills\u002Fsandbox-sdk\u002Freferences\u002Fapi-quick-ref.md",{"path":73,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":74,"sourceHtmlUrl":75},"references\u002Fexamples.md",1570,"https:\u002F\u002Fgithub.com\u002Fsanurb\u002F.dotfiles\u002Fblob\u002Fmain\u002Fconfig\u002Fpi\u002Fagent\u002Fskills\u002Fsandbox-sdk\u002Freferences\u002Fexamples.md",[77,103,129,154,171,199],{"skillNo":78,"name":79,"nameZh":6,"description":80,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":93,"publishedAt":39},"01M71SS19VAM2YZ2SA7HD0PT2P","writing-great-skills","Reference for writing and editing skills well — the vocabulary and principles that make a skill predictable.","https:\u002F\u002Fgithub.com\u002Fsanurb\u002F.dotfiles\u002Fblob\u002Fmain\u002Fconfig\u002Fpi\u002Fagent\u002Fskills\u002Fwriting-great-skills\u002FSKILL.md",[83,88],{"categoryNo":84,"categoryName":85,"taxonomyType":86,"taxonomyTypeDesc":87},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":89,"categoryName":90,"taxonomyType":91,"taxonomyTypeDesc":92},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[94,95,96,26,97,98,99,100,101,102],"writing great skills","writing","principles","editing","a skill","true","reference","make","vocabulary",{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":112,"publishedAt":39},"01M71SRXKJN6RYXPN9GFRVYSR3","write-discoverable-code","Rules for writing code that coding agents (and humans) can find and understand through\nplain-text search. Apply whenever writing or renaming code: functions, types, constants,\nfiles, error messages, doc comments.\n\nGrounded in measurement: agents navigate by plain-text search, not by AST or\nlanguage server, so every identifier is a search query and every search miss\ncosts wasted reads.","https:\u002F\u002Fgithub.com\u002Fsanurb\u002F.dotfiles\u002Fblob\u002Fmain\u002Fconfig\u002Fpi\u002Fagent\u002Fskills\u002Fwrite-discoverable-code\u002FSKILL.md",[109],{"categoryNo":110,"categoryName":111,"taxonomyType":91,"taxonomyTypeDesc":92},"01JBSEEDCAT000000000000030","开发工程师",[113,31,114,115,116,117,118,119,26,120,121,122,123,34,95,124,125,126,127,128],"write discoverable code","discoverable code","write","measurement","error","types","error messages","search","messages","constants","plain-text","Rules","query","apply","comments","can",{"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":138,"publishedAt":39},"01M71SRT760335ES5WSEAAQDN2","wrangler","Cloudflare Workers CLI for deploying, developing, and managing Workers, KV, R2, D1, Vectorize, Hyperdrive, Workers AI, Containers, Queues, Workflows, Pipelines, and Secrets Store. Load before running wrangler commands to ensure correct syntax and best practices. Biases towards retrieval from Cloudflare docs over pre-trained knowledge.","https:\u002F\u002Fgithub.com\u002Fsanurb\u002F.dotfiles\u002Fblob\u002Fmain\u002Fconfig\u002Fpi\u002Fagent\u002Fskills\u002Fwrangler\u002FSKILL.md",[135],{"categoryNo":136,"categoryName":137,"taxonomyType":86,"taxonomyTypeDesc":87},"01JBSEEDCAT000000000000010","后端与接口",[131,36,139,35,140,141,142,28,143,144,145,146,147,26,148,149,150,151,152,153],"d1","workflows","cli","secrets","syntax","cloudflare workers","r2","queues","running","containers","correct","load","workers","best practices","store",{"skillNo":155,"name":156,"nameZh":6,"description":157,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":158,"categories":159,"keywords":160,"publishedAt":39},"01M71SRPHE452V400HD2EZC4XG","workers-best-practices","Reviews and authors Cloudflare Workers code against production best practices. Load when writing new Workers, reviewing Worker code, configuring wrangler.jsonc, or checking for common Workers anti-patterns (streaming, floating promises, global state, secrets, bindings, observability). Biases towards retrieval from Cloudflare docs over pre-trained knowledge.","https:\u002F\u002Fgithub.com\u002Fsanurb\u002F.dotfiles\u002Fblob\u002Fmain\u002Fconfig\u002Fpi\u002Fagent\u002Fskills\u002Fworkers-best-practices\u002FSKILL.md",[],[161,151,152,162,163,164,26,36,165,35,166,131,95,150,33,31,167,168,169,170],"workers best practices","observability","reviews","promises","worker","new","common","streaming","state","anti-patterns",{"skillNo":172,"name":173,"nameZh":6,"description":174,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":175,"categories":176,"keywords":180,"publishedAt":39},"01M71SRJ36HWMTQ9ZMQ2RB008S","web-perf","Analyzes web performance using Chrome DevTools MCP. Measures Core Web Vitals (LCP, INP, CLS) and supplementary metrics (FCP, TBT, Speed Index), identifies render-blocking resources, network dependency chains, layout shifts, caching issues, and accessibility gaps. Use when asked to audit, profile, debug, or optimize page load performance, Lighthouse scores, or site speed. Biases towards retrieval from current documentation over pre-trained knowledge.","https:\u002F\u002Fgithub.com\u002Fsanurb\u002F.dotfiles\u002Fblob\u002Fmain\u002Fconfig\u002Fpi\u002Fagent\u002Fskills\u002Fweb-perf\u002FSKILL.md",[177],{"categoryNo":178,"categoryName":179,"taxonomyType":86,"taxonomyTypeDesc":87},"01JBSEEDCAT000000000000023","Skill与智能体开发",[181,182,183,184,185,186,187,188,189,190,35,191,33,192,193,194,195,196,197,198],"web perf","perf","web","resources","vitals","chrome devtools","performance","render","issues","devtools","MCP","caching","documentation","optimize","layout","audit","dependency","network",{"skillNo":200,"name":201,"nameZh":6,"description":202,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":203,"categories":204,"keywords":205,"publishedAt":39},"01M71SREWXFKFN6DM80YCCQZ46","wayfinder","Plan a huge chunk of work — more than one agent session can hold — as a shared map of decision tickets on your issue tracker, and resolve them one at a time until the way to the destination is clear.","https:\u002F\u002Fgithub.com\u002Fsanurb\u002F.dotfiles\u002Fblob\u002Fmain\u002Fconfig\u002Fpi\u002Fagent\u002Fskills\u002Fwayfinder\u002FSKILL.md",[],[201,206,207,208,209,210,211,99,212,213,214,215,128,216,217,218,219,220,221,222],"shared","as","chunk","time","session","decision","more","map","one","one at a time","agent session","work","plan","tracker","tickets","at","destination"]