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

encore-go-secret — скилл для Claude Code: секреты в Encore Go

Скилл учит агента объявлять API-ключи и пароли в Encore Go через структуру secrets и задавать значения по окружениям.

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

Что делает encore-go-secret

Скилл описывает, как в сервисе на Encore Go завести приватные значения без коммита в репозиторий. Агент объявляет их как поля структуры secrets на уровне пакета, а Encore сам читает имена полей и подставляет нужное значение в рантайме. Имена ключей уникальны для всего приложения: SendGridAPIKey резолвится в одно и то же значение независимо от пакета, где объявлен.

Значения задаются командой encore secret set с типом окружения: prod, dev, local или pr. Для локальной разработки можно не трогать эту команду, а положить файл .secrets.local.cue в корень репозитория и добавить его в gitignore. Внутри скилла есть примеры для HTTP-запросов с токеном в заголовке и для проверки подписи вебхука Stripe.

Поле в структуре должно точно совпадать с именем, которое вы задали через encore secret set. Если имена разойдутся, значение не подставится — это первое, что стоит проверить при ошибке. Для секретов подписи вебхуков скилл отсылает к encore-go-webhook.

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

  • загрузить API-ключ стороннего сервиса в Go-сервис, не коммитя его
  • раздать разные значения секрета для prod, dev и local
  • подставить токен в заголовок HTTP-запроса к внешнему API
  • проверить подпись вебхука Stripe по секрету
  • задать локальные значения секретов через .secrets.local.cue

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

  • Объяви секрет SendGridAPIKey в пакете email через структуру secrets и покажи, как его прочитать
  • Как задать разные значения SendGridAPIKey для prod и local через encore secret set?
  • Настрой локальный оверрайд секретов в .secrets.local.cue и напомни добавить файл в gitignore

Как установить encore-go-secret

1Через Skills CLI (Vercel)

npx skills add encoredev/skills --skill encore-go-secret -a claude-code
npx skills add encoredev/skills --skill go-secret -a claude-code

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

~/.claude/skills/go-secret/SKILL.md

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

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

Вопросы о encore-go-secret

Как установить encore-go-secret в Claude?

Выполните npx skills add encoredev/skills --skill encore-go-secret -a claude-code. Альтернативная команда — npx skills add encoredev/skills --skill go-secret -a claude-code, файл скилла окажется в ~/.claude/skills/go-secret/SKILL.md.

Что делает encore-go-secret?

Показывает агенту, как объявлять секреты в Encore Go структурой secrets на уровне пакета, задавать значения по окружениям и делать локальные оверрайды.

Чем локальный оверрайд отличается от encore secret set?

encore secret set пишет значение в Encore для конкретного типа окружения. Файл .secrets.local.cue в корне репозитория подставляет значения только при локальной разработке, и его нужно добавить в gitignore.

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

SKILL.md · Apache-2.0
---
name: encore-go-secret
description: Manage API keys, credentials, and other secrets in Encore Go using a package-level `secrets` struct.
when_to_use: >-
  User wants to load a private credential into a Go service without committing it to the repo — third-party API keys (Stripe, OpenAI, Twilio, SendGrid), database passwords, signing keys, OAuth client secrets, JWT signing keys, webhook signing secrets. Covers the `var secrets struct{...}` declaration, accessing secrets as struct fields, setting values via `encore secret set`, and `.secrets.local.cue` overrides. Trigger phrases: "API key", "third-party token", "credentials", "without committing", "private key", "signing secret", "secret manager", "encore secret set".
---

# Encore Go Secrets

## Instructions

Secrets are encrypted, environment-scoped values managed by Encore. Declare them as a package-level `secrets` struct — Encore reads the field names and resolves each to the right value at runtime.

```go
package email

var secrets struct {
    SendGridAPIKey string
    SMTPPassword   string
}

func sendEmail() error {
    apiKey := secrets.SendGridAPIKey
    // Use the secret...
    return nil
}
```

Secret keys are globally unique across the application — `SendGridAPIKey` resolves to the same value regardless of which package declares it.

## Setting values

```bash
# Set per environment type
encore secret set --type prod SendGridAPIKey
encore secret set --type dev  SendGridAPIKey
encore secret set --type local SendGridAPIKey
```

