[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6XDPFJS2HGSE13RXF1HV8S7":3,"skill-same:01M6XDPFJS2HGSE13RXF1HV8S7":123},{"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":50,"linkOnly":51,"markdownContent":52,"markdownBody":53,"frontMatter":54,"refName":76,"commitSha":77,"skillDirectory":78,"forksCount":14,"repositoryHtmlUrl":79,"repositoryHomepageUrl":6,"ownerHtmlUrl":80,"ownerBlogUrl":6,"ownerDescription":81,"updatedAt":82,"install":83,"resources":96},"01M6XDPFJS2HGSE13RXF1HV8S7","terraform-specialist",null,"Deep-dive Terraform architecture review, module design, state management, and migration. Use for structured investigations of Terraform workspaces, provider configuration, module coupling, import workflows, and test coverage. Triggers on: \"Terraform audit\", \"module review\", \"state management\", \"Terraform import\", \"workspace design\", \"provider config review\", \"Terraform testing\".","kaiohenricunha\u002Fdotbabel","kaiohenricunha","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F69804490?v=4","01M6XCZD37W0KPCDGEA40Y610V","Kaio Cunha","01M6XCZD7SX714D114H3ZPNW09",0,"MIT","https:\u002F\u002Fgithub.com\u002Fkaiohenricunha\u002Fdotbabel\u002Fblob\u002Fmain\u002Fskills\u002Fterraform-specialist\u002FSKILL.md",[18,23,26],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",[30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49],"specialist","terraform","terraform specialist","Bash","at","2025","problem","deep","workspaces","test coverage","coverage","read","testing","audit","debugging","architecture review","architecture","workflows","review","design","2026-11-10 10:12:30",false,"---\nid: terraform-specialist\nname: terraform-specialist\ntype: skill\nversion: 1.0.0\ndomain:\n  - infra\nplatform:\n  - terraform\ntask:\n  - debugging\n  - review\nmaturity: validated\nowner: \"@kaiohenricunha\"\ncreated: 2025-01-01T00:00:00.000Z\nupdated: 2026-04-17T00:00:00.000Z\ndescription: |\n  Deep-dive Terraform architecture review, module design, state management, and migration. Use for structured investigations of Terraform workspaces, provider configuration, module coupling, import workflows, and test coverage. Triggers on: \"Terraform audit\", \"module review\", \"state management\", \"Terraform import\", \"workspace design\", \"provider config review\", \"Terraform testing\".\nargument-hint: \u003Cmodule path, workspace, or problem description>\ntools: Read, Grep, Glob, Bash\nallowed-tools: Read Grep Glob Bash\neffort: max\nmodel: opus\ndotbabel:\n  compute:\n    mode: dynamic\n    requirement: deep\n    binding: consumer\n    rationale: Evidence-based investigation or evaluation must hold several technical constraints at once.\n---\n\n# Terraform Specialist\n\nStructured investigation for Terraform codebases. Five phases: gather context,\ndiagnose, design, recommend, verify.\n\n## Arguments\n\n- `$0` — module path, workspace context, or problem description. Required.\n\n---\n\n## Phase 1: Context Gathering\n\n1. Identify the scope: module, workspace, or full repo.\n2. Glob for Terraform files:\n   ```bash\n   find . -name \"*.tf\" | sort\n   find . -name \"*.tfvars\" | sort\n   find . -name \".terraform.lock.hcl\" | sort\n   ```\n3. Check backend and provider configuration:\n   ```bash\n   grep -r \"backend\" . --include=\"*.tf\" -l\n   grep -r \"required_providers\" . --include=\"*.tf\" -l\n   ```\n4. Check for existing state:\n   ```bash\n   terraform workspace list\n   terraform state list\n   ```\n\n---\n\n## Phase 2: Diagnosis\n\n**Module structure:**\n\n```bash\n# Check module inputs\u002Foutputs surface\ngrep -r \"variable\\|output\\|locals\" . --include=\"*.tf\" -l\nterraform validate\n```\n\n**State health:**\n\n```bash\nterraform state list\nterraform state show \u003Cresource>\nterraform plan -detailed-exitcode\n```\n\n**Provider locks:**\n\n```bash\ncat .terraform.lock.hcl\nterraform providers\n```\n\n**Test coverage:**\n\n```bash\nfind . -name \"*_test.go\" -o -name \"*.tftest.hcl\" | sort\n```\n\n---\n\n## Phase 3: Design \u002F Root-Cause Analysis\n\nMap symptoms to causes:\n\n| Symptom                       | Common Causes                           | Check                                  |\n| ----------------------------- | --------------------------------------- | -------------------------------------- |\n| Plan shows unexpected replace | `ForceNew` attribute changed, ID drift  | `terraform state show` + provider docs |\n| State drift                   | Manual console change, import not run   | `terraform refresh` + `terraform plan` |\n| Module coupling               | Outputs passed through too many layers  | Count cross-module variable chains     |\n| Provider version conflict     | Lock file pinned differently per module | `.terraform.lock.hcl` comparison       |\n| `count` vs `for_each` bug     | Resource renamed on index change        | Switch to `for_each` with stable keys  |\n\nCite `file:line` for every finding.\n\n---\n\n## Phase 4: Recommendations\n\nOutput findings in priority order:\n\n```\n[CRITICAL] \u003Ctitle>\nResource: \u003Caddress or file:line>\nIssue: \u003Cone sentence>\nEvidence: \u003Cplan output or code snippet>\nFix: \u003Cspecific change, with HCL diff if applicable>\nTrade-off: \u003Calternative and its downside, if meaningful>\n```\n\nOrder: CRITICAL → WARNING → INFO.\n\n---\n\n## Phase 5: Verification\n\nAfter fixes are applied:\n\n1. Re-run `terraform validate` — no errors.\n2. Run `terraform plan` — confirm zero unexpected changes.\n3. For state moves: `terraform state list` before and after.\n4. For module refactors: run tests if present (`terraform test` or `go test .\u002F...`).\n5. Confirm `.terraform.lock.hcl` is committed and unchanged.\n\n---\n\n## Reference Docs\n\n| File                  | When to use                                      |\n| --------------------- | ------------------------------------------------ |\n| `modules.md`          | Module design, variable\u002Foutput surface, coupling |\n| `state-management.md` | Backends, state mv, import, drift remediation    |\n| `workspaces.md`       | Workspace-per-env vs stack-per-env trade-offs    |\n| `testing.md`          | Unit tests, integration tests, tftest            |\n| `providers.md`        | Provider config, version pinning, aliases        |\n| `import-patterns.md`  | `terraform import`, import blocks, bulk import   |\n","# Terraform Specialist\n\nStructured investigation for Terraform codebases. Five phases: gather context,\ndiagnose, design, recommend, verify.\n\n## Arguments\n\n- `$0` — module path, workspace context, or problem description. Required.\n\n---\n\n## Phase 1: Context Gathering\n\n1. Identify the scope: module, workspace, or full repo.\n2. Glob for Terraform files:\n   ```bash\n   find . -name \"*.tf\" | sort\n   find . -name \"*.tfvars\" | sort\n   find . -name \".terraform.lock.hcl\" | sort\n   ```\n3. Check backend and provider configuration:\n   ```bash\n   grep -r \"backend\" . --include=\"*.tf\" -l\n   grep -r \"required_providers\" . --include=\"*.tf\" -l\n   ```\n4. Check for existing state:\n   ```bash\n   terraform workspace list\n   terraform state list\n   ```\n\n---\n\n## Phase 2: Diagnosis\n\n**Module structure:**\n\n```bash\n# Check module inputs\u002Foutputs surface\ngrep -r \"variable\\|output\\|locals\" . --include=\"*.tf\" -l\nterraform validate\n```\n\n**State health:**\n\n```bash\nterraform state list\nterraform state show \u003Cresource>\nterraform plan -detailed-exitcode\n```\n\n**Provider locks:**\n\n```bash\ncat .terraform.lock.hcl\nterraform providers\n```\n\n**Test coverage:**\n\n```bash\nfind . -name \"*_test.go\" -o -name \"*.tftest.hcl\" | sort\n```\n\n---\n\n## Phase 3: Design \u002F Root-Cause Analysis\n\nMap symptoms to causes:\n\n| Symptom                       | Common Causes                           | Check                                  |\n| ----------------------------- | --------------------------------------- | -------------------------------------- |\n| Plan shows unexpected replace | `ForceNew` attribute changed, ID drift  | `terraform state show` + provider docs |\n| State drift                   | Manual console change, import not run   | `terraform refresh` + `terraform plan` |\n| Module coupling               | Outputs passed through too many layers  | Count cross-module variable chains     |\n| Provider version conflict     | Lock file pinned differently per module | `.terraform.lock.hcl` comparison       |\n| `count` vs `for_each` bug     | Resource renamed on index change        | Switch to `for_each` with stable keys  |\n\nCite `file:line` for every finding.\n\n---\n\n## Phase 4: Recommendations\n\nOutput findings in priority order:\n\n```\n[CRITICAL] \u003Ctitle>\nResource: \u003Caddress or file:line>\nIssue: \u003Cone sentence>\nEvidence: \u003Cplan output or code snippet>\nFix: \u003Cspecific change, with HCL diff if applicable>\nTrade-off: \u003Calternative and its downside, if meaningful>\n```\n\nOrder: CRITICAL → WARNING → INFO.\n\n---\n\n## Phase 5: Verification\n\nAfter fixes are applied:\n\n1. Re-run `terraform validate` — no errors.\n2. Run `terraform plan` — confirm zero unexpected changes.\n3. For state moves: `terraform state list` before and after.\n4. For module refactors: run tests if present (`terraform test` or `go test .\u002F...`).\n5. Confirm `.terraform.lock.hcl` is committed and unchanged.\n\n---\n\n## Reference Docs\n\n| File                  | When to use                                      |\n| --------------------- | ------------------------------------------------ |\n| `modules.md`          | Module design, variable\u002Foutput surface, coupling |\n| `state-management.md` | Backends, state mv, import, drift remediation    |\n| `workspaces.md`       | Workspace-per-env vs stack-per-env trade-offs    |\n| `testing.md`          | Unit tests, integration tests, tftest            |\n| `providers.md`        | Provider config, version pinning, aliases        |\n| `import-patterns.md`  | `terraform import`, import blocks, bulk import   |\n",{"id":5,"name":5,"task":55,"type":56,"model":57,"owner":58,"tools":59,"domain":60,"effort":62,"created":63,"updated":64,"version":65,"dotbabel":66,"maturity":71,"platform":72,"description":73,"allowed-tools":74,"argument-hint":75},[44,48],"skill","opus","@kaiohenricunha","Read, Grep, Glob, Bash",[61],"infra","max",1735689600000,1776384000000,"1.0.0",{"compute":67},{"mode":68,"binding":69,"rationale":70,"requirement":37},"dynamic","consumer","Evidence-based investigation or evaluation must hold several technical constraints at once.","validated",[31],"Deep-dive Terraform architecture review, module design, state management, and migration. Use for structured investigations of Terraform workspaces, provider configuration, module coupling, import workflows, and test coverage. Triggers on: \"Terraform audit\", \"module review\", \"state management\", \"Terraform import\", \"workspace design\", \"provider config review\", \"Terraform testing\".\n","Read Grep Glob Bash","\u003Cmodule path, workspace, or problem description>","main","91c337164997b99943fbcc64e8e362577b67bc81","skills\u002Fterraform-specialist","https:\u002F\u002Fgithub.com\u002Fkaiohenricunha\u002Fdotbabel","https:\u002F\u002Fgithub.com\u002Fkaiohenricunha","I'm a Platform\u002FInfra engineer who happens to work in cybersec and write Go code.","2026-10-26 14:12:51",{"source":8,"skillName":5,"commands":84,"prompt":94,"zipAvailable":95},[85,88,91],{"tool":86,"command":87},"npx","npx skills add kaiohenricunha\u002Fdotbabel --skill terraform-specialist",{"tool":89,"command":90},"bunx","bunx skills add kaiohenricunha\u002Fdotbabel --skill terraform-specialist",{"tool":92,"command":93},"pnpm","pnpm dlx skills add kaiohenricunha\u002Fdotbabel --skill terraform-specialist","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fkaiohenricunha\u002Fdotbabel\u002Fblob\u002Fmain\u002Fskills\u002Fterraform-specialist\u002FSKILL.md",true,[97,103,107,111,115,119],{"path":98,"resourceType":99,"resourceTypeDesc":100,"sizeBytes":101,"sourceHtmlUrl":102},"references\u002Fimport-patterns.md","REFERENCE","参考文档",2621,"https:\u002F\u002Fgithub.com\u002Fkaiohenricunha\u002Fdotbabel\u002Fblob\u002Fmain\u002Fskills\u002Fterraform-specialist\u002Freferences\u002Fimport-patterns.md",{"path":104,"resourceType":99,"resourceTypeDesc":100,"sizeBytes":105,"sourceHtmlUrl":106},"references\u002Fmodules.md",2173,"https:\u002F\u002Fgithub.com\u002Fkaiohenricunha\u002Fdotbabel\u002Fblob\u002Fmain\u002Fskills\u002Fterraform-specialist\u002Freferences\u002Fmodules.md",{"path":108,"resourceType":99,"resourceTypeDesc":100,"sizeBytes":109,"sourceHtmlUrl":110},"references\u002Fproviders.md",2422,"https:\u002F\u002Fgithub.com\u002Fkaiohenricunha\u002Fdotbabel\u002Fblob\u002Fmain\u002Fskills\u002Fterraform-specialist\u002Freferences\u002Fproviders.md",{"path":112,"resourceType":99,"resourceTypeDesc":100,"sizeBytes":113,"sourceHtmlUrl":114},"references\u002Fstate-management.md",2434,"https:\u002F\u002Fgithub.com\u002Fkaiohenricunha\u002Fdotbabel\u002Fblob\u002Fmain\u002Fskills\u002Fterraform-specialist\u002Freferences\u002Fstate-management.md",{"path":116,"resourceType":99,"resourceTypeDesc":100,"sizeBytes":117,"sourceHtmlUrl":118},"references\u002Ftesting.md",2361,"https:\u002F\u002Fgithub.com\u002Fkaiohenricunha\u002Fdotbabel\u002Fblob\u002Fmain\u002Fskills\u002Fterraform-specialist\u002Freferences\u002Ftesting.md",{"path":120,"resourceType":99,"resourceTypeDesc":100,"sizeBytes":121,"sourceHtmlUrl":122},"references\u002Fworkspaces.md",2075,"https:\u002F\u002Fgithub.com\u002Fkaiohenricunha\u002Fdotbabel\u002Fblob\u002Fmain\u002Fskills\u002Fterraform-specialist\u002Freferences\u002Fworkspaces.md",[124,154,181,200,217,242],{"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":135,"publishedAt":50},"01M6XDQ7QMASPFZ355MYKCD06T","yolo","Start temporary autonomy for the current task or an explicit scope with a required --for expiry. Codex permits scoped pushes, merges, deploys, and releases after strict testing and validation; Full access is a separate runtime setting. Claude Code uses a session permission hook with a protected-action denylist.","https:\u002F\u002Fgithub.com\u002Fkaiohenricunha\u002Fdotbabel\u002Fblob\u002Fmain\u002Fskills\u002Fyolo\u002FSKILL.md",[130],{"categoryNo":131,"categoryName":132,"taxonomyType":133,"taxonomyTypeDesc":134},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[126,42,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153],"merge","code","start","access","session","ops","autonomy","releases","permission","full","runtime","scope","devex","hook","true","action","for","scoped",{"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":166,"publishedAt":50},"01M6XDQ1N21VE4KH98JWGZ7GN9","veracity-audit","Audit a data pipeline for Veracity and Value. Dispatches data-scientist, compliance-auditor, and data-engineer agents with project context injected at dispatch time. All source paths are supplied via flags — no defaults, no project assumptions. Subcommands: audit (full pipeline walk), score-check (scoring math only), gate-check (gate coverage only), source-trace \u003Clabel> (single source end-to-end). Invoke when: \"audit pipeline\", \"veracity check\", \"scoring math correct?\", \"check gates\", \"trace source\", \"verify quality gates\", \"formula correct?\".","https:\u002F\u002Fgithub.com\u002Fkaiohenricunha\u002Fdotbabel\u002Fblob\u002Fmain\u002Fskills\u002Fveracity-audit\u002FSKILL.md",[160,163],{"categoryNo":161,"categoryName":162,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":164,"categoryName":165,"taxonomyType":133,"taxonomyTypeDesc":134},"01JBSEEDCAT000000000000037","律师与法务",[43,167,42,48,168,169,33,170,40,171,172,173,174,175,176,177,178,34,179,180],"veracity audit","data pipeline","pipeline","math","only","engineer","formula","scoring","time","project","worker","end","invoke","when",{"skillNo":182,"name":183,"nameZh":6,"description":184,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":185,"categories":186,"keywords":187,"publishedAt":50},"01M6XDPVDKBR376C06CEK9BC5S","validate-spec","Audit an already-implemented spec against the codebase. Walks each constraint (ARCH-N, PERF-N, KD-N, etc.) and acceptance criterion, grounds findings in file:line evidence, runs the spec.json acceptance_commands, and writes a single audit doc to docs\u002Faudits\u002F. Use whenever the user asks to \"validate a spec\", \"audit a spec\", \"check if spec is implemented\", \"verify the spec is done\", \"is this spec really done\", or otherwise wants closure on spec-driven work. Read-only against the spec — produces an audit, never modifies the spec itself.","https:\u002F\u002Fgithub.com\u002Fkaiohenricunha\u002Fdotbabel\u002Fblob\u002Fmain\u002Fskills\u002Fvalidate-spec\u002FSKILL.md",[],[188,189,190,42,48,191,192,43,33,193,41,194,171,62,195,196,197,35,198,199],"spec","validate","validate spec","run","acceptance","work","never","done","arch","line","spec-driven","closure",{"skillNo":201,"name":202,"nameZh":6,"description":203,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":204,"categories":205,"keywords":207,"publishedAt":50},"01M6XDPMMECH82RAW553Y94HDS","terragrunt-specialist","Deep-dive Terragrunt hierarchy review, DRY pattern audits, and run-all orchestration analysis. Use for structured investigations of multi-environment Terragrunt layouts, dependency graphs, remote state config, and hook correctness. Triggers on: \"Terragrunt audit\", \"run-all review\", \"dependency block\", \"DRY pattern review\", \"env hierarchy audit\", \"mock_outputs\", \"terragrunt hooks\".","https:\u002F\u002Fgithub.com\u002Fkaiohenricunha\u002Fdotbabel\u002Fblob\u002Fmain\u002Fskills\u002Fterragrunt-specialist\u002FSKILL.md",[206],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[208,30,209,48,210,44,191,43,211,33,41,212,213,62,37,214,35,215,34,216],"terragrunt","terragrunt specialist","orchestration","analysis","dependency","hooks","dry","remote","hierarchy",{"skillNo":218,"name":188,"nameZh":6,"description":219,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":220,"categories":221,"keywords":226,"publishedAt":50},"01M6XDP7V6H8WYPSXVEKYE6HJ6","Create structured engineering specs through interactive pairing. Use when the user wants to create a spec, design doc, technical specification, architecture document, RFC, or engineering plan. Triggers on \"let's spec this out\", \"create a spec\", \"design doc\", \"write a technical plan\", \"plan the architecture\". Works for greenfield and brownfield projects. Outputs to docs\u002Fspecs\u002F.","https:\u002F\u002Fgithub.com\u002Fkaiohenricunha\u002Fdotbabel\u002Fblob\u002Fmain\u002Fskills\u002Fspec\u002FSKILL.md",[222,223],{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":224,"categoryName":225,"taxonomyType":133,"taxonomyTypeDesc":134},"01JBSEEDCAT000000000000032","设计师",[188,49,227,46,228,229,230,231,232,233,234,235,236,57,237,152,238,239,240,241],"component","create","plan","projects","write","interactive","use","document","specification","triggers","technical specification","trade-offs","technical plan","outputs","frontier",{"skillNo":243,"name":244,"nameZh":6,"description":245,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":246,"categories":247,"keywords":249,"publishedAt":50},"01M6XDP2DCRZ004WMTWGECQC2F","smoke-test","Run the smoke checks a repository declares for its deploy targets and report whether production actually answers after a release. Use after a deploy, during release verification, and when confirming a rollback landed. Triggers on: \"smoke test\", \"run smoke checks\", \"is production healthy\", \"did the deploy work\", \"verify the release is live\".","https:\u002F\u002Fgithub.com\u002Fkaiohenricunha\u002Fdotbabel\u002Fblob\u002Fmain\u002Fskills\u002Fsmoke-test\u002FSKILL.md",[248],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[250,251,252,253,191,254,255,256,33,193,41,61,257,214,258,148,259,152,260,180],"test","smoke","smoke test","diagnostics","release","verification","repository","live","sep","sonnet","routine"]