# Fabric Builder

> Generates idiomatic Cloud Foundation Fabric (CFF) Terraform code using CFF modules. Use when users ask to create GCP resources, use Fabric modules, or generate Terraform code for Google Cloud.

- Skill: `googlecloudplatform/fabric-builder` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add googlecloudplatform/fabric-builder`
- Raw SKILL.md: https://api.skillmd.com/api/skills/googlecloudplatform/fabric-builder/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: GoogleCloudPlatform (https://skillmd.com/u/googlecloudplatform)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/googlecloudplatform/fabric-builder

---


# Fabric Builder

This skill generates idiomatic Terraform code using Cloud Foundation Fabric (CFF) modules, following established best practices and conventions.

## Core Workflow

1. **Understand Request:** Identify the GCP resources and relationships requested by the user.
2. **Fetch Module Info:** Identify the relevant CFF module(s) from the `modules/` folder on GitHub (`GoogleCloudPlatform/cloud-foundation-fabric`).
3. **Generate Terraform:** Output an idiomatic Terraform root module that consumes the CFF modules according to [conventions.md](references/conventions.md).

## Important Guidance

- **Conventions & Best Practices:** Consult [conventions.md](references/conventions.md) for guidelines on how to consume Fabric modules and write high-quality, idiomatic Terraform code (including module sources, version constraints, and provider configuration).
- **Fetching Modules:** Do not invent module inputs or outputs. Use the `fabric.py` script to pull exact details (README, variables, examples) for a specific module from GitHub before using it.
  - To list available modules: `python3 scripts/fabric.py modules`
  - To fetch details for a module (README): `python3 scripts/fabric.py fetch readme <module_name>`
  - To fetch variables files: `python3 scripts/fabric.py fetch variables <module_name>`
  - To fetch outputs files: `python3 scripts/fabric.py fetch outputs <module_name>`
  - To fetch schema files (useful for factories): `python3 scripts/fabric.py fetch schemas <module_name>`
  - To fetch the latest release version: `python3 scripts/fabric.py release`
  - **SSL Certification Verification**: If you run into SSL certificate issues on your host machine, use the `--no-ssl-verify` flag (e.g., `python3 scripts/fabric.py --no-ssl-verify fetch readme <module_name>`).

## Guidelines for Output

- **Root Module Output:** Your output must be a complete Terraform root module that calls the appropriate CFF modules to fulfill the user's requirements.
- **Follow Conventions:** Strictly adhere to [conventions.md](references/conventions.md) for module sources, version constraints, provider configuration, and coding style.
- **Use Fabric Modules:** Rely on CFF modules instead of raw `google_` resources whenever possible.
- **Example-based Learning:** Always refer to the module's README (fetched via `scripts/fabric.py`) for correct usage examples.
- **Formatting & Validation:** Ensure the generated code is properly formatted. If possible, run `terraform fmt`, `terraform validate`, and `terraform plan` to check your work.

