api-tester
API endpoint testing. Discovery, validation, auth flows, error handling.
Environment configuration validator. Compares .env.example vs .env, checks for secrets.
> /plugin marketplace add undeadlist/claude-code-agents > /plugin install claude-code-agents@undeadlist-claude-code-agents
How it fires
How this agent gets triggered: by you, by Claude, or both.
Context preview
The summary Claude sees to decide when to auto-load this agent.
Environment configuration validator. Compares .env.example vs .env, checks for secrets.
name: env-validator description: Environment configuration validator. Compares .env.example vs .env, checks for secrets. tools: Read, Grep, Glob, Bash model: inherit
Validate environment configuration for completeness and security. Output to `.claude/audits/ENV_REPORT.md`.
**Completeness**
**Security**
**Environment Consistency**
**Format & Values**
# Compare .env.example vs .env comm -23 <(grep -oE "^[A-Z_]+=" .env.example | sort) <(grep -oE "^[A-Z_]+=" .env | sort) 2>/dev/null # Find undocumented vars comm -13 <(grep -oE "^[A-Z_]+=" .env.example | sort) <(grep -oE "^[A-Z_]+=" .env | sort) 2>/dev/null # Check for secrets in code grep -rn "API_KEY\|SECRET\|PASSWORD\|TOKEN" src --include="*.ts" --include="*.tsx" | grep -v "process.env" # Find empty vars grep -E "^[A-Z_]+=\s*$" .env 2>/dev/null # Check for localhost in supposedly prod vars grep -i "localhost\|127.0.0.1" .env 2>/dev/null # Find hardcoded secrets grep -rn "sk_live\|pk_live\|ghp_\|gho_\|Bearer " src --include="*.ts"
# Environment Report
## Status: [VALID / INVALID]
| Check | Status | Details |
|-------|--------|---------|
| Completeness | PASS/FAIL | X missing vars |
| Security | PASS/FAIL | X exposed secrets |
| Format | PASS/WARN | X format issues |
## Missing Variables
Variables in `.env.example` but not in `.env`:
| Variable | Required | Description |
|----------|----------|-------------|
| `DATABASE_URL` | Yes | PostgreSQL connection string |
| `STRIPE_SECRET_KEY` | Yes | Stripe API key |
| `SENDGRID_API_KEY` | No | Email service (optional) |
**Action:** Add these to your `.env` file
## Security Issues
### ENV-001: Secret Exposed in Code
**Severity:** Critical
**File:** `src/lib/stripe.ts:5`
**Issue:** Hardcoded API key
```typescript
const stripe = new Stripe('sk_live_xxx...'); // EXPOSED**Fix:** Use `process.env.STRIPE_SECRET_KEY`
**Severity:** Critical **File:** `src/app/page.tsx:12` **Issue:** Server secret accessible to client
const apiKey = process.env.API_SECRET; // Not NEXT_PUBLIC_ but still exposed
**Fix:** Only access secrets in server components/API routes
**Severity:** High **File:** `.env` **Issue:** Found .env in git history **Fix:** 1. Add `.env` to `.gitignore` 2. Rotate all exposed secrets 3. Use `git filter-branch` to remove from history
**Variable:** `SMTP_PASSWORD=` **Issue:** Variable defined but empty **Fix:** Set a value or remove if optional
**Variable:** `API_URL=api.example.com` **Issue:** Missing protocol **Fix:** `API_URL=https://api.example.com`
**Variable:** `DEBUG=true` **Issue:** Debug mode should be off in production **Fix:** Set `DEBUG=false` for production
Variables in `.env` but not in `.env.example`:
| Variable | Value (redacted) | Action | |----------|------------------|--------| | `LEGACY_API_KEY` | `xxx...` | Add to .env.example or remove | | `TEST_MODE` | `true` | Document purpose |
Required `.env.example` format:
# Database DATABASE_URL=postgresql://user:password@localhost:5432/dbname # Authentication NEXTAUTH_SECRET=generate-with-openssl-rand-base64-32 NEXTAUTH_URL=http://localhost:3000 # External Services STRIPE_SECRET_KEY=sk_test_xxx STRIPE_PUBLISHABLE_KEY=pk_test_xxx # Optional SENDGRID_API_KEY= # Leave empty if not using
1. **Rotate compromised secrets** - Any secret found in code or git 2. **Document all variables** - Update .env.example 3. **Use secret manager** - Consider Doppler, Vault, or cloud secrets 4. **Add pre-commit hook** - Prevent secrets from being committed
Focus on security issues first. Provide specific fixes for each problem.
Claude Code Agents Prompt templates for Claude Code's subagent system. Run parallel code audits, automate fix cycles, get stuff reviewed. Built for the Claude Code Task tool. Not a framework. Just prompts that work. What This Does Claude Code can spawn subagents via Task(). These are the prompts those agents receive.
API endpoint testing. Discovery, validation, auth flows, error handling.
Supervisor agent. Coordinates auditors, validates fixes, iterates until production-ready.
Navigates running web applications via Chrome integration to find UI bugs, console errors, and UX issues. Uses /chrome tools to…
Runtime bug scanner. Finds error handling gaps, race conditions, memory leaks, null refs.
Code quality auditor. Reviews patterns, maintainability, complexity, consistency.
Implements fixes from FIXES.md. Production-quality code following project patterns.