К основному содержанию
скилл CX Codex

render-blueprints — скилл для Claude Code: render.yaml без ошибок

Пишет и проверяет Blueprints для Render: связывает сервисы с базами и Key Value, настраивает окружения и превью. Пригодится, когда инфраструктура живёт в YAML.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add render-oss/skills --skill render-blueprints -a claude-code
Открыть на GitHub

Что делает render-blueprints

Скилл помогает агенту писать и править render.yaml — файл, который описывает инфраструктуру Render в YAML. Он подсказывает синтаксис верхнеуровневых ключей (services, databases, envVarGroups, projects, previews), разбирает типы сервисов (web, pserv, worker, cron, keyvalue) и рантаймы от node до docker и static.

Отдельная часть — связывание сервисов между собой. Вместо захардкоженных секретов переменные тянутся через fromDatabase, fromService и fromGroup. Для многосервисных приложений есть модель projects с environments: production и staging описываются в одном файле, а previews задаёт окружения под пул-реквесты. Внутри скилла лежат справочники по переменным окружения, приватной сети, постоянным дискам и планам — агент читает их перед тем, как что-то менять.

Перед началом работы нужно учесть пару вещей. Для синхронизации Blueprint нужен Git-репозиторий на GitHub, GitLab или Bitbucket, а для команды render blueprints validate рекомендуется Render CLI версии 2.7.0 и выше. Ещё один момент: часть полей ресурса после создания не меняется, и скилл как раз разбирает такие immutable-ошибки — если правите существующий сервис, сначала проверьте, что поле вообще можно поменять.

Какие задачи решает

  • написать render.yaml с нуля под веб-сервис и PostgreSQL
  • связать переменные окружения с базой через fromDatabase
  • разложить production и staging по projects и environments
  • настроить превью-окружения для пул-реквестов
  • починить ошибку с неизменяемым полем после создания ресурса

Примеры запросов агенту

  • Напиши render.yaml: web-сервис на node и managed PostgreSQL, строку подключения возьми через fromDatabase
  • Разложи api, worker и keyvalue по проекту my-app с окружениями production и staging
  • Проверь мой render.yaml и скажи, какие поля нельзя менять после создания

Как установить render-blueprints

1Через Skills CLI (Vercel)

npx skills add render-oss/skills --skill render-blueprints -a claude-code

2Вручную: положить файлы

~/.claude/skills/render-blueprints/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/render-blueprints/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора14

render-deploy Разбирает код проекта, собирает render.yaml и ведёт к деплою на Render. Нужен, когда приложение пора выложить в облако. CX Codex +1 559установок render-debug Разбирает упавшие деплои на Render по логам, метрикам и состоянию базы, находит причину и предлагает правку. CX Codex +1 541установок render-monitor Скилл для проверки здоровья сервисов Render: статус, метрики, логи, деплои и базы данных прямо из агента. CX Codex +1 506установок render-web-services Помогает настроить веб-сервис на Render: привязку порта, TLS, health checks, домены и деплой. Пригодится, когда деплой падает или домен не подключается. CX Codex +1 420установок render-docker Скилл помогает агенту писать Dockerfile и настраивать деплой контейнеров на Render: сборка, приватные реестры, кэш слоёв. CX Codex +1 393установок render-background-workers Скилл помогает настроить фоновые воркеры на Render: подключить очередь, поймать SIGTERM и не потерять задачи при деплое. CX Codex +1 369установок render-static-sites Помогает агенту развернуть статический сайт или SPA на CDN Render: команды сборки, путь публикации, роутинг, заголовки и превью из пул-реквестов. CX Codex +1 367установок render-domains Помогает подключить свой домен к сервису на Render: DNS-записи, apex и wildcard, выпуск TLS-сертификата. Пригодится, когда сайт уже задеплоен, а адрес всё ещё на onrender.com. CX Codex +1 362установок

Похожие

