Install
$ agentstack add skill-arbazkhan971-godmode-config ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Config — Environment & Configuration Management
Activate When
- User invokes
/godmode:config - User says "manage environments", "config validation", "feature flags"
- User needs dev/staging/prod parity checking
- User wants to design a feature flag system or A/B test rollout
- Ship skill needs environment verification before deployment
- User asks "are my environments in sync?" or "check config drift"
Workflow
Step 1: Inventory Current Configuration
Map all configuration sources and environments:
# Find config files
find . -name "*.env*" -o -name "*.config.*" -o -name "*.yml" -o -name "*.yaml" -o -name "*.toml" -o -name
"*.ini" | grep -v node_modules | grep -v .git
# Check for environment-specific files
find . -name "*development*" -o -name "*staging*" -o -name "*production*" -o -name "*prod*" -o -name "*dev*" |
grep -v node_modules | grep -v .git
CONFIG INVENTORY:
Environments:
Config sources:
- Environment variables:
- Config files:
- Secret managers:
- Feature flag provider:
Config format:
Total config keys:
Secret keys:
Non-secret keys:
Step 2: Environment Parity Check
Compare configurations across environments to detect drift:
Key-Level Comparison
PARITY CHECK:
| Config Key | Dev | Staging | Prod |
|--|--|--|--|
| DATABASE_URL | ✓ | ✓ | ✓ |
| REDIS_URL | ✓ | ✓ | ✓ |
│ LOG_LEVEL │ debug│ info │ warn │ ← EXPECTED DIFF
│ FEATURE_NEW_UI │ true │ true │ false│ ← EXPECTED DIFF
│ MAX_CONNECTIONS │ 10 │ 50 │ 100 │ ← EXPECTED DIFF
| API_TIMEOUT_MS | 5000 | 5000 | 5000 |
│ SENTRY_DSN │ ✓ │ ✓ │ ✗ │ ← MISSING IN PROD
│ NEW_SERVICE_URL │ ✓ │ ✗ │ ✗ │ ← ONLY IN DEV
Drift Categories
CRITICAL DRIFT (must fix):
- Keys present in one env but missing in another (likely deployment failure)
- Type mismatches (string in dev, number in prod)
- Secret keys with placeholder values in non-dev environments
EXPECTED DRIFT (document and accept):
- Log levels (debug in dev, warn in prod)
- Connection pool sizes (scaled per environment)
- Feature flags (intentional per-environment rollout)
- Debug/profiling settings (dev-only)
SUSPICIOUS DRIFT (investigate):
- Different values for same key with no documented reason
- Timeout or retry values that differ without scaling justification
- Third-party service URLs that don't match environment tier
Step 3: Config Validation Schema
Generate or verify a validation schema for all configuration:
// config/schema.ts — Single source of truth for all config keys
const configSchema = {
DATABASE_URL: {
type: 'string',
required: true,
format: 'uri',
Validation Rules
For EVERY config key, validate:
1. PRESENCE — Required keys exist in every environment
2. TYPE — Value matches expected type (string, number, boolean, URL, etc.)
3. FORMAT — Value matches pattern (URLs, email, API key formats)
4. RANGE — Numeric values within acceptable bounds
5. SENSITIVITY — Sensitive values not hardcoded or committed to git
6. CONSISTENCY — Same key has same type across all environments
Startup Validation
// Validate config on application startup — fail fast
function validateConfig(env: Record): void {
const errors: string[] = [];
for (const [key, schema] of Object.entries(configSchema)) {
const value = env[key];
if (schema.required && !value) {
IF config change breaks health check: rollback immediately. WHEN feature flag stale >30 days: schedule removal.
Step 4: Feature Flag Design
Design and manage feature flags for controlled rollouts:
Flag Types
FLAG TYPES:
1. RELEASE FLAG — Gate new features (temporary, remove after full rollout)
Example: FEATURE_NEW_CHECKOUT=true
Lifecycle: Create → Dev → Staging → % Prod → 100% Prod → Remove flag
2. EXPERIMENT FLAG — A/B test with measurement
Example: EXPERIMENT_PRICING_V2={variant: "B", percentage: 25}
Lifecycle: Create → Configure variants → Run → Measure → Pick winner → Remove
3. OPS FLAG — Control operational behavior
Example: OPS_MAINTENANCE_MODE=false
Lifecycle: Create → Toggle during incidents → Keep permanently
4. PERMISSION FLAG — Gate features by user segment
Example: PERMISSION_BETA_FEATURES=["user_123", "org_456"]
Flag Schema
interface FeatureFlag {
name: string; // SCREAMING_SNAKE_CASE
type: 'release' | 'experiment' | 'ops' | 'permission';
description: string; // What this flag controls
owner: string; // Team or person responsible
createdAt: string; // ISO date
Flag Lifecycle Management
Every flag: owner + expiry date. Release flags >30 days at 100%: remove flag, keep code. Experiment flags >14 days: conclude, pick winner. Dead flags (no code refs): delete. Keep total under 20 for small teams. Weekly stale flag report.
Step 5: A/B Test Setup
Design controlled experiments with statistical rigor:
Experiment Design
EXPERIMENT PLAN:
Name:
Hypothesis: "Changing will improve by "
Primary metric:
Secondary metrics:
Minimum detectable effect:
Statistical significance:
Required sample size:
Variants:
Control (A):
Treatment (B):
[Treatment (C)]:
Traffic split:
Rollout Strategy
Phase 1: Internal (100%, 2-3 days, catch bugs). Phase 2: Canary (1-5%, 24-48h, verify no regressions). Phase 3: Controlled (10% -> 25% -> 50%, 1-2 weeks per increment, gather statistical significance).
Step 6: Secret Management Audit
Verify secrets are handled safely across all environments:
SECRET AUDIT:
| Check | Status | Finding |
|--|--|--|
| .env in .gitignore | PASS/FAIL | |
| No secrets in code | PASS/FAIL | |
| No secrets in logs | PASS/FAIL | |
| Secrets rotatable | PASS/FAIL | |
| Secrets have expiry | PASS/FAIL | |
| Dev ≠ prod secrets | PASS/FAIL | |
| Secret manager in use | PASS/FAIL | |
| Encryption at rest | PASS/FAIL | |
Step 7: Generate Config Report
CONFIG AUDIT —
Environments: configured
Total config keys:
Sensitive keys:
PARITY:
Keys in all envs: /
Missing keys: (CRITICAL)
Expected drift: (documented)
Suspicious drift: (needs investigation)
VALIDATION:
Schema coverage: % of keys have validation
Step 8: Commit and Transition
- Save report as
docs/config/-config-audit.md - Save validation schema if generated
- Commit:
"config: — ( keys, flags, issues)" - If CRITICAL: "Missing keys in production or secrets exposed. Fix immediately."
- If HEALTHY: "Configuration is consistent. Ready for deployment."
Key Behaviors
- Never commit secrets. Flag as CRITICAL immediately.
- Schema is source of truth. Type, validation, description.
- Parity before deploy. Fail fast on missing keys.
- Flags have lifecycles. Owner + expiry date required.
- A/B tests need math. Sample size before launch.
- Environment drift is a bug. Document or fix.
Flags & Options
| Flag | Description | |--|--| | (none) | Full config audit — parity, validation, secrets, flags | | --parity | Environment parity check only | | --validate | Config validation schema check only |
HARD RULES
Never ask to continue. Loop autonomously until all environments are audited and drift is resolved.
- NEVER commit secrets to source control. If found, flag as CRITICAL immediately.
- NEVER deploy to an environment with missing required config keys. Fail fast.
- EVERY config key MUST have a schema entry with type, validation, and description.
- EVERY feature flag MUST have an owner and expiry date.
- NEVER add a flag without a cleanup plan — document removal conditions at creation time.
- git commit BEFORE verify — commit config changes, then validate against schema.
- Automatic revert on regression — if config change causes startup failure, revert immediately.
- TSV logging — log every config audit:
`` timestamp environments total_keys missing_keys secret_issues flags_stale verdict ``
Auto-Detection
On activation, automatically detect all configuration without asking:
AUTO-DETECT:
1. Config files:
find . -name "*.env*" -o -name "*.config.*" -o -name "*.yml" \
-o -name "*.yaml" -o -name "*.toml" -o -name "*.ini" \
| grep -v node_modules | grep -v .git
2. Environment-specific files:
find . -name "*development*" -o -name "*staging*" -o -name "*production*" \
-o -name "*prod*" -o -name "*dev*" | grep -v node_modules
3. Secret references:
grep -r "SECRET\|API_KEY\|PASSWORD\|TOKEN\|PRIVATE" \
--include="*.env*" --include="*.config.*" -l
4. Feature flag provider:
Output Format
Print on completion: Config: {config_key_count} keys across {env_count} environments. Secrets: {secret_count} (all in secret manager: {secret_mgr_status}). Drift: {drift_count} keys differ. Validation: {validation_status}. Feature flags: {flag_count}. Verdict: {verdict}.
TSV Logging
Log every configuration operation to .godmode/config-results.tsv:
iteration task environment keys_total secrets_count drift_detected validation_status status
1 inventory production 45 12 0 passing audited
2 inventory staging 45 12 3 passing drift_found
3 secrets all 0 12 0 migrated migrated
4 validation all 45 0 0 zod_schema configured
Columns: iteration, task, environment, keystotal, secretscount, driftdetected, validationstatus, status(audited/drift_found/migrated/configured/failed).
Success Criteria
All keys inventoried. Secrets in secret manager. Startup validation fails fast. Drift detected and explained. Flags have expiry + cleanup plans. Typed config parsing (no raw process.env). Config changes auditable.
Error Recovery
| Failure | Action | |--|--| | App fails to start after config change | Check validation errors for specific key. Compare with previous working config. | | Secret rotation breaks app | Test rotation in staging first. Validate new secret before revoking old. | | Config drift between envs | Run drift detection. Document intentional drift, fix accidental. |
Keep/Discard
KEEP if: improvement verified. DISCARD if: regression or no change. Revert discards immediately.
Stop Conditions
Stop when: target reached, budget exhausted, or >5 consecutive discards.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: arbazkhan971
- Source: arbazkhan971/godmode
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.