render-env
Add a Render env variable to Terraform
This skill declares a new Terraform Cloud variable so a value can be set via the TFC UI and consumed by the Render backend services. It only does the plumbing — it does not wire the variable into a Render env group. Wiring requires picking the right *_config / *_secrets object in terraform/modules/render_service/, which is task-specific and the user should drive.
Inputs
The skill takes two positional args from the invocation: /render-env <name> <description>.
${name}— the Terraform variable name in snake_case. Used verbatim as the TFC variablekey, thetfe_variableresource suffix, and thevariableblock name. Example:stripe_climate_api_key.${description}— a short human-readable description. Used in thedescriptionattribute and (with the env appended) in the per-env tfe_variable description. Example:Stripe Climate API key.
If either arg is missing, ask the user before doing anything. Also ask:
- Sensitive? Default to
true(almost everything in these files is sensitive). Only setfalsefor non-secret config strings (cf.slo_report_slack_channel,customer_portal_url_overrides). - Which environments? Default to all three (
production,sandbox,test). The user may want to skip one —testin particular often omits variables that aren't exercised there.
Do not ask about lifecycle { ignore_changes = [value] }. New variables here have no value baked into the Terraform code, so there's nothing for Terraform to overwrite — TFC just holds whatever's typed into the UI, and ignore_changes would be a no-op. The handful of existing blocks that include it (e.g. polar_organization_id, customer_portal_url_overrides) seed a default value in code and want UI overrides to stick; that's a different shape from a fresh secret and the user will tell you up-front if they want it.