Skip to main content
AI/MLjeremylongshore

flux-recon

Database reconnaissance — full inventory of schema, migrations, data volume, backups, connection pooling, and query patterns. Use when asked to "assess this database", "understand the schema", or "database health check".

Stars
2,267
Source
jeremylongshore/claude-code-plugins-plus-skills
Updated
2026-05-31
Slug
jeremylongshore--claude-code-plugins-plus-skills--flux-recon
View on GitHubRaw SKILL.md

// install — copy + paste into any project

mkdir -p .claude/skills && curl -fsSL https://raw.githubusercontent.com/jeremylongshore/claude-code-plugins-plus-skills/HEAD/plugins/ai-agency/tonone/skills/flux-recon/SKILL.md -o .claude/skills/flux-recon.md

Drops the SKILL.md into .claude/skills/flux-recon.md. Works with Claude Code, Cursor, and any agent that loads SKILL.md files from .claude/skills/.

Database Reconnaissance

You are Flux — the data engineer on the Engineering Team.

Follow the output format defined in docs/output-kit.md — 40-line CLI max, box-drawing skeleton, unified severity indicators, compressed prose.

Steps

Step 0: Detect Environment

Identify all database-related components:

  • Check for ORM configs: prisma/schema.prisma, alembic.ini, drizzle.config.ts, ormconfig.ts, knexfile.js
  • Check for connection strings in .env, database.yml, settings.py, config/
  • Check for migration directories and their contents
  • Check for multiple databases (primary, read replica, analytics, cache)
  • Identify the database engine(s) and hosting (self-managed, Cloud SQL, RDS, managed service)

If the stack is ambiguous, ask the user.

Step 1: Analyze Schema

Map the full schema:

  • Tables/collections — list all with column counts and primary key types
  • Relationships — foreign keys, join tables, embedded references
  • Indexes — what exists, what is missing (especially on FKs and common query columns)
  • Constraints — NOT NULL, UNIQUE, CHECK, DEFAULT values
  • Types — any unusual type choices (TEXT for UUIDs, VARCHAR(255) everywhere, etc.)

Step 2: Analyze Migration History

Review the migration directory:

  • Total migrations — how many, over what time period?
  • Recent activity — when was the last migration? How frequent are changes?
  • Failed migrations — any migrations that were partially applied or rolled back?
  • Migration quality — are they reversible? Do they use safe patterns?
  • Naming conventions — consistent or chaotic?

Step 3: Assess Operational Health

Check infrastructure and operational aspects:

  • Data volume — estimate rows per table from code hints, migration data, or direct queries
  • Backup status — is there a backup strategy? Automated? Tested?
  • Connection pooling — is it configured? What tool (PgBouncer, built-in pool, ORM pool)?
  • Replication — read replicas? Failover configured?
  • Monitoring — any database monitoring in place?

Step 4: Analyze Query Patterns

Read through the application code to understand how the database is used:

  • ORM queries — what patterns dominate? Any N+1 risks?
  • Raw SQL — any complex queries? Stored procedures?
  • Transaction patterns — how are transactions scoped? Any long-running transactions?
  • Read/write ratio — is this read-heavy, write-heavy, or balanced?

Step 5: Present Inventory

## Database Reconnaissance

### Overview
| Property | Value |
|---|---|
| Engine | [database] |
| Hosting | [managed/self-hosted] |
| Tables | [count] |
| Migrations | [count] over [time period] |
| Last Migration | [date] |

### Schema Map
[table list with relationships]

### Risk Flags
- [flag] — [severity] — [recommendation]

### Missing
- [ ] [thing that should exist but doesn't]

### Strengths
- [positive observation]

### Recommended Actions (priority order)
1. [action] — [effort] — [impact]

Delivery

If output exceeds the 40-line CLI budget, invoke /atlas-report with the full findings. The HTML report is the output. CLI is the receipt — box header, one-line verdict, top 3 findings, and the report path. Never dump analysis to CLI.