[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71HXR8NSJZW8BPJDG5KDC61":3,"skill-same:01M71HXR8NSJZW8BPJDG5KDC61":190},{"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":23,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":52,"commitSha":53,"skillDirectory":54,"forksCount":14,"repositoryHtmlUrl":55,"repositoryHomepageUrl":6,"ownerHtmlUrl":56,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":57,"install":58,"resources":71},"01M71HXR8NSJZW8BPJDG5KDC61","ck:devops",null,"Deploy to Cloudflare (Workers, R2, D1), Docker, GCP (Cloud Run, GKE), Kubernetes (kubectl, Helm). Use for serverless, containers, CI\u002FCD, GitOps, security audit.","datnguyense1104\u002Fhom-nay-an-gi","datnguyense1104","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F124538996?v=4","01M71HMY98E9Y6DA31107PHNRE","Dat","01M71HMYADS82R3VSPJSDW68TX",0,"MIT","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fdevops\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署","SCENARIO","使用场景",[24,5,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"ck","devops","cloud run","containers","d1","for","platform","gitops","task","workers","use","helm","security audit","gcp","ci","audit","cloudflare","kubernetes","docker","2026-11-10 10:12:30",false,"---\nname: ck:devops\ndescription: Deploy to Cloudflare (Workers, R2, D1), Docker, GCP (Cloud Run, GKE), Kubernetes (kubectl, Helm). Use for serverless, containers, CI\u002FCD, GitOps, security audit.\nlicense: MIT\nargument-hint: \"[platform] [task]\"\nmetadata:\n  author: claudekit\n  version: \"2.0.0\"\n---\n\n# DevOps Skill\n\nDeploy and manage cloud infrastructure across Cloudflare, Docker, Google Cloud, and Kubernetes.\n\n## When to Use\n\n- Deploy serverless apps to Cloudflare Workers\u002FPages\n- Containerize apps with Docker, Docker Compose\n- Manage GCP with gcloud CLI (Cloud Run, GKE, Cloud SQL)\n- Kubernetes cluster management (kubectl, Helm)\n- GitOps workflows (Argo CD, Flux)\n- CI\u002FCD pipelines, multi-region deployments\n- Security audits, RBAC, network policies\n\n## Platform Selection\n\n| Need | Choose |\n|------|--------|\n| Sub-50ms latency globally | Cloudflare Workers |\n| Large file storage (zero egress) | Cloudflare R2 |\n| SQL database (global reads) | Cloudflare D1 |\n| Containerized workloads | Docker + Cloud Run\u002FGKE |\n| Enterprise Kubernetes | GKE |\n| Managed relational DB | Cloud SQL |\n| Static site + API | Cloudflare Pages |\n| Container orchestration | Kubernetes |\n| Package management for K8s | Helm |\n\n## Quick Start\n\n```bash\n# Cloudflare Worker\nwrangler init my-worker && cd my-worker && wrangler deploy\n\n# Docker\ndocker build -t myapp . && docker run -p 3000:3000 myapp\n\n# GCP Cloud Run\ngcloud run deploy my-service --image gcr.io\u002Fproject\u002Fimage --region us-central1\n\n# Kubernetes\nkubectl apply -f manifests\u002F && kubectl get pods\n```\n\n## Reference Navigation\n\n### Cloudflare Platform\n- `cloudflare-platform.md` - Edge computing overview\n- `cloudflare-workers-basics.md` - Handler types, patterns\n- `cloudflare-workers-advanced.md` - Performance, optimization\n- `cloudflare-workers-apis.md` - Runtime APIs, bindings\n- `cloudflare-r2-storage.md` - Object storage, S3 compatibility\n- `cloudflare-d1-kv.md` - D1 SQLite, KV store\n- `browser-rendering.md` - Puppeteer automation\n\n### Docker\n- `docker-basics.md` - Dockerfile, images, containers\n- `docker-compose.md` - Multi-container apps\n\n### Google Cloud\n- `gcloud-platform.md` - gcloud CLI, authentication\n- `gcloud-services.md` - Compute Engine, GKE, Cloud Run\n\n### Kubernetes\n- `kubernetes-basics.md` - Core concepts, architecture, workloads\n- `kubernetes-kubectl.md` - Essential commands, debugging workflow\n- `kubernetes-helm.md` \u002F `kubernetes-helm-advanced.md` - Helm charts, templates\n- `kubernetes-security.md` \u002F `kubernetes-security-advanced.md` - RBAC, secrets\n- `kubernetes-workflows.md` \u002F `kubernetes-workflows-advanced.md` - GitOps, CI\u002FCD\n- `kubernetes-troubleshooting.md` \u002F `kubernetes-troubleshooting-advanced.md` - Debug\n\n### Scripts\n- `scripts\u002Fcloudflare-deploy.py` - Automate Worker deployments\n- `scripts\u002Fdocker-optimize.py` - Analyze Dockerfiles\n\n## Best Practices\n\n**Security:** Non-root containers, RBAC, secrets in env vars, image scanning\n**Performance:** Multi-stage builds, edge caching, resource limits\n**Cost:** R2 for large egress, caching, right-size resources\n**Development:** Docker Compose local dev, wrangler dev, version control IaC\n\n## Resources\n\n- Cloudflare: https:\u002F\u002Fdevelopers.cloudflare.com\n- Docker: https:\u002F\u002Fdocs.docker.com\n- GCP: https:\u002F\u002Fcloud.google.com\u002Fdocs\n- Kubernetes: https:\u002F\u002Fkubernetes.io\u002Fdocs\n- Helm: https:\u002F\u002Fhelm.sh\u002Fdocs\n","# DevOps Skill\n\nDeploy and manage cloud infrastructure across Cloudflare, Docker, Google Cloud, and Kubernetes.\n\n## When to Use\n\n- Deploy serverless apps to Cloudflare Workers\u002FPages\n- Containerize apps with Docker, Docker Compose\n- Manage GCP with gcloud CLI (Cloud Run, GKE, Cloud SQL)\n- Kubernetes cluster management (kubectl, Helm)\n- GitOps workflows (Argo CD, Flux)\n- CI\u002FCD pipelines, multi-region deployments\n- Security audits, RBAC, network policies\n\n## Platform Selection\n\n| Need | Choose |\n|------|--------|\n| Sub-50ms latency globally | Cloudflare Workers |\n| Large file storage (zero egress) | Cloudflare R2 |\n| SQL database (global reads) | Cloudflare D1 |\n| Containerized workloads | Docker + Cloud Run\u002FGKE |\n| Enterprise Kubernetes | GKE |\n| Managed relational DB | Cloud SQL |\n| Static site + API | Cloudflare Pages |\n| Container orchestration | Kubernetes |\n| Package management for K8s | Helm |\n\n## Quick Start\n\n```bash\n# Cloudflare Worker\nwrangler init my-worker && cd my-worker && wrangler deploy\n\n# Docker\ndocker build -t myapp . && docker run -p 3000:3000 myapp\n\n# GCP Cloud Run\ngcloud run deploy my-service --image gcr.io\u002Fproject\u002Fimage --region us-central1\n\n# Kubernetes\nkubectl apply -f manifests\u002F && kubectl get pods\n```\n\n## Reference Navigation\n\n### Cloudflare Platform\n- `cloudflare-platform.md` - Edge computing overview\n- `cloudflare-workers-basics.md` - Handler types, patterns\n- `cloudflare-workers-advanced.md` - Performance, optimization\n- `cloudflare-workers-apis.md` - Runtime APIs, bindings\n- `cloudflare-r2-storage.md` - Object storage, S3 compatibility\n- `cloudflare-d1-kv.md` - D1 SQLite, KV store\n- `browser-rendering.md` - Puppeteer automation\n\n### Docker\n- `docker-basics.md` - Dockerfile, images, containers\n- `docker-compose.md` - Multi-container apps\n\n### Google Cloud\n- `gcloud-platform.md` - gcloud CLI, authentication\n- `gcloud-services.md` - Compute Engine, GKE, Cloud Run\n\n### Kubernetes\n- `kubernetes-basics.md` - Core concepts, architecture, workloads\n- `kubernetes-kubectl.md` - Essential commands, debugging workflow\n- `kubernetes-helm.md` \u002F `kubernetes-helm-advanced.md` - Helm charts, templates\n- `kubernetes-security.md` \u002F `kubernetes-security-advanced.md` - RBAC, secrets\n- `kubernetes-workflows.md` \u002F `kubernetes-workflows-advanced.md` - GitOps, CI\u002FCD\n- `kubernetes-troubleshooting.md` \u002F `kubernetes-troubleshooting-advanced.md` - Debug\n\n### Scripts\n- `scripts\u002Fcloudflare-deploy.py` - Automate Worker deployments\n- `scripts\u002Fdocker-optimize.py` - Analyze Dockerfiles\n\n## Best Practices\n\n**Security:** Non-root containers, RBAC, secrets in env vars, image scanning\n**Performance:** Multi-stage builds, edge caching, resource limits\n**Cost:** R2 for large egress, caching, right-size resources\n**Development:** Docker Compose local dev, wrangler dev, version control IaC\n\n## Resources\n\n- Cloudflare: https:\u002F\u002Fdevelopers.cloudflare.com\n- Docker: https:\u002F\u002Fdocs.docker.com\n- GCP: https:\u002F\u002Fcloud.google.com\u002Fdocs\n- Kubernetes: https:\u002F\u002Fkubernetes.io\u002Fdocs\n- Helm: https:\u002F\u002Fhelm.sh\u002Fdocs\n",{"name":5,"license":15,"metadata":48,"description":7,"argument-hint":51},{"author":49,"version":50},"claudekit","2.0.0","[platform] [task]","main","b6e032cdf3f5b40e5203dd2ac38ecf4e6c265961",".opencode\u002Fskills\u002Fdevops","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104","2026-05-13 15:56:14",{"source":8,"skillName":5,"commands":59,"prompt":69,"zipAvailable":70},[60,63,66],{"tool":61,"command":62},"npx","npx skills add datnguyense1104\u002Fhom-nay-an-gi --skill \"ck:devops\"",{"tool":64,"command":65},"bunx","bunx skills add datnguyense1104\u002Fhom-nay-an-gi --skill \"ck:devops\"",{"tool":67,"command":68},"pnpm","pnpm dlx skills add datnguyense1104\u002Fhom-nay-an-gi --skill \"ck:devops\"","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fdevops\u002FSKILL.md",true,[72,78,84,88,92,96,100,104,108,112,116,120,124,128,132,136,140,144,148,152,156,160,164,170,174,178,182,186],{"path":73,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":76,"sourceHtmlUrl":77},".env.example","OTHER","其他",2609,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fdevops\u002F.env.example",{"path":79,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":82,"sourceHtmlUrl":83},"references\u002Fbrowser-rendering.md","REFERENCE","参考文档",6932,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fdevops\u002Freferences\u002Fbrowser-rendering.md",{"path":85,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":86,"sourceHtmlUrl":87},"references\u002Fcloudflare-d1-kv.md",2549,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fdevops\u002Freferences\u002Fcloudflare-d1-kv.md",{"path":89,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":90,"sourceHtmlUrl":91},"references\u002Fcloudflare-platform.md",7292,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fdevops\u002Freferences\u002Fcloudflare-platform.md",{"path":93,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":94,"sourceHtmlUrl":95},"references\u002Fcloudflare-r2-storage.md",6274,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fdevops\u002Freferences\u002Fcloudflare-r2-storage.md",{"path":97,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":98,"sourceHtmlUrl":99},"references\u002Fcloudflare-workers-advanced.md",7286,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fdevops\u002Freferences\u002Fcloudflare-workers-advanced.md",{"path":101,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":102,"sourceHtmlUrl":103},"references\u002Fcloudflare-workers-apis.md",6947,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fdevops\u002Freferences\u002Fcloudflare-workers-apis.md",{"path":105,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":106,"sourceHtmlUrl":107},"references\u002Fcloudflare-workers-basics.md",8789,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fdevops\u002Freferences\u002Fcloudflare-workers-basics.md",{"path":109,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":110,"sourceHtmlUrl":111},"references\u002Fdocker-basics.md",5818,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fdevops\u002Freferences\u002Fdocker-basics.md",{"path":113,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":114,"sourceHtmlUrl":115},"references\u002Fdocker-compose.md",4827,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fdevops\u002Freferences\u002Fdocker-compose.md",{"path":117,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":118,"sourceHtmlUrl":119},"references\u002Fgcloud-platform.md",7015,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fdevops\u002Freferences\u002Fgcloud-platform.md",{"path":121,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":122,"sourceHtmlUrl":123},"references\u002Fgcloud-services.md",5925,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fdevops\u002Freferences\u002Fgcloud-services.md",{"path":125,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":126,"sourceHtmlUrl":127},"references\u002Fkubernetes-basics.md",1739,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fdevops\u002Freferences\u002Fkubernetes-basics.md",{"path":129,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":130,"sourceHtmlUrl":131},"references\u002Fkubernetes-helm-advanced.md",1743,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fdevops\u002Freferences\u002Fkubernetes-helm-advanced.md",{"path":133,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":134,"sourceHtmlUrl":135},"references\u002Fkubernetes-helm.md",1862,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fdevops\u002Freferences\u002Fkubernetes-helm.md",{"path":137,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":138,"sourceHtmlUrl":139},"references\u002Fkubernetes-kubectl.md",1741,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fdevops\u002Freferences\u002Fkubernetes-kubectl.md",{"path":141,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":142,"sourceHtmlUrl":143},"references\u002Fkubernetes-security-advanced.md",1817,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fdevops\u002Freferences\u002Fkubernetes-security-advanced.md",{"path":145,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":146,"sourceHtmlUrl":147},"references\u002Fkubernetes-security.md",1755,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fdevops\u002Freferences\u002Fkubernetes-security.md",{"path":149,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":150,"sourceHtmlUrl":151},"references\u002Fkubernetes-troubleshooting-advanced.md",1448,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fdevops\u002Freferences\u002Fkubernetes-troubleshooting-advanced.md",{"path":153,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":154,"sourceHtmlUrl":155},"references\u002Fkubernetes-troubleshooting.md",1424,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fdevops\u002Freferences\u002Fkubernetes-troubleshooting.md",{"path":157,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":158,"sourceHtmlUrl":159},"references\u002Fkubernetes-workflows-advanced.md",1334,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fdevops\u002Freferences\u002Fkubernetes-workflows-advanced.md",{"path":161,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":162,"sourceHtmlUrl":163},"references\u002Fkubernetes-workflows.md",1617,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fdevops\u002Freferences\u002Fkubernetes-workflows.md",{"path":165,"resourceType":166,"resourceTypeDesc":167,"sizeBytes":168,"sourceHtmlUrl":169},"scripts\u002Fcloudflare_deploy.py","SCRIPT","脚本",7647,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fdevops\u002Fscripts\u002Fcloudflare_deploy.py",{"path":171,"resourceType":166,"resourceTypeDesc":167,"sizeBytes":172,"sourceHtmlUrl":173},"scripts\u002Fdocker_optimize.py",11733,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fdevops\u002Fscripts\u002Fdocker_optimize.py",{"path":175,"resourceType":166,"resourceTypeDesc":167,"sizeBytes":176,"sourceHtmlUrl":177},"scripts\u002Frequirements.txt",471,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fdevops\u002Fscripts\u002Frequirements.txt",{"path":179,"resourceType":166,"resourceTypeDesc":167,"sizeBytes":180,"sourceHtmlUrl":181},"scripts\u002Ftests\u002Frequirements.txt",52,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fdevops\u002Fscripts\u002Ftests\u002Frequirements.txt",{"path":183,"resourceType":166,"resourceTypeDesc":167,"sizeBytes":184,"sourceHtmlUrl":185},"scripts\u002Ftests\u002Ftest_cloudflare_deploy.py",9261,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fdevops\u002Fscripts\u002Ftests\u002Ftest_cloudflare_deploy.py",{"path":187,"resourceType":166,"resourceTypeDesc":167,"sizeBytes":188,"sourceHtmlUrl":189},"scripts\u002Ftests\u002Ftest_docker_optimize.py",12969,"https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fdevops\u002Fscripts\u002Ftests\u002Ftest_docker_optimize.py",[191,219,244,278,305,336],{"skillNo":192,"name":193,"nameZh":6,"description":194,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":195,"licenseFileUrl":6,"sourceHtmlUrl":196,"categories":197,"keywords":201,"publishedAt":43},"01M71J2265Q3MAW1K2VJ7ZPQ4R","ck:web-testing","Web testing with Playwright, Vitest, k6. E2E\u002Funit\u002Fintegration\u002Fload\u002Fsecurity\u002Fvisual\u002Fa11y testing. Use for test automation, flakiness, Core Web Vitals, mobile gestures, cross-browser.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fweb-testing\u002FSKILL.md",[198],{"categoryNo":199,"categoryName":200,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[202,203,204,205,24,206,207,208,209,210,211,212,213,214,215,216,29,217,218,34],"testing","ck:web testing","web","web testing","unit","vitals","browser","a11y","mobile","security","k6","target","gestures","vitest","core","e2e","cross-browser",{"skillNo":220,"name":221,"nameZh":6,"description":222,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":223,"categories":224,"keywords":225,"publishedAt":43},"01M71J1YDT008XR78BXVP0P8AJ","ck:web-frameworks","Build with Next.js (App Router, RSC, SSR, ISR), Turborepo monorepos. Use for React apps, server rendering, build optimization, caching strategies, shared dependencies.","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fweb-frameworks\u002FSKILL.md",[],[226,227,228,204,24,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243],"ck:web frameworks","frameworks","web frameworks","shared","app","apps","caching","react","router","strategies","server","rsc","next","ssr","rendering","turborepo","framework","feature",{"skillNo":245,"name":246,"nameZh":6,"description":247,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":248,"sourceHtmlUrl":249,"categories":250,"keywords":259,"publishedAt":43},"01M71J1DWTE1QMZHACDGDGE0GC","ck:ui-styling","Style UIs with shadcn\u002Fui components (Radix UI + Tailwind CSS). Use for accessible components, themes, dark mode, responsive layouts, design systems, color customization.","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fui-styling\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fui-styling\u002FSKILL.md",[251,254],{"categoryNo":252,"categoryName":253,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":255,"categoryName":256,"taxonomyType":257,"taxonomyTypeDesc":258},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[260,261,262,263,24,264,265,266,267,268,269,270,271,272,273,274,275,276,29,277],"ui styling","ck:ui styling","styling","ui","css","Tailwind","mode","design","themes","design systems","components","component","layout","responsive","shadcn","color","dark","ui components",{"skillNo":279,"name":280,"nameZh":6,"description":281,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":282,"categories":283,"keywords":287,"publishedAt":43},"01M71J1AAZNC9P7PJX93D5K1CR","ck:threejs","Build 3D web apps with Three.js (WebGL\u002FWebGPU). 556 searchable examples, 60 API classes, 20 use cases. Actions: create 3D scene, load model, add animation, implement physics, build VR\u002FXR. Topics: GLTF loader, PBR materials, particle effects, shadows, post-processing, compute shaders, TSL. Integrations: WebGPU, physics engines, spatial audio.","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fthreejs\u002FSKILL.md",[284],{"categoryNo":285,"categoryName":286,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",[280,24,288,289,290,291,292,293,294,295,296,297,231,298,299,300,301,302,303,304],"threejs","Animation","3D","processing","Audio","physics","model","actions","webgpu","effects","api","create","shaders","post-processing","vr","add","integrations",{"skillNo":306,"name":307,"nameZh":6,"description":308,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":309,"categories":310,"keywords":319,"publishedAt":43},"01M71J0X8QYTTPZE6G1VNHXS28","ck:stitch","AI design generation with Google Stitch. Generate UI designs from text prompts, export Tailwind\u002FHTML\u002FDESIGN.md, orchestrate design-to-code pipeline. Use for rapid prototyping, UI generation, design exploration.","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fstitch\u002FSKILL.md",[311,312,315,318],{"categoryNo":252,"categoryName":253,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":313,"categoryName":314,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":316,"categoryName":317,"taxonomyType":257,"taxonomyTypeDesc":258},"01JBSEEDCAT000000000000030","开发工程师",{"categoryNo":255,"categoryName":256,"taxonomyType":257,"taxonomyTypeDesc":258},[320,307,24,321,322,265,323,324,267,325,326,327,328,329,330,331,332,333,334,335],"stitch","orchestrate","exploration","pipeline","prototyping","Bash","code","text","generate","read","write","edit","google","action","export","google stitch",{"skillNo":337,"name":338,"nameZh":6,"description":339,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":195,"licenseFileUrl":340,"sourceHtmlUrl":341,"categories":342,"keywords":345,"publishedAt":43},"01M71J0SEMVWWJ8QKSSW8435F9","ck:skill-creator","Create or update Claude skills with eval-driven iteration. Use for new skills, skill scripts, references, benchmark optimization, description optimization, eval testing, extending Claude's capabilities.","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fdatnguyense1104\u002Fhom-nay-an-gi\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fskill-creator\u002FSKILL.md",[343,344],{"categoryNo":199,"categoryName":200,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":313,"categoryName":314,"taxonomyType":21,"taxonomyTypeDesc":22},[346,347,24,348,29,349,350,202,351,352,34,353,354,355,299,356,357,358,359,360],"skill creator","ck:skill creator","creator","iteration","Optimization","eval","new","extending","capabilities","with","references","name","update","scripts","benchmark"]