Render Blueprints
RenderOfficialCreated by Render
- Skill
- Tool integration
- Cloud and DevOps
- MIT
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
The render-blueprints skill provides comprehensive support for defining Render infrastructure as code via render.yaml files. It covers the full lifecycle of Blueprint management, including service definition, cross-service wiring, project and environment organization, and preview environment configuration. The skill emphasizes safe infrastructure changes by highlighting immutable fields, common configuration pitfalls, and the necessity of validating YAML against Render's official schema and CLI tools.
What it does
- Authors and edits render.yaml Blueprint files for infrastructure definition.
- Wires services and databases together using fromDatabase, fromService, and fromGroup.
- Configures multi-service projects, environments, and preview environment settings.
- Validates YAML configurations against the official Render schema and CLI.
- Identifies immutable fields that cannot be changed after resource creation.
- Provides guidance on service types, runtimes, and persistent disk configuration.
When to use it
- When you need to create or modify a render.yaml file for your infrastructure.
- When setting up complex multi-service applications with projects and environments.
- When configuring preview environments for pull request testing.
- When you need to validate your Blueprint syntax before deployment.
- When you are unsure which fields are immutable or how to wire services together.
Advantages
- Ensures infrastructure consistency through declarative YAML definitions.
- Reduces deployment errors by providing schema-based validation.
- Simplifies complex service wiring and environment-scoped configuration.
- Helps prevent destructive changes by identifying immutable fields.
- Provides clear patterns for managing preview environments and PR workflows.
Usage examples
- “How do I wire a PostgreSQL database to my web service in render.yaml?”
- The agent will provide a snippet showing the use of the fromDatabase key within the service's envVars block, referencing the database name defined in the databases section.
- “Validate my render.yaml file for errors.”
- The agent will guide you to use the 'render blueprints validate render.yaml' command and check your file against the official JSON schema.
- “Can I change the runtime of my service from node to docker?”
- The agent will explain that 'runtime' is an immutable field and that changing it requires replacing the resource, providing steps to perform this safely.
- “How do I set up preview environments for my project?”
- The agent will explain how to configure the top-level 'previews' key, including generation modes and plan settings for preview instances.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/render-oss/render-blueprints/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip render-blueprints.zip -d .agents/skills
Documentation by Render
Render Blueprints (render.yaml)
Blueprints define Render infrastructure as YAML (commonly render.yaml at the repo root). This skill focuses on authoring, wiring, projects/environments, previews, validation, and immutable fields. Heavy detail lives under references/.
Before creating or modifying a Blueprint, read references/blueprints.md for the current specification-fetch, validation, repository-sync, and safety workflow.
For current compute-plan terminology, Plan IDs, and availability, use references/compute-plans.md instead of relying on plan catalogs embedded in examples.
Before adding or changing a service-attached disk, read references/persistent-disks.md for current architectural constraints and configuration workflow.
Before wiring private-network addresses, ports, or discovery hostnames, read references/private-networking.md.
Before choosing a service type or translating its Dashboard name to Blueprint structure, read references/service-types.md.
When to Use
Apply this skill when the user:
Creates or edits a
render.yaml/ BlueprintWires databases, private services, or Key Value into app env vars
Groups services with projects and environments
Configures preview environments for pull requests
Validates YAML against Render’s schema or CLI
Asks what can or cannot change after a resource is created
For end-to-end deploy flows and MCP/CLI operations, see render-deploy. For env var strategy outside Blueprint syntax, see render-env-vars. For Docker-specific Blueprint fields, see render-docker.
Blueprint Structure
Top-level keys
| Key | Purpose |
|---|---|
services | Web, worker, cron, private service, Key Value, static (via web + runtime: static) |
databases | Managed PostgreSQL instances |
envVarGroups | Reusable env var sets attached to services |
projects | Optional grouping; contains environments and service lists |
previews | Defaults for PR preview environments |
A Blueprint may also use patterns like ungrouped resources vs environment-scoped lists, depending on whether you adopt the projects model. See references/common-mistakes.md for duplication and naming pitfalls.
Minimal example: web + PostgreSQL
databases:
- name: mydb
plan: basic-256mb
region: oregon
services:
- type: web
name: api
runtime: node
region: oregon
plan: starter
buildCommand: npm ci && npm run build
startCommand: npm start
envVars:
- key: DATABASE_URL
fromDatabase:
name: mydb
property: connectionStringService Types
type | Role |
|---|---|
web | Public HTTP service (use runtime: static for static sites) |
pserv | Private service (internal HTTP/TCP; not public) |
worker | Long-running background process |
cron | Scheduled job (schedule required) |
keyvalue | Managed Key Value (Redis-compatible); alias redis accepted in Blueprints |
Runtimes
Common runtime values: node, python, go, ruby, rust, elixir, docker, image, static.
docker: Build fromDockerfile(seedockerfilePath,dockerContext,dockerCommand).image: Run a prebuilt container image withimage.urland optionalimage.creds.fromRegistryCreds.static: Static site; requiresstaticPublishPathand build output paths (see references).
Cross-Service Wiring
Before configuring variables, secrets, secret files, or environment groups, read references/environment-variables.md.
Service env vars under envVars can pull values from other resources instead of hardcoding secrets. Environment-group variables cannot reference services, databases, or other environment groups.
fromDatabase
Reference a database in databases: by name. Properties include:
connectionString,connectionPoolString,host,port,user,password,database
fromService
Reference a service by name. Typical properties:
host,port,hostport,connectionString,envVarKey
Which properties are valid depends on target service type (e.g. Key Value vs pserv). See references/wiring-patterns.md.
fromGroup
Attach shared vars from envVarGroups (by group name).
Full patterns and combinations: references/wiring-patterns.md.
Projects and Environments
For multi-service apps, use the projects/environments pattern instead of flat top-level services/databases. This groups all related resources into a single Render project, supports multiple environments (production, staging), and enables environment-scoped configuration.
projects:
- name: my-app
environments:
- name: production
services:
- type: web
name: api
runtime: node
plan: standard
buildCommand: npm ci && npm run build
startCommand: npm start
envVars:
- key: DATABASE_URL
fromDatabase:
name: db
property: connectionString
- key: REDIS_URL
fromService:
type: keyvalue
name: cache
property: connectionString
- key: API_SECRET
sync: false
- type: worker
name: jobs
runtime: node
plan: starter
buildCommand: npm ci
startCommand: node worker.js
envVars:
- key: DATABASE_URL
fromDatabase:
name: db
property: connectionString
- key: REDIS_URL
fromService:
type: keyvalue
name: cache
property: connectionString
- type: keyvalue
name: cache
plan: starter
maxmemoryPolicy: noeviction
ipAllowList: [] # Internal access only
databases:
- name: db
plan: basic-256mbKey rules:
Each environment owns its
servicesanddatabaseslists.Do not define the same resource at both the root level and inside an environment.
envVarGroupscan be scoped to a project environment or shared across the workspace.With a Pro workspace or higher, environment isolation can block cross-environment private network traffic.
For single-service apps, flat top-level services/databases is fine. Reach for the projects pattern when you have multiple services, need staging/production separation, or want environment-scoped env groups.
Preview Environments
When a preview request is underspecified, first establish the desired generation mode, retention period, preview compute plans, and whether the user expects to exclude any resources.
Top-level previews controls Blueprint preview environments:
previews.generation:off(default),manual, orautomaticpreviews.expireAfterDays: Auto-delete preview stacks after N days
Do not confuse preview environments with service previews:
A top-level
previews.generation: automaticcreates the Blueprint's preview environment, including the resources declared by that Blueprint.A service-level
previews.generationcontrols that service's independent service previews. It does not override the Blueprint preview environment or exclude that service from it. It accepts onlymanualorautomatic; omit it to disable independent service previews.Use
previews.planandpreviews.numInstanceson compute services to size their preview-environment instances. Key Value and Postgres usepreviewPlaninstead.
If a user needs a worker or another resource omitted entirely from Blueprint preview environments, explain that service-level preview generation is not an exclusion mechanism; the Blueprint or application architecture must account for that requirement. Other limitations include autoscaling behavior, sync: false variables, and database plan compatibility—see references/preview-environments.md.
Immutable Fields
CRITICAL: Some fields cannot change after the resource is created. Edits may be rejected or require replacement resources.
Services
type: Cannot change (e.g. web → worker).runtime: Cannot change (e.g. node → docker).
Databases
Cannot change after creation:
name(logical Blueprint/database identifier in this context)databaseNameuserregionpostgresMajorVersion
Plan other fields (disk, HA, replicas) carefully up front; consult Render docs for fields that can scale vs require recreation.
Key Fields (Quick Map)
| Area | Fields |
|---|---|
| Plans | plan; compute-service previews.plan; Key Value/Postgres previewPlan |
| Build/run | buildCommand, startCommand, preDeployCommand, rootDir |
| Deploy | autoDeployTrigger: commit, checksPass, or off |
| Lifecycle | maxShutdownDelaySeconds: 1–300, default 30 |
| HTTP | healthCheckPath, domains |
| Storage | disk (name, mountPath, sizeGB) |
| Scale | scaling / numInstances (see references) |
| Monorepo | buildFilter (paths, ignoredPaths) |
| Docker | dockerfilePath, dockerContext, dockerCommand, registryCredential; prebuilt image.url / image.creds |
Deprecated names to avoid: env (use runtime), redis (use keyvalue), autoDeploy (use autoDeployTrigger), previewsEnabled, and pullRequestPreviewsEnabled. Use the appropriate top-level or service-level previews.generation replacement described in references/common-mistakes.md.
References
| Document | Contents |
|---|---|
references/blueprints.md | Current Blueprint specification, schema, validation, repository-sync, and safety workflow |
references/compute-plans.md | Current compute-plan terminology, Plan ID discovery, availability, and change behavior |
references/environment-variables.md | Current environment-variable documentation, secrets, groups, platform variables, and mutation safety |
references/persistent-disks.md | Service-attached disk constraints, current documentation, sizing, snapshots, and Blueprint workflow |
references/private-networking.md | Private-network scope, addresses, Blueprint references, discovery, ports, and isolation |
references/service-types.md | Service-type selection, execution models, and Blueprint naming |
references/field-reference.md | YAML fields by service type, database, groups, projects, previews, scaling, disk, static, Key Value |
references/wiring-patterns.md | fromDatabase / fromService / fromGroup examples and combined wiring patterns |
references/common-mistakes.md | Branch + previews, buildFilter, replicas, duplicates, preview plans, wiring mistakes |
references/preview-environments.md | previews.generation, expiry, previews.plan, previewPlan, disks, PR workflow |
Related Skills
render-deploy — Deploy flows, Blueprint vs direct create, MCP/deeplinks
render-env-vars — Env var strategy, secrets, Dashboard vs Blueprint
render-docker — Dockerfile-backed services and image runtime nuances
<!-- shared:documentation-retrieval -->
Current documentation retrieval
Whenever this skill directs you to consult current Render documentation:
Retrieve the linked Markdown document directly with an available URL-fetching tool or HTTP client, such as
curl. Do not substitute web-search summaries for the document.Confirm that retrieval succeeded and returned the expected document, then read its contents. Saving a file or printing its path is not sufficient.
If the request fails or your tool cannot read the Markdown response, open and read the linked HTML version instead.
If neither version can be retrieved, disclose that the current reference is unavailable and follow any topic-specific fallback in the skill. Use bundled guidance only for stable constraints, and do not guess at changeable platform details.
When a task requires multiple references, apply this workflow to each one and distinguish the documents you verified from those that remain unavailable.
<!-- /shared:documentation-retrieval -->
Files
- ATTRIBUTION.mdAdded by AutoGineer893 B
- LICENSELicence file added by AutoGineer1.0 KiB
- SKILL.md12.9 KiB
- references/blueprints.md2.8 KiB
- references/common-mistakes.md4.5 KiB
- references/compute-plans.md2.3 KiB
- references/environment-variables.md4.5 KiB
- references/field-reference.md8.7 KiB
- references/persistent-disks.md3.7 KiB
- references/preview-environments.md4.8 KiB
- references/private-networking.md4.3 KiB
- references/service-types.md4.6 KiB
- references/wiring-patterns.md3.7 KiB
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs Python, Needs Node.js
The author says: Git repository on GitHub, GitLab, or Bitbucket for Blueprint sync. Render CLI v2.7.0+ recommended for `render blueprints validate`. IDEs can validate against the public JSON Schema URL below.
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- Render
- Publisher
- Render (Official)
- Source
- render-oss/skills · skills/render-blueprints · commit b985a63
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Render or Render.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download render-blueprints.zip