# Infra Audit

Reads docker-compose, env files, ORM configs, and connection strings to map current...

- Repository: https://github.com/SethGammon/Citadel (927 stars)
- Category: DevOps
- License: MIT
- Last updated: 2026-10-30
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add SethGammon/Citadel --skill infra-audit -g -a claude-code -y`
Codex: `npx skills add SethGammon/Citadel --skill infra-audit -g -a codex -y`
Cursor: `npx skills add SethGammon/Citadel --skill infra-audit -g -a cursor -y`
Gemini CLI: `npx skills add SethGammon/Citadel --skill infra-audit -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add SethGammon/Citadel`

## Description

Reads docker-compose, env files, ORM configs, and connection strings to map current infrastructure. Flags missing layers (cache, queue, analytics) based on observed access patterns. Outputs a structured infrastructure manifest.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# /infra-audit -- Infrastructure Auditor

## When to Use

- Before adding a new database, cache, or queue to a project
- When onboarding to an unfamiliar codebase and need to understand its infra
- Before planning a workspace campaign that spans multiple services
- When someone asks "what systems does this project talk to?"

**Do not use when:**
- The user already knows the infra and just wants to wire something up (use `/architect`)
- The question is about code architecture, not infrastructure (use `/research`)

## Protocol

### Step 1: DISCOVER

Scan the project for infrastructure configuration files. Check each category:

**Container orchestration:**
- `docker-compose.yml`, `docker-compose.*.yml`
- `Dockerfile`, `*.dockerfile`
- `k8s/`, `kubernetes/`, `helm/`, `charts/`

**Environment and secrets:**
- `.env`, `.env.*`, `.env.example`, `.env.local`
- `*.env` files in config directories

**Database and ORM:**
- Prisma: `prisma/schema.prisma`
- Drizzle: `drizzle.config.ts`, `drizzle/`
- TypeORM: `ormconfig.*`, `data-source.ts`
- Sequelize: `.sequelizerc`, `config/database.*`
- Knex: `knexfile.*`
- SQLAlchemy: `alembic.ini`, `alembic/`
- Django: `settings.py` (DATABASES section)
- Rails: `config/database.yml`
- Go: look for `pgx`, `gorm`, `sqlx` in go.mod

**Message queues and event streaming:**
- Redis: connection strings, `ioredis`, `redis` in package.json/requirements.txt/go.mod
- RabbitMQ: `amqplib`, `pika`, `amqp` imports
- Kafka: `kafkajs`, `confluent-kafka`, `sarama` imports
- NATS: `nats`, `nats.go` imports
- SQS/SNS: `@aws-sdk/client-sqs`, `boto3` sqs references

**Cache:**
- Redis (dual-use -- note if used as cache vs. pub/sub vs. primary store)
- Memcached: `memcached`, `pylibmc` imports

**Search:**
- Elasticsearch: `@elastic/elasticsearch`, `elasticsearch-py`
- Meilisearch, Typesense, Algolia client libraries

**Object storage:**
- S3: `@aws-sdk/client-s3`, `boto3` s3 references
- MinIO, GCS, Azure Blob client libraries

The rest: https://github.com/SethGammon/Citadel/blob/HEAD/skills/infra-audit/SKILL.md
