[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CDHS66Q0SE6D7KK99FA5EM":3,"skill-same:01M6CDHS66Q0SE6D7KK99FA5EM":87},{"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":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":58,"commitSha":59,"skillDirectory":60,"forksCount":61,"repositoryHtmlUrl":62,"repositoryHomepageUrl":6,"ownerHtmlUrl":63,"ownerBlogUrl":64,"ownerDescription":65,"updatedAt":66,"install":67,"resources":80},"01M6CDHS66Q0SE6D7KK99FA5EM","adk-infra-expert",null,"Use when provisioning Vertex AI ADK infrastructure with Terraform. Trigger with phrases like \"deploy ADK terraform\", \"agent engine infrastructure\", \"provision ADK agent\", \"vertex AI agent terraform\", or \"code execution sandbox terraform\". Provisions Agent Engine runtime, 14-day code execution sandbox, Memory Bank, VPC Service Controls, IAM roles, and secure multi-agent infrastructure.","BbgnsurfTech\u002Fclaude-skills-collection","BbgnsurfTech","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F59598605?v=4","01M6C5ZT4G3G4QPQB64QDVW438","Bbgnsurf Technologies","01M6C5ZT8JN4VWSZZH3DD8J4EG",29,"MIT","https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Fdevops\u002Fjeremy-adk-terraform\u002Fskills\u002Fadk-infra-expert\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"expert","adk infra expert","adk","vpc","use","edit","write","read","grep","engine","Bash","gcloud","execution","iam","code","secure","ai agent","memory","vertex ai","sandbox","2026-11-10 10:12:30",false,"---\ndescription: Use when provisioning Vertex AI ADK infrastructure with Terraform. Trigger with phrases like \"deploy ADK terraform\", \"agent engine infrastructure\", \"provision ADK agent\", \"vertex AI agent terraform\", or \"code execution sandbox terraform\". Provisions Agent Engine runtime, 14-day code execution sandbox, Memory Bank, VPC Service Controls, IAM roles, and secure multi-agent infrastructure.\nallowed-tools:\n- Read\n- Write\n- Edit\n- Grep\n- Glob\n- Bash(terraform:*)\n- Bash(gcloud:*)\nname: adk-infra-expert\nlicense: MIT\nversion: 1.0.0\n---\n\n## Prerequisites\n\nBefore using this skill, ensure:\n- Google Cloud project with billing enabled\n- Terraform 1.0+ installed\n- gcloud CLI authenticated with appropriate permissions\n- Vertex AI API enabled in target project\n- VPC Service Controls access policy created (for enterprise)\n- Understanding of Agent Engine architecture and requirements\n\n## Instructions\n\n1. **Initialize Terraform**: Set up backend for remote state storage\n2. **Configure Variables**: Define project_id, region, agent configuration\n3. **Provision VPC**: Create network infrastructure with Private Service Connect\n4. **Set Up IAM**: Create service accounts with least privilege roles\n5. **Deploy Agent Engine**: Configure runtime with code execution and memory bank\n6. **Enable VPC-SC**: Apply service perimeter for data exfiltration protection\n7. **Configure Monitoring**: Set up Cloud Monitoring dashboards and alerts\n8. **Validate Deployment**: Test agent endpoint and verify all components\n\n## Output\n\n**Agent Engine Deployment:**\n```hcl\n# {baseDir}\u002Fterraform\u002Fmain.tf\nresource \"google_vertex_ai_agent_runtime\" \"adk_agent\" {\n  project  = var.project_id\n  location = var.region\n  display_name = \"adk-production-agent\"\n\n  agent_config {\n    model = \"gemini-2.5-flash\"\n    code_execution {\n      enabled = true\n      state_ttl_days = 14\n      sandbox_type = \"SECURE_ISOLATED\"\n    }\n    memory_bank {\n      enabled = true\n    }\n  }\n\n  vpc_config {\n    vpc_network = google_compute_network.agent_vpc.id\n    private_service_connect {\n      enabled = true\n    }\n  }\n}\n```\n\n**VPC Service Controls:**\n```hcl\nresource \"google_access_context_manager_service_perimeter\" \"adk_perimeter\" {\n  parent = \"accessPolicies\u002F${var.access_policy_id}\"\n  title  = \"ADK Agent Engine Perimeter\"\n\n  status {\n    restricted_services = [\n      \"aiplatform.googleapis.com\",\n      \"run.googleapis.com\"\n    ]\n  }\n}\n```\n\n**IAM Configuration:**\n```hcl\nresource \"google_service_account\" \"adk_agent\" {\n  account_id   = \"adk-agent-sa\"\n  display_name = \"ADK Agent Service Account\"\n}\n\nresource \"google_project_iam_member\" \"agent_identity\" {\n  project = var.project_id\n  role    = \"roles\u002Faiplatform.agentUser\"\n  member  = \"serviceAccount:${google_service_account.adk_agent.email}\"\n}\n```\n\n## Error Handling\n\n**Terraform State Lock**\n- Error: \"Error acquiring the state lock\"\n- Solution: Use `terraform force-unlock \u003Clock-id>` or wait for lock expiry\n\n**API Not Enabled**\n- Error: \"Vertex AI API has not been used\"\n- Solution: Enable with `gcloud services enable aiplatform.googleapis.com`\n\n**VPC-SC Configuration**\n- Error: \"Access denied by VPC Service Controls\"\n- Solution: Add project to service perimeter or adjust ingress\u002Fegress policies\n\n**IAM Permission Denied**\n- Error: \"does not have required permission\"\n- Solution: Grant roles\u002Fowner temporarily to service account running Terraform\n\n**Resource Already Exists**\n- Error: \"Resource already exists\"\n- Solution: Import existing resource or use data source instead\n\n## Resources\n\n- Agent Engine: https:\u002F\u002Fcloud.google.com\u002Fvertex-ai\u002Fgenerative-ai\u002Fdocs\u002Fagent-engine\u002Foverview\n- VPC-SC: https:\u002F\u002Fcloud.google.com\u002Fvpc-service-controls\u002Fdocs\n- Terraform Google Provider: https:\u002F\u002Fregistry.terraform.io\u002Fproviders\u002Fhashicorp\u002Fgoogle\u002Flatest\n- ADK Terraform examples in {baseDir}\u002Fexamples\u002F\n","## Prerequisites\n\nBefore using this skill, ensure:\n- Google Cloud project with billing enabled\n- Terraform 1.0+ installed\n- gcloud CLI authenticated with appropriate permissions\n- Vertex AI API enabled in target project\n- VPC Service Controls access policy created (for enterprise)\n- Understanding of Agent Engine architecture and requirements\n\n## Instructions\n\n1. **Initialize Terraform**: Set up backend for remote state storage\n2. **Configure Variables**: Define project_id, region, agent configuration\n3. **Provision VPC**: Create network infrastructure with Private Service Connect\n4. **Set Up IAM**: Create service accounts with least privilege roles\n5. **Deploy Agent Engine**: Configure runtime with code execution and memory bank\n6. **Enable VPC-SC**: Apply service perimeter for data exfiltration protection\n7. **Configure Monitoring**: Set up Cloud Monitoring dashboards and alerts\n8. **Validate Deployment**: Test agent endpoint and verify all components\n\n## Output\n\n**Agent Engine Deployment:**\n```hcl\n# {baseDir}\u002Fterraform\u002Fmain.tf\nresource \"google_vertex_ai_agent_runtime\" \"adk_agent\" {\n  project  = var.project_id\n  location = var.region\n  display_name = \"adk-production-agent\"\n\n  agent_config {\n    model = \"gemini-2.5-flash\"\n    code_execution {\n      enabled = true\n      state_ttl_days = 14\n      sandbox_type = \"SECURE_ISOLATED\"\n    }\n    memory_bank {\n      enabled = true\n    }\n  }\n\n  vpc_config {\n    vpc_network = google_compute_network.agent_vpc.id\n    private_service_connect {\n      enabled = true\n    }\n  }\n}\n```\n\n**VPC Service Controls:**\n```hcl\nresource \"google_access_context_manager_service_perimeter\" \"adk_perimeter\" {\n  parent = \"accessPolicies\u002F${var.access_policy_id}\"\n  title  = \"ADK Agent Engine Perimeter\"\n\n  status {\n    restricted_services = [\n      \"aiplatform.googleapis.com\",\n      \"run.googleapis.com\"\n    ]\n  }\n}\n```\n\n**IAM Configuration:**\n```hcl\nresource \"google_service_account\" \"adk_agent\" {\n  account_id   = \"adk-agent-sa\"\n  display_name = \"ADK Agent Service Account\"\n}\n\nresource \"google_project_iam_member\" \"agent_identity\" {\n  project = var.project_id\n  role    = \"roles\u002Faiplatform.agentUser\"\n  member  = \"serviceAccount:${google_service_account.adk_agent.email}\"\n}\n```\n\n## Error Handling\n\n**Terraform State Lock**\n- Error: \"Error acquiring the state lock\"\n- Solution: Use `terraform force-unlock \u003Clock-id>` or wait for lock expiry\n\n**API Not Enabled**\n- Error: \"Vertex AI API has not been used\"\n- Solution: Enable with `gcloud services enable aiplatform.googleapis.com`\n\n**VPC-SC Configuration**\n- Error: \"Access denied by VPC Service Controls\"\n- Solution: Add project to service perimeter or adjust ingress\u002Fegress policies\n\n**IAM Permission Denied**\n- Error: \"does not have required permission\"\n- Solution: Grant roles\u002Fowner temporarily to service account running Terraform\n\n**Resource Already Exists**\n- Error: \"Resource already exists\"\n- Solution: Import existing resource or use data source instead\n\n## Resources\n\n- Agent Engine: https:\u002F\u002Fcloud.google.com\u002Fvertex-ai\u002Fgenerative-ai\u002Fdocs\u002Fagent-engine\u002Foverview\n- VPC-SC: https:\u002F\u002Fcloud.google.com\u002Fvpc-service-controls\u002Fdocs\n- Terraform Google Provider: https:\u002F\u002Fregistry.terraform.io\u002Fproviders\u002Fhashicorp\u002Fgoogle\u002Flatest\n- ADK Terraform examples in {baseDir}\u002Fexamples\u002F\n",{"name":5,"license":15,"version":49,"description":7,"allowed-tools":50},"1.0.0",[51,52,53,54,55,56,57],"Read","Write","Edit","Grep","Glob","Bash(terraform:*)","Bash(gcloud:*)","main","01d3fafeca1133f841956b8b90b939fee92d71e7","plugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Fdevops\u002Fjeremy-adk-terraform\u002Fskills\u002Fadk-infra-expert",9,"https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection","https:\u002F\u002Fgithub.com\u002FBbgnsurfTech","www.bbgnsurf.com","An ICT solutions provider and software development company","2025-12-18 20:19:58",{"source":8,"skillName":5,"commands":68,"prompt":78,"zipAvailable":79},[69,72,75],{"tool":70,"command":71},"npx","npx skills add BbgnsurfTech\u002Fclaude-skills-collection --skill adk-infra-expert",{"tool":73,"command":74},"bunx","bunx skills add BbgnsurfTech\u002Fclaude-skills-collection --skill adk-infra-expert",{"tool":76,"command":77},"pnpm","pnpm dlx skills add BbgnsurfTech\u002Fclaude-skills-collection --skill adk-infra-expert","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Fdevops\u002Fjeremy-adk-terraform\u002Fskills\u002Fadk-infra-expert\u002FSKILL.md",true,[81],{"path":82,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":85,"sourceHtmlUrl":86},"scripts\u002Finit-terraform.sh","SCRIPT","脚本",2106,"https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Fdevops\u002Fjeremy-adk-terraform\u002Fskills\u002Fadk-infra-expert\u002Fscripts\u002Finit-terraform.sh",[88,106,124,145,157,171],{"skillNo":89,"name":90,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":97,"publishedAt":44},"01M6CDVX5RHG36WP2Z7X8WAYYA","testing-visual-regression","Detect visual changes in UI components using screenshot comparison.\nUse when detecting unintended UI changes or pixel differences.\nTrigger with phrases like \"test visual changes\", \"compare screenshots\", or \"detect UI regressions\".","https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Ftesting\u002Fvisual-regression-tester\u002Fskills\u002Fvisual-regression-tester\u002FSKILL.md",[94],{"categoryNo":95,"categoryName":96,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[98,99,100,29,32,31,30,28,101,102,103,104,105,34],"testing visual regression","testing","regression","components","test","screenshots","screenshot","ui",{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":113,"publishedAt":44},"01M6CDVT4S54EMAPZ231KSP2XQ","generating-unit-tests","Automatically generate comprehensive unit tests from source code covering happy paths, edge cases, and error conditions.\nUse when creating test coverage for functions, classes, or modules.\nTrigger with phrases like \"generate unit tests\", \"create tests for\", or \"add test coverage\".","https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Ftesting\u002Funit-test-generator\u002Fskills\u002Funit-test-generator\u002FSKILL.md",[112],{"categoryNo":95,"categoryName":96,"taxonomyType":21,"taxonomyTypeDesc":22},[114,115,116,117,118,102,29,119,120,121,28,122,38,30,31,32,34,123],"unit tests","Generating Unit Tests","generate","create","add test","functions","modules","test coverage","coverage","edge",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":136,"publishedAt":44},"01M6CDVPQKGQ450Q50ZC84FPMR","generating-test-reports","Generate comprehensive test reports with metrics, coverage, and visualizations.\nUse when performing specialized testing.\nTrigger with phrases like \"generate test report\", \"create test documentation\", or \"show test metrics\".","https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Ftesting\u002Ftest-report-generator\u002Fskills\u002Ftest-report-generator\u002FSKILL.md",[130,131],{"categoryNo":95,"categoryName":96,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":132,"categoryName":133,"taxonomyType":134,"taxonomyTypeDesc":135},"01JBSEEDCAT000000000000034","行政与办公人员","PROFESSION","适用职业",[102,137,138,139,140,28,122,29,141,30,31,142,34,143,116,117,144,99,32],"reports","Generating Test Reports","test report","specialized","report","visualizations","metrics","documentation",{"skillNo":146,"name":147,"nameZh":6,"description":148,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":149,"categories":150,"keywords":152,"publishedAt":44},"01M6CDVK97VFZ53CEYEGQ4QFZ6","orchestrating-test-execution","Coordinate parallel test execution across multiple environments and frameworks.\nUse when performing specialized testing.\nTrigger with phrases like \"orchestrate tests\", \"run parallel tests\", or \"coordinate test execution\".","https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Ftesting\u002Ftest-orchestrator\u002Fskills\u002Ftest-orchestrator\u002FSKILL.md",[151],{"categoryNo":95,"categoryName":96,"taxonomyType":21,"taxonomyTypeDesc":22},[153,36,102,31,28,29,30,140,32,154,34,155,156,99],"orchestrating test execution","parallel","orchestrate","run",{"skillNo":158,"name":159,"nameZh":6,"description":160,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":161,"categories":162,"keywords":164,"publishedAt":44},"01M6CDVFTCBQ65TGB1YJCZB90G","managing-test-environments","Provision and manage isolated test environments with configuration and data.\nUse when performing specialized testing.\nTrigger with phrases like \"manage test environment\", \"provision test env\", or \"setup test infrastructure\".","https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Ftesting\u002Ftest-environment-manager\u002Fskills\u002Ftest-environment-manager\u002FSKILL.md",[163],{"categoryNo":95,"categoryName":96,"taxonomyType":21,"taxonomyTypeDesc":22},[165,102,29,30,31,140,32,34,166,167,168,99,169,170,28],"Managing Test Environments","data","infrastructure","setup","environment","manage",{"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":178,"publishedAt":44},"01M6CDVD0NPFXVEQGT9CMF02H0","generating-test-doubles","Generate mocks, stubs, spies, and fakes for dependency isolation.\nUse when creating mocks, stubs, or test isolation fixtures.\nTrigger with phrases like \"generate mocks\", \"create test doubles\", or \"setup stubs\".","https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Ftesting\u002Ftest-doubles-generator\u002Fskills\u002Ftest-doubles-generator\u002FSKILL.md",[177],{"categoryNo":95,"categoryName":96,"taxonomyType":21,"taxonomyTypeDesc":22},[102,179,180,28,29,30,31,32,34,116,117,168],"Generating Test Doubles","dependency"]