Envilder — скилл
Скилл учит агента подключать Envilder: сводит переменные окружения в один envilder.json с секретами AWS SSM или Azure Key Vault.
- 138 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Агент запускает CLI Envilder, который при выбранных командах ходит в AWS или Azure с учетными данными пользователя.
- Команды чтения и записи значений секретов скилл запускает только по прямой просьбе.
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add skills/envilderОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Агент запускает CLI Envilder, который при выбранных командах ходит в AWS или Azure с учетными данными пользователя.
- Команды чтения и записи значений секретов скилл запускает только по прямой просьбе.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Скилл `envilder` ведет агента по подключению Envilder к существующему проекту. Агент перечисляет переменные, которые читает приложение, выбирает AWS SSM или Azure Key Vault, пишет `envilder.json` и проверяет его командой `envilder validate --offline`. Файл хранит имена и пути, а не значения, поэтому его коммитят и смотрят в pull request как код. Дальше скилл подключает тот же файл к локальному запуску через `envilder exec`, к GitHub Actions с входом по OIDC и, только если без этого нельзя, к SDK для .NET, Python или Node.js. Команды, которые читают или пишут значения секретов, агент без прямой просьбы не запускает.
Для кого. Командам, которые держат секреты в AWS SSM или Azure Key Vault и хотят убрать пересылку ключей и общие `.env` из онбординга.
Подходит, если
- Новый разработчик теряет время на поиск ключей, а `.env` лежит в вики и чатах.
- Workflow GitHub Actions передает `secrets.DATABASE_URL` в тесты, и секреты хотят перенести в AWS SSM с входом по OIDC.
- Есть `.env` с пятью переменными, и его нужно перевести в карту секретов без показа значений.
- `envilder validate` падает на карте, и агенту нужно разобрать причину и поправить файл.
Не подходит, если
- Секреты лежат не в AWS SSM и не в Azure Key Vault: других хранилищ скилл не поддерживает.
- Задача сводится к одному разовому `.env` без CI и общего контракта.
- Нужны возможности Envilder, которых нет в установленной версии: скилл их не эмулирует своим кодом.
Пример запроса к агенту
Подключи Envilder к этому ASP.NET API: приложение читает `ConnectionStrings:Orders` и `Payments:ApiKey`, параметры лежат в SSM под `/orders-api/dev/`.Ограничения
Скилл только настраивает Envilder и не заменяет его: для работы нужен Node.js 22.12 и выше, чтобы запускать CLI через `npx`, и доступ к AWS или Azure на стороне пользователя. Команда `npx envilder` скачивает пакет и запускает его с доступом к рабочей папке, поэтому агент сначала советует добавить пакет в devDependencies. Команда `gh skill install` в публичном превью и требует GitHub CLI 2.90 или новее. Запись секретов командой `--push` остается за пользователем: агент выдает команду и сам ее не выполняет.
Как отключить. Удалите папку `envilder` из каталога скиллов агента, например из `.claude/skills/` или `~/.claude/skills/`. `envilder.json` и подключения в CI останутся, их снимайте отдельно.
Частые вопросы
Как поставить скилл Envilder в Claude Code?
Выполните `gh skill install macalbert/envilder envilder --agent claude-code`. Для Codex замените агента на `codex` и добавьте `--scope user`, для общего варианта есть `npx skills add macalbert/envilder --skill envilder`.
Читает ли скилл значения секретов?
Нет, без явной просьбы. Из `.env` агент берет только имена переменных, а команды pull, `exec` и `validate --compare-values` запускает по прямому запросу.
Как вызвать скилл вручную?
В Claude Code введите `/envilder`. В остальных случаях он подключается сам, когда запрос упоминает Envilder, `envilder.json` или перенос секретов в AWS SSM либо Azure Key Vault.
Нужен ли SDK?
Обычно нет. Скилл берет CLI и GitHub Action, а SDK для .NET, Python или Node.js выбирает только тогда, когда внедрения секретов при запуске недостаточно.
Какие хранилища секретов поддерживает Envilder?
AWS SSM Parameter Store и Azure Key Vault. Провайдер агент выбирает по тому, что уже использует проект: AWS CDK и учетные данные AWS указывают на первый, ресурсы Azure и `azure/login` на второй.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
СкиллыСкиллы Microsoft Learn почти по каждому сервису Azure: лимиты, настройка, безопасность, архитектура и диагностика со ссылками на документацию
Скилл разворачивает на AWS сервер сообщений Dirextalk с доменом и подключает локальную комнату агента через мост Matrix.
Скилл для Claude Code выкатывает среды платформы AEnvironment как временные экземпляры или постоянные сервисы
Подборка скиллов и агентов для Copilot по Azure, API Management, Terraform и диаграммам с установкой через skills CLI или APM
Большая база скиллов по DevOps, безопасности, инфраструктуре и комплаенсу для AI-агентов
Изолированные микро-ВМ Linux для кода агента: официальный скилл Vercel по SDK, сетевым правилам и снимкам.
Коротко о README
Рядом с самим Envilder в репозитории лежит скилл для его пользователей, а скиллы в `.github/skills/` предназначены для авторов проекта. Описание содержит шесть сценариев работы, три способа установки и примеры запросов.
Бейдж для README
Исходный SKILL.md
--- name: envilder description: >- Integrate Envilder into an application: map its environment variables to AWS SSM Parameter Store or Azure Key Vault secrets in a versioned envilder.json, validate the map file, and use that one contract for local development (envilder exec or pull), GitHub Actions (macalbert/envilder/github-action) and runtime SDKs (.NET, Python, Node.js). Use when the user mentions Envilder or envilder.json, or wants to move .env files or hardcoded secrets to AWS SSM or Azure Key Vault, or load cloud secrets in CI or at runtime. Never reads or prints secret values. license: MIT compatibility: >- Needs Node.js 22.12+ to run the envilder CLI with npx. Commands that call AWS or Azure need the user's cloud credentials. metadata: homepage: https://envilder.com repository: https://github.com/macalbert/envilder --- # Envilder Envilder keeps **one versioned secret contract across local development, CI/CD and runtime**: `envilder.json` maps each environment variable name to a secret identifier in AWS SSM Parameter Store or Azure Key Vault. The file holds names and paths, never values, so it is committed and reviewed like code. The cloud provider stays the source of truth. Use the existing Envilder CLI, GitHub Action and SDKs. Do not write custom secret-loading code, and do not add Envilder features to the user's project. ## Safety rules (always) 1. **Never read, print, log, commit or invent a secret value.** When you need the variables of a `.env` file, read only the names, for example `grep -oE '^[[:space:]]*(export[[:space:]]+)?[A-Za-z_][A-Za-z0-9_./-]*=' .env`. Do not `cat` a `.env` file or a secret-bearing config file. 2. **Classify every Envilder command before running it** and ask for explicit approval for anything above "offline": | Class | Commands | Run it? | |-------|----------|---------| | Offline | `envilder --version`, `--help`, `envilder validate --offline` with the CLI the project already installs (`npx --no envilder ...`, `pnpm exec envilder ...`) | Yes | | Downloads and runs the CLI | Any `npx envilder ...` when the project does not install `envilder` (npx fetches the package and runs it with access to the workspace and environment) | Ask first, or propose adding `envilder` as a dev dependency | | Checks existence (calls the provider, reads no value) | `npx envilder validate` | Ask first: it uses the user's credentials and prints the cloud identity | | Reads values | `npx envilder` (pull to `.env`), `envilder exec`, `validate --compare-values`, running code that calls an SDK `load`/`resolve` | Only when the user explicitly asks for that run | | Writes secrets | `envilder --push`, single-secret push (`--key`/`--value`/`--secret-path`) | Never run it yourself. Give the user the command to run |