Writing Skills
writing-skills
效率与协作技能,来自 obra/superpowers,查看原文获取完整用途和操作说明。
terraform-module-library【部署与运维】Reusable GCP Terraform module patterns for Cloud Run v2, Cloud SQL PostgreSQL, Artifact Registry, VPC, Secret Manager, and Workload Identity Federation. Load when creating or consuming reusable Terraform modules for GCP. Triggers: terraform module, reusable terraform, gcp module, terraform library, cloud run module, cloud sql module, artifact registr…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
GCP-primary module patterns for this workspace. Modules cover: Cloud Run v2, Cloud SQL PostgreSQL, Artifact Registry, VPC + Private Services, Secret Manager, Workload Identity Federation.
BEFORE creating a Terraform module:
1. Load terraform-skill for naming conventions and code structure standards
2. Every module MUST have: main.tf, variables.tf, outputs.tf, versions.tf, README.md
3. Every module MUST have tests in tests/ using native terraform test (1.6+) with mock providers
4. Sensitive outputs MUST be marked sensitive = true
5. Dispatch terraform-specialist agent to apply/provision — this skill is for authoring only
modules/
└── <module-name>/
├── main.tf # Resources only — no provider {}, no backend {}
├── variables.tf # All inputs with description, type, validation
├── outputs.tf # All outputs with description and sensitive flag
├── versions.tf # required_version + required_providers
├── README.md # Usage example + variable/output tables
└── tests/
└── main.tftest.hcl # Native terraform test with mock_provider (1.7+)
Which GCP resource are you modularizing?
|
+-- Cloud Run v2 service -> See references/gcp-modules.md § Cloud Run
+-- Cloud SQL (PostgreSQL) -> See references/gcp-modules.md § Cloud SQL
+-- Artifact Registry -> See references/gcp-modules.md § Artifact Registry
+-- VPC + Subnets -> See references/gcp-modules.md § VPC
+-- Secret Manager -> See references/gcp-modules.md § Secret Manager
+-- Workload Identity Fed. -> See references/gcp-modules.md § Workload Identity Federation
| File | Load When |
|---|---|
references/gcp-modules.md | Writing or reviewing any GCP Terraform module — has full HCL for all 6 modules |
Before submitting any module:
versions.tf present with google provider pinned to ~> 6.0description and type declaredsensitive = truedeletion_protection variable present for stateful resources (Cloud SQL, Artifact Registry)tests/main.tftest.hcl with at least one command = apply using mock_provider "google"README.md has usage example, variable table, and output tablefor_each used (not count) for IAM members and multi-instance resourceslifecycle.ignore_changes on container image for Cloud Run (CI/CD manages image, not Terraform)ipv4_enabled = false for Cloud SQL (no public IP)| Decision | Rationale |
|---|---|
lifecycle.ignore_changes = [image] on Cloud Run | CI/CD updates the image; Terraform manages config/scaling only. Prevents Terraform drift on every deploy. |
ipv4_enabled = false on Cloud SQL | No public IP; forces Cloud SQL Auth Proxy or private VPC access. Security baseline. |
random_password + Secret Manager for DB | Never hardcode or commit passwords. Secret Manager is the source of truth. |
for_each on IAM members | Stable resource addressing; count causes destroy/recreate when list reorders. |
| Cleanup policies on Artifact Registry | Prevents unbounded storage cost from accumulated untagged images. |
WIF attribute_condition scoped to org | Prevents cross-org token impersonation. |
terraform-skill skill (load it first)terraform-specialist agentdocs/workflows/cloud-run-terraform.mddocs/workflows/terraform-module-development.mdsecurity-reviewer agent