cc-changelog
CONTRIBUTOR TOOL - Track CC changelog, extract new versions since last check, analyze impact on plugin (breaking changes,…
Project health audit and health check — architecture, performance, tests, dependencies, code quality. Use when assessing overall project health, before releases, or after refactors.
Claude Code
$ npx -y skills add oliver-kriska/claude-elixir-phoenix --skill audit --agent claude-code
Codex
$ npx skills add oliver-kriska/claude-elixir-phoenix --skill audit -a codex -y
Cursor
$ npx skills add oliver-kriska/claude-elixir-phoenix --skill audit -a cursor -y
Gemini CLI
$ npx skills add oliver-kriska/claude-elixir-phoenix --skill audit -a gemini-cli -y
GitHub Copilot
$ npx skills add oliver-kriska/claude-elixir-phoenix --skill audit -a github-copilot -y
OpenCode
$ npx skills add oliver-kriska/claude-elixir-phoenix --skill audit -a opencode -y
Windsurf
$ npx skills add oliver-kriska/claude-elixir-phoenix --skill audit -a windsurf -y
name: audit description: Project health audit and health check — architecture, performance, tests, dependencies, code quality. Use when assessing overall project health, before releases, or after refactors. effort: high argument-hint: "[--quick|--full|--focus=area|--since=commit]"
Comprehensive project-wide health assessment using 5 parallel specialist subagents.
/phx:audit # Full audit (default) /phx:audit --quick # 2-3 minute pulse check /phx:audit --focus=security # Deep dive single area /phx:audit --focus=performance /phx:audit --since abc123 # Incremental audit since commit /phx:audit --since HEAD~10 # Audit last 10 commits
1. **Wait for ALL agents before synthesizing** — Partial results create misleading health scores because cross-category correlations get missed 2. **Scope agent prompts to specific directories** — Vague prompts like "analyze the codebase" produce generic findings that waste tokens and miss real issues 3. **Never compare scores across projects** — Scoring methodology depends on project size and maturity; only track trends within the same project 4. **Quick mode before full mode** — Run `--quick` first to catch compile/test failures before spending tokens on 5 parallel agents
Spawn 5 specialists in parallel using Agent tool. Three route to plugin specialists with a declared model; the two categories without a specialist use `general-purpose` pinned to `model: "sonnet"` — unpinned, they inherit the session model (Opus by default):
| Subagent | Focus | Output File | Routes to | |----------|-------|-------------|-----------| | Architecture Reviewer | Structure quality, coupling, cohesion | `arch-review.md` | `phoenix-patterns-analyst` (sonnet) | | Performance Auditor | N+1, indexes, bottlenecks, scalability | `perf-audit.md` | `general-purpose`, `model: "sonnet"` (no perf specialist yet) | | Security Auditor | OWASP scan, auth patterns, secrets | `security-audit.md` | `security-analyzer` (opus) | | Test Health Auditor | Coverage, quality, flaky tests | `test-audit.md` | `testing-reviewer` (sonnet) | | Dependency Auditor | Vulnerabilities, outdated, unused | `deps-audit.md` | `general-purpose`, `model: "sonnet"` (`hex-deps-triager` is per-package only) |
**If `TaskCreate` is in your tool list**, create Claude Code tasks for progress visibility (Sonnet 5+ and Opus 4.8+ omit it unless `CLAUDE_CODE_ENABLE_TODO_TOOLS=1`; never ToolSearch for it — skip this block):
For each auditor:
TaskCreate({subject: "{Area} audit", activeForm: "Auditing {area}..."})
TaskUpdate({taskId, status: "in_progress"})Then spawn all 5 agents with Agent tool (parallel). Route to declared-model specialists where they exist, keep `general-purpose` only where no specialist covers the audit category:
Agent(subagent_type: "phx:phoenix-patterns-analyst", prompt: "Architecture audit: analyze module structure, context boundaries, coupling, cohesion. Write findings to .claude/audit/reports/arch-review.md", run_in_background: true) Agent(subagent_type: "general-purpose", model: "sonnet", prompt: "Performance audit: N+1 queries, missing indexes, bottlenecks, scalability. Write findings to .claude/audit/reports/perf-audit.md", run_in_background: true) Agent(subagent_type: "phx:security-analyzer", prompt: "Security audit: OWASP scan, auth patterns, secret leakage. Write findings to .claude/audit/reports/security-audit.md", run_in_background: true) Agent(subagent_type: "phx:testing-reviewer", prompt: "Test health audit: coverage, quality, flakes. Write findings to .claude/audit/reports/test-audit.md", run_in_background: true) Agent(subagent_type: "general-purpose", model: "sonnet", prompt: "Dependency audit: vulnerabilities, outdated, unused. Write findings to .claude/audit/reports/deps-audit.md", run_in_background: true)
**Why specialist routing matters**: a `general-purpose` subagent without `model:` inherits the session model — Opus on every plan since CC 2.1.280. Plugin specialists declare their own model in frontmatter, and the two `general-purpose` tracks pin `model: "sonnet"`, so no audit track runs on Opus.
**Agent prompts must be FOCUSED.** Scope each prompt to the relevant directories and patterns. Do NOT give vague prompts like "analyze the codebase."
**Output efficiency**: Tell each agent: "Report ONLY issues found. Do NOT list clean checks, passing categories, or 'What's Good'. One summary line per clean area suffices."
Wait for ALL auditors to complete — one completion notification per agent spawned. If you created tasks, mark each `completed` as it finishes. NEVER proceed while any auditor is still running.
Read reports from `.claude/audit/reports/`.
**Rate-limit circuit breaker:** if 2+ auditors return empty results or rate-limit/API errors, STOP spawning. Synthesize from the reports that exist, mark missing categories as "not audited (rate limit)", and tell the user to re-run `/phx:audit` after the limit resets. Never leave the user typing "continue" against dead agents.
After all 5 auditors complete, spawn context-supervisor:
Agent(subagent_type: "phx:context-supervisor", prompt: """ Compress audit findings. Input: .claude/audit/reports/ Output: .claude/audit/summaries/ Priority: Health scores per category, critical findings only, cross-category correlations, deduplicate findings found by 2+ agents. """, run_in_background: false)
Read `.claude/audit/summaries/consolidated.md` for synthesis.
Each category scores 0-100. See `${CLAUDE_SKILL_DIR}/references/scoring-methodology.md`.
Docs: phxagents.dev -- install guides per runtime, the runtime compatibility matrix, all 26 Iron Laws, and a browsable skill and agent catalog. Claude Code is great.
CONTRIBUTOR TOOL - Track CC changelog, extract new versions since last check, analyze impact on plugin (breaking changes,…
Run an A/B codex review experiment — holistic codex review vs 3 focused dimension passes (security, ecto, liveview) on the branch…
CONTRIBUTOR TOOL - Validate plugin against latest Claude Code documentation. Catches breaking changes, deprecations, discovers…
Guide plugin development workflow — editing skills, agents, hooks, or eval framework in this repo. Use when modifying files in…
Generate X/Twitter release promotion posts with ASCII tables and CodeSnap rendering. Use when writing release posts, promotion…
CONTRIBUTOR TOOL - Cut a plugin release: bump plugin.json version, finalize CHANGELOG, update README if needed, gate on make ci,…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.