adr-writer
Generates Architecture Decision Records capturing context, rationale, alternatives, and consequences in numbered status-tracked format. Triggers on: "write an…
Validates .env files against code references and manifests for missing vars, type mismatches, insecure defaults, and unused entries. Triggers on: "validate env file", "check environment variables", "missing env vars", "check .env", "dotenv validation". NOT for secret scanning,
$ npx -y skills add Mathews-Tom/armory --skill env-validator --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/env-validatorContext preview
The summary Claude sees to decide when to auto-load this skill.
Validates .env files against code references and manifests for missing vars, type mismatches, insecure defaults, and unused entries. Triggers on: "validate env file", "check environment variables", "missing env vars", "check .env", "dotenv validation". NOT for secret scanning,
name: env-validator description: 'Validates .env files against code references and manifests for missing vars, type mismatches, insecure defaults, and unused entries. Triggers on: "validate env file", "check environment variables", "missing env vars", "check .env", "dotenv validation". NOT for secret scanning, use repo-sentinel.' metadata: version: 1.0.1 category: operations tags: [env, configuration, validation, dotenv, deployment] difficulty: intermediate phase: build
Validates environment variable configurations by cross-referencing `.env` files against project requirements. Catches missing variables, type errors, insecure defaults, and orphaned entries before they cause runtime failures.
| File | Contents | Load When | | ------------------------------------ | ------------------------------------------------- | ---------------------- | | `references/validation-rules.md` | Built-in validation rules and severity definitions | Always |
Locate environment configuration sources in the project:
1. **Primary file:** Find `.env` in the project root. If absent, check for `.env.local`, `.env.development`, `.env.production` 2. **Schema file:** Find `.env.example` or `.env.template` — this defines the expected variables 3. **Code references:** Grep for `os.environ`, `process.env`, `env::var`, `os.Getenv` patterns to find variables referenced in code 4. **Deployment manifests:** Check `docker-compose.yml`, `Dockerfile`, `k8s/` manifests for `${VAR}` or `ENV VAR` patterns
Report what was found before proceeding.
Build the expected variable schema from discovered sources:
For each variable found across all sources, record:
| Field | Source | | ----------- | --------------------------------------------------------- | | Name | Variable name (e.g., `DATABASE_URL`) | | Required | Present in code references or marked required in example | | Type hint | Inferred from usage (URL, integer, boolean, string, path) | | Default | Value in `.env.example` if present | | Used in | List of files that reference this variable |
Run these checks against the primary `.env` file:
1. **Missing required variables** (CRITICAL)
2. **Type mismatches** (HIGH)
3. **Insecure defaults** (HIGH)
4. **Unreferenced variables** (MEDIUM)
5. **Format issues** (LOW)
See `references/validation-rules.md` for the complete rule catalog.
Produce a structured validation report:
# Environment Validation Report **File:** `.env` **Schema:** `.env.example` + code references **Verdict:** PASS | FAIL ## Summary | Severity | Count | |----------|-------| | CRITICAL | N | | HIGH | N | | MEDIUM | N | | LOW | N | ## CRITICAL ### [ENV-001] Missing required variable: DATABASE_URL - **Referenced in:** `src/db.py:12`, `docker-compose.yml:8` - **Expected type:** URL (postgresql://...) - **Fix:** Add `DATABASE_URL=postgresql://user:pass@localhost:5432/dbname` to `.env` ## HIGH ... ## Unreferenced Variables | Variable | In .env | In Code | In Manifests | Status | |-----------------|---------|---------|--------------|--------------| | LEGACY_API_KEY | Yes | No | No | Unreferenced | ## Recommendations 1. [Highest priority fix] 2. [Second fix]
| Error | Resolution | | --------------------------------- | ----------------------------------------------------- | | No .env file found | Report absence; check for alternative env sources | | No .env.example or schema | Validate based on code references only | | Binary or very large .env | Skip; report as unsupported format | | No code references found | Validate format and security only; skip completeness |
Curated, production-grade skills, agents, hooks, rules, commands, utilities, and presets for AI coding agents. No magic, no demos — battle-tested workflows built for developers who use AI seriously.
Repo: Mathews-Tom/armory
Generates Architecture Decision Records capturing context, rationale, alternatives, and consequences in numbered status-tracked format. Triggers on: "write an…
Build AI agents and automate Claude Code programmatically via the Claude Agent SDK and headless CLI mode. Covers Python SDK, claude -p, SDK MCP servers, hooks,…
Audits and enhances FastAPI and REST API documentation: missing descriptions, response codes, examples, docstrings, Pydantic models, OpenAPI spec. Triggers on:…
Generate architecture diagrams as fully editable SVG with native AWS, Azure, and GCP icons for cloud diagrams, or hand-drawn generic icons for everything else.…
Architecture reviews across 7 dimensions (structural, scalability, enterprise readiness, performance, security, ops, data) with scored reports. Triggers on:…
Optimize and prepare figures for arXiv submission: format conversion (EPS/PDF/PNG/JPG), size reduction, metadata stripping, processor compatibility (DVI vs…