Files
hunfabric/skills/fabric-builder/SKILL.md
Julio Castillo 490dbfbdc5 Initial skill to compose Fabric modules (#3868)
* Initial skill to use compose Fabric modules

* Update CONTRIBUTING to reflect new naming patterns

* Fix boilertplate

* Add readme, update year

* Update script and conventions

* fix python format

* remove random string mention

* Make fetch commands explicit. Allow downloading schemas.

---------

Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
2026-05-18 20:03:36 +02:00

2.4 KiB

name, description
name description
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.

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.

Important Guidance

  • Conventions & Best Practices: Consult conventions.md for guidelines on how to consume Fabric modules and write high-quality, idiomatic Terraform code.
  • 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

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.
  • 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.
  • Module Source: When generating module calls, use a GitHub source. It should look like this: source = "github.com/GoogleCloudPlatform/cloud-foundation-fabric//modules/project?ref={VERSION}&depth=1".
  • Formatting & Validation: Ensure the generated code is properly formatted. If possible, run terraform fmt, terraform validate, and terraform plan to check your work.