cc-changelog
CONTRIBUTOR TOOL - Track CC changelog, extract new versions since last check, analyze impact on plugin (breaking changes, opportunities, deprecations). Run…
Challenge mode reviews - rigorous questioning before approving changes. Use when you want thorough scrutiny of Ecto changes, LiveView events, OTP designs, or PR readiness.
$ npx -y skills add oliver-kriska/claude-elixir-phoenix --skill challenge --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/challengeContext preview
The summary Claude sees to decide when to auto-load this skill.
Challenge mode reviews - rigorous questioning before approving changes. Use when you want thorough scrutiny of Ecto changes, LiveView events, OTP designs, or PR readiness.
name: challenge description: Challenge mode reviews - rigorous questioning before approving changes. Use when you want thorough scrutiny of Ecto changes, LiveView events, OTP designs, or PR readiness. effort: high argument-hint: ecto | liveview | pr
Rigorous, critical review patterns inspired by Boris Cherny's "Grill me" approach. Push beyond first solutions to ensure quality.
1. **No approval without verification** - Don't approve until all concerns addressed 2. **Assume bugs exist** - Look for edge cases, race conditions, missing handlers 3. **Question everything** - Even "obvious" code can hide issues 4. **Demand proof** - Ask for tests, show state transitions, verify behavior
1. **"What Would Break This?"** — Production failure modes under load, during deploys, with unexpected data 2. **"Assumption Stress Test"** — List every assumption; which are most fragile? 3. **"Contradictions Finder"** — Find contradictions between tests/implementation, docs/behavior, or within the changeset
Grill the developer on database changes:
**Migration Safety**
**Query Performance**
**Schema Integrity**
**Backward Compatibility**
Prove the LiveView handles all cases:
**Event Coverage**
**PubSub Handling**
**State Transitions**
**Memory & Performance**
Senior engineer review checklist:
**Must Pass**
**Performance**
**OTP**
**Security**
CRITICAL: Prevents re-discovering identical issues across consecutive runs.
1. **Search** `.claude/plans/*/reviews/` and `.claude/reviews/` for prior findings 2. **Read ALL** prior findings before analyzing code 3. **Check each finding** against priors:
4. **Present**: NEW first (full), then PERSISTENT (one-line), then REGRESSION
## Challenge: Ecto — Orders Migration ### FINDING 1: Table lock risk (HIGH) AddColumn on `orders` (2.1M rows) will lock table during deploy. **Proof needed**: Run `SELECT count(*) FROM orders` — if >1M, use `ALTER TABLE ... ADD COLUMN ... DEFAULT NULL` (no lock). ### FINDING 2: Missing index (MEDIUM) New `WHERE status = ?` query on line 45 has no index. **Action**: Add `create index(:orders, [:status])` to migration. ### Status: BLOCKED — 2 unresolved findings
Run `/phx:challenge [mode]` to initiate a rigorous review. The reviewer will not approve until all concerns are addressed with evidence.
Example workflow:
1. Run `/phx:challenge ecto` after migration changes 2. Answer each question with code references or test results 3. Address all concerns before proceeding to PR
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.
Repo: oliver-kriska/claude-elixir-phoenix
CONTRIBUTOR TOOL - Track CC changelog, extract new versions since last check, analyze impact on plugin (breaking changes, opportunities, deprecations). Run…
Run an A/B codex review experiment — holistic codex review vs 3 focused dimension passes (security, ecto, liveview) on the branch diff, classify findings,…
CONTRIBUTOR TOOL - Validate plugin against latest Claude Code documentation. Catches breaking changes, deprecations, discovers new features. Run before…
Guide plugin development workflow — editing skills, agents, hooks, or eval framework in this repo. Use when modifying files in plugins/elixir-phoenix/,…
Generate X/Twitter release promotion posts with ASCII tables and CodeSnap rendering. Use when writing release posts, promotion tweets, plugin announcements, or…
CONTRIBUTOR TOOL - Cut a plugin release: bump plugin.json version, finalize CHANGELOG, update README if needed, gate on make ci, commit, tag vX.Y.Z, and create…