Environment types: `production` (alias `prod`), `development` (alias `dev`), `preview` (alias `pr`), `local`.

## Local overrides

For local development without going through `encore secret set`, create a `.secrets.local.cue` file at the repo root (gitignore it):

```cue
SendGridAPIKey: "SG.local-test-key"
GitHubAPIToken: "ghp_local_..."
```

## Common usage patterns

```go
package github

import (
    "context"
    "net/http"
)

var secrets struct {
    GitHubAPIToken string
}

func callGitHub(ctx context.Context) error {
    req, _ := http.NewRequestWithContext(ctx, "GET", "https://api.github.com/user", nil)
    req.Header.Set("Authorization", "token "+secrets.GitHubAPIToken)
    resp, err := http.DefaultClient.Do(req)
    if err != nil {
        return err
    }
    defer resp.Body.Close()
    return nil
}
```

```go
package webhooks

var secrets struct {
    StripeWebhookSecret string
}
// Verify Stripe signature using secrets.StripeWebhookSecret in a raw endpoint.
```

## Guidelines

- Declare secrets as a package-level `secrets` struct, not as individual `secret(...)` calls.
- Field names must exactly match the secret name set via `encore secret set`.
- Set distinct values per environment via `encore secret set --type <env>`.
- Never commit secret values; use `.secrets.local.cue` for local overrides and gitignore it.
- For webhook signature secrets specifically, see also the `encore-go-webhook` skill.

© encoredev · Apache-2.0 · encoredev/skills

Похожие скиллы

Всё по теме «Бэкенд и API» →
secure-secret-drop moeadham Скилл поднимает временную ссылку на Cloudflare Quick Tunnel, чтобы вы отдали пароль или ключ агенту, не вставляя его в чат. CX Codex +1 3 900установок hardcoded-secret-detection Tencent Скилл проверяет, не лежат ли ключи, токены и пароли прямо в исходниках, конфигах и IaC, к которым у агента есть доступ. CX Codex +1 ★ 7 083звёзд репо ghost-scan-secrets ghostsecurity Ищет утёкшие API-ключи, токены и пароли в кодовой базе проекта. Пригодится перед коммитом или при аудите репозитория на скрытые секреты. CX Codex +1 4 400установок credential-scanner UseAI-pro Сканирует проект на открытые ключи и пароли до того, как скилл с доступом к файлам их прочитает. CX Codex +1 538установок python-configuration Seth Hobson Скилл выносит настройки Python в переменные окружения и проверяет их через типизированные параметры. Подходит для секретов и разных окружений. CX Codex 11 508установок api-auth-key-management Samuel Berthe Скилл помогает спроектировать систему API-ключей для внешних клиентов сервиса. Пригодится при настройке ротации без простоя и разграничении сервисных доступов. CX Codex +1 7 800установок

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

encore-code-review Скилл проверяет код на Encore.ts перед мержем: инфраструктура внутри функций, require() вместо импортов, сырые Error вместо APIError. CX Codex +1 819установок encore-testing Помогает писать и запускать автотесты для Encore.ts через encore test и vitest или jest. Пригодится, когда нужно покрыть эндпоинт или сервис и не возиться с изолированными базами вручную. CX Codex +1 791установок encore-frontend Скилл связывает фронтенд на React, Next.js, Vue или Svelte с бэкендом Encore.ts: генерация типизированного клиента, CORS и токены авторизации. CX Codex +1 763установок encore-go-code-review Скилл проверяет Go-код на Encore: инфраструктура внутри функций, забытый context, SQL-инъекции и другие анти-паттерны перед мержем. CX Codex +1 553установок encore-bucket Учит агента работать с объектным хранилищем Encore.ts: загрузка, скачивание, список и удаление файлов через Bucket. CX Codex +1 419установок encore-webhook Скилл учит агента принимать входящие вебхуки от Stripe, GitHub, Slack и других сервисов через api.raw() и проверять подписи. CX Codex +1 418установок encore-go-bucket Скилл подсказывает агенту, как объявлять бакеты и работать с файлами в Encore Go: загрузка, выгрузка, подписанные ссылки. CX Codex +1 307установок encore-go-cache Скилл учит агента писать кэш в Redis из Go-сервисов на Encore: типизированные keyspaces, TTL, атомарные счётчики. CX Codex +1 304установок

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

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