Skip to content
cccskills
FreePublished on GitHub

phx-audit

Project health audit and health check — architecture, performance; Use when assessing overall project health…

The English summary is being prepared. Showing the original description.

See how to install

Files included (3)

  • SKILL.md4.1 KB
  • references/architecture-checks.md5.1 KB
  • references/scoring-methodology.md4.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Project Health Audit

Comprehensive project-wide health assessment across five independent concern tracks.

Usage

$elixir-phoenix:phx-audit              # Full audit (default)
$elixir-phoenix:phx-audit --quick      # 2-3 minute pulse check
$elixir-phoenix:phx-audit --focus=security   # Deep dive single area
$elixir-phoenix:phx-audit --focus=performance
$elixir-phoenix:phx-audit --since abc123   # Incremental audit since commit
$elixir-phoenix:phx-audit --since HEAD~10  # Audit last 10 commits

When to Use

  • Quarterly health checks
  • Before major releases
  • After large refactors
  • New team member onboarding (understand codebase health)

Iron Laws

  1. Complete every selected track before synthesizing — partial results make cross-category scores misleading
  2. Scope each track to concrete directories and checks — vague project-wide analysis produces generic findings
  3. Never compare scores across projects — track trends only within the same codebase
  4. Run quick mode before full mode — catch basic failures before expensive analysis

Portable Audit Workflow

  1. Create .claude/audit/reports/ and .claude/audit/summaries/.
  2. Run the quick checks below. Stop and report a blocker when the project cannot compile or its test command cannot start.
  3. Complete five tracks: architecture, performance, security, tests, and dependencies. Native generic workers may run independent tracks in parallel when the runtime provides them; otherwise run every track sequentially in this session. Never require named custom agents.
  4. Write one evidence-focused report per track under .claude/audit/reports/. Report issues only, cite paths and lines, and use one summary line for a clean area.
  5. After all selected reports exist, deduplicate findings, identify cross-category correlations, calculate scores using references/scoring-methodology.md, and write .claude/audit/summaries/project-health-{date}.md.

If two or more optional workers fail or hit limits, finish the missing tracks sequentially. Never present an incomplete track as audited.

Output Format

Report an executive health score, per-category scores for Architecture, Performance, Security, Tests, and Dependencies, critical issues, top recommendations, and an Immediate/Short-term/Long-term action plan.

Quick Mode (--quick)

Only run essential checks (~2-3 minutes):

Run mix compile --warnings-as-errors, then mix hex.audit && mix deps.audit, then mix xref graph --format stats, then mix test --trace 2>&1 | tail -20.

Skip: Full security scan, N+1 analysis, test quality metrics, architecture deep dive.

Focus Mode (--focus=area)

Run only the selected concern track with its deeper checks:

FocusExtra checks
securityFull OWASP review, Sobelow, manual authorization patterns
performanceQuery plans, N+1 inventory, profiling evidence
architectureFull xref graph, coupling matrix, cohesion
testsCoverage by context, isolation, flaky-test indicators
depsVulnerabilities, licenses, maintenance status

Incremental Mode (--since <commit>)

Analyze only changes since a specific commit. Useful for pre-merge checks:

Run git diff --name-only <commit>...HEAD to identify changed files, then run targeted audits on changed files only (skips full project scan).

Combines with other flags: $elixir-phoenix:phx-audit --since HEAD~5 --focus=security

Relationship to Other Commands

CommandScopeFrequency
$elixir-phoenix:phx-reviewChanged files (diff)Every PR
$elixir-phoenix:phx-auditEntire projectQuarterly
$elixir-phoenix:phx-boundariesContext structureOn-demand
$elixir-phoenix:phx-verifyCompile/test passAnytime

References

  • references/scoring-methodology.md - How scores are calculated
  • references/architecture-checks.md - Detailed architecture criteria

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Analyze a legacy app in any language before rewriting it in Elixir: inventory, features as goals, why each mechanism exists, runtime topology, external contracts. Use to start or refresh a rewrite.

The English summary is being prepared. Showing the original description.

oliver-kriska/claude-elixir-phoenix569Updated Oct 22, 2026

Design the idiomatic Elixir architecture for a rewrite: set the compatibility bar (ADR-000), consult phx specialists on open questions, then build contexts, ledger and ADRs. Use after /rewrite:analyze.

The English summary is being prepared. Showing the original description.

oliver-kriska/claude-elixir-phoenix569Updated Oct 22, 2026

Ash Framework — resources, actions, policies, aggregates; Use when generating resources via mix ash.codegen, editing…

The English summary is being prepared. Showing the original description.

oliver-kriska/claude-elixir-phoenix569Updated Oct 22, 2026

Ash Framework — resources, actions, policies, aggregates, calculations, AshPhoenix.Form, LiveView, migrations. Use when generating resources via mix ash.codegen, editing changes, checks, types, validations, or domain code interfaces.

The English summary is being prepared. Showing the original description.

oliver-kriska/claude-elixir-phoenix569Updated Oct 22, 2026

Compatibility alias for the Elixir/Phoenix plugin's LiveView assigns audit. Invoke explicitly with /lv:assigns.

The English summary is being prepared. Showing the original description.

oliver-kriska/claude-elixir-phoenix569Updated Oct 22, 2026

Inspect LiveView socket assigns for memory bloat — missing temporary_assigns, unused assigns, unbounded lists needing streams, memory estimates. Use when LiveView memory grows or you need to add temporary_assigns.

The English summary is being prepared. Showing the original description.

oliver-kriska/claude-elixir-phoenix569Updated Oct 22, 2026

See all skills by oliver-kriska

Report a problem with this skill