turbo-builder goldsky-io Проведёт по шагам от постановки задачи до задеплоенного YAML-пайплайна Goldsky Turbo: выбор датасета, источники, трансформы, приёмники. CX Codex +1 3 600установок cloudrun-development TencentCloudBase Правила разработки бэкенда на CloudBase Run: развёртывание сервисов с долгими соединениями, доступом к VPC-базам и разбор сбоев контейнеров. CX Codex +1 983установок creating-amazon-aurora-db-cluster-with-instances aws Создаёт Aurora-кластер с инстансами, настраивает пароль через Secrets Manager и следит за статусом с повторами. Для MySQL и PostgreSQL. CX Codex +1 6 000установок amazon-aurora-postgresql aws Скилл для работы с Aurora PostgreSQL: создаёт кластеры, считает ACU и сравнивает варианты экономии. Полезен, когда база живёт в AWS и нужны действия, а не советы. CX Codex +1 5 600установок aspire codewithmukesh Помогает настроить .NET Aspire для локального запуска сервисов, ресурсов и обнаружения сервисов. Нужен при работе с AppHost и общими настройками сервисов. CX Codex +1 2 800установок backup-disaster-recovery aj-geddes Скилл помогает агенту спланировать резервное копирование, восстановление после сбоев и отработку отказа между регионами. CX Codex +1 620установок

Рядом в теме «DevOps и инфраструктура»

Всё по теме «DevOps и инфраструктура» →

Вопросы о render-blueprints

Как установить render-blueprints в Claude Code?

Выполните npx skills add render-oss/skills --skill render-blueprints -a claude-code. Скилл появится в ~/.claude/skills/render-blueprints/SKILL.md.

Что делает render-blueprints?

Помогает агенту писать и проверять Blueprints Render: описывать сервисы и базы в YAML, связывать их переменными, настраивать окружения и превью, ловить ошибки схемы.

Что нужно для работы скилла?

Git-репозиторий на GitHub, GitLab или Bitbucket для синхронизации Blueprint. Для проверки через CLI рекомендуется Render CLI версии 2.7.0 и выше.

Исходный текст

SKILL.md · MIT
---
name: render-blueprints
description: >-
  Authors and validates render.yaml Blueprints for Render infrastructure. Use
  when the user needs to write or edit a render.yaml, wire services together
  with fromDatabase/fromService/fromGroup, set up projects and environments
  for multi-service apps, configure preview environments, validate against
  the schema, or fix immutable field errors. Trigger terms: render.yaml,
  Blueprint, IaC, fromDatabase, fromService, envVarGroups, previews, projects,
  environments.
license: MIT
compatibility: >-
  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.
metadata:
  author: Render
  version: "1.0.0"
  category: configuration
---

# 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` / Blueprint
- Wires 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

```yaml
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: connectionString
```

## Service 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 from `Dockerfile` (see `dockerfilePath`, `dockerContext`, `dockerCommand`).
- **`image`**: Run a prebuilt container image with `image.url` and optional `image.creds.fromRegistryCreds`.
- **`static`**: Static site; requires `staticPublishPath` and 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.

```yaml
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-256mb
```

Key rules:

- Each environment owns its `services` and `databases` lists.
- Do not define the same resource at both the root level and inside an environment.
- `envVarGroups` can 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`, or `automatic`
- **`previews.expireAfterDays`**: Auto-delete preview stacks after N days

Do not confuse preview environments with service previews:

- A top-level `previews.generation: automatic` creates the Blueprint's preview environment, including the resources declared by that Blueprint.
- A service-level `previews.generation` controls that service's independent service previews. It does **not** override the Blueprint preview environment or exclude that service from it. It accepts only `manual` or `automatic`; omit it to disable independent service previews.
- Use `previews.plan` and `previews.numInstances` on compute services to size their preview-environment instances. Key Value and Postgres use `previewPlan` instead.

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)
- `databaseName`
- `user`
- `region`
- `postgresMajorVersion`

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:

1. 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.
2. Confirm that retrieval succeeded and returned the expected document, then read its contents. Saving a file or printing its path is not sufficient.
3. If the request fails or your tool cannot read the Markdown response, open and read the linked HTML version instead.
4. 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 -->

© Render · MIT · render-oss/skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой