From beagle-elixir
Reviews changed Elixir/Phoenix code after linter verification; detects LiveView/Oban/tests, loads specialized skills, supports parallel subagents.
npx claudepluginhub existential-birds/beagle --plugin beagle-elixirThis skill uses the workspace's default tool permissions.
- `--parallel`: Spawn specialized subagents per technology area
Creates new Angular apps using Angular CLI with flags for routing, SSR, SCSS, prefixes, and AI config. Follows best practices for modern TypeScript/Angular development. Use when starting Angular projects.
Generates Angular code and provides architectural guidance for projects, components, services, reactivity with signals, forms, dependency injection, routing, SSR, ARIA accessibility, animations, Tailwind styling, testing, and CLI tooling.
Executes ctx7 CLI to fetch up-to-date library documentation, manage AI coding skills (install/search/generate/remove/suggest), and configure Context7 MCP. Useful for current API refs, skill handling, or agent setup.
--parallel: Spawn specialized subagents per technology areagit diff --name-only $(git merge-base HEAD main)..HEAD | grep -E '\.ex$|\.exs$|\.heex$'
CRITICAL: Run project linters BEFORE flagging any style issues.
# Check formatting
mix format --check-formatted
# Check Credo if present
if [ -f ".credo.exs" ] || grep -q ":credo" mix.exs 2>/dev/null; then
mix credo --strict
fi
# Check Dialyzer if configured
if grep -q ":dialyxir" mix.exs 2>/dev/null; then
mix dialyzer --format short
fi
Rules:
# Detect Phoenix
grep -r "use Phoenix\|Phoenix.Router\|Phoenix.Controller" --include="*.ex" -l | head -3
# Detect LiveView
grep -r "use Phoenix.LiveView\|Phoenix.LiveComponent\|~H" --include="*.ex" -l | head -3
# Detect Oban
grep -r "use Oban.Worker\|Oban.insert" --include="*.ex" -l | head -3
# Check for test files
git diff --name-only $(git merge-base HEAD main)..HEAD | grep -E '_test\.exs$'
Load beagle-elixir:review-verification-protocol skill and keep its checklist in mind throughout the review.
Use the Skill tool to load each applicable skill.
Always load:
beagle-elixir:elixir-code-reviewConditionally load based on detection:
| Condition | Skill |
|---|---|
| Phoenix detected | beagle-elixir:phoenix-code-review |
| LiveView detected | beagle-elixir:liveview-code-review |
| Performance focus requested | beagle-elixir:elixir-performance-review |
| Security focus requested | beagle-elixir:elixir-security-review |
| Test files changed | beagle-elixir:exunit-code-review |
Sequential (default):
Parallel (--parallel flag):
Task toolBefore reporting any issue:
You MUST report ALL issues across ALL categories (style, logic, types, tests, security, performance) in a single review pass. Do not hold back issues for later rounds.
Before submitting findings, ask yourself:
If yes to either: include those anticipated downstream issues NOW, in this review, so the author can address everything at once.
Fixes to existing code should be flagged at their real severity regardless of size.
However, requests for net-new code that didn't exist before the diff must be classified as Informational:
These are improvement suggestions for the author to consider in future work, not review blockers.
If this is a re-review after fixes were applied:
## Review Summary
[1-2 sentence overview of findings]
## Issues
### Critical (Blocking)
1. [FILE:LINE] ISSUE_TITLE
- Issue: Description of what's wrong
- Why: Why this matters (bug, type safety, security)
- Fix: Specific recommended fix
### Major (Should Fix)
2. [FILE:LINE] ISSUE_TITLE
- Issue: ...
- Why: ...
- Fix: ...
### Minor (Nice to Have)
N. [FILE:LINE] ISSUE_TITLE
- Issue: ...
- Why: ...
- Fix: ...
### Informational (For Awareness)
N. [FILE:LINE] SUGGESTION_TITLE
- Suggestion: ...
- Rationale: ...
## Good Patterns
- [FILE:LINE] Pattern description (preserve this)
## Verdict
Ready: Yes | No | With fixes 1-N (Critical/Major only; Minor items are acceptable)
Rationale: [1-2 sentences]
After fixes are applied, run:
mix format --check-formatted
mix credo --strict
mix dialyzer
mix test
All checks must pass before approval.