From praxis
Reviews technical proposals against 30 complexity dimensions. Questions necessity of scale, consistency, and resilience. Use when proposing technologies (Kafka, microservices, event sourcing) or designing systems. Pushes for simplest viable approach.
How this skill is triggered — by the user, by Claude, or both
Slash command
/praxis:complexity-reviewThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
icon: 🔍
icon: 🔍
Review technical proposals by:
Use these categories to systematically challenge technical proposals. For the complete 30 dimensions checklist, see REFERENCE.md.
| Proposal Contains | Challenge These Dimensions | Alternative to Consider |
|---|---|---|
| Kafka, event streaming, message queues | #6 (frequency), #10 (order), #12 (consistency), #13 (transactions) | PostgreSQL + cron job, simple polling |
| Microservices | #8 (concurrency), #13 (distributed transactions), #14 (state), #23 (dependencies) | Modular monolith, well-structured modules |
| Event sourcing, CQRS | #10 (order), #12 (consistency), #22 (auditability), #27 (refactoring) | Append-only table, structured logging |
| Caching layer (Redis, Memcached) | #5 (lifespan), #7 (latency), #12 (consistency), #20 (inconsistency tolerance) | In-memory cache, query optimization first |
| Auto-scaling, serverless | #8 (concurrency), #9 (elasticity), #28 (cost), #30 (scaling time) | Fixed capacity, manual scaling initially |
| NoSQL database | #2 (elements), #12 (consistency), #13 (transactions), #27 (refactoring) | PostgreSQL with JSONB, evaluate need first |
| Multiple databases | #23 (dependencies), #27 (refactoring), #28 (cost) | Single database with clear schema |
| Real-time features, WebSockets | #6 (frequency), #7 (latency), #8 (concurrency), #14 (state) | Polling, periodic refresh (5-30 sec) |
List all the complexity dimensions the proposal addresses (scale, consistency, resilience, etc.)
Review all 30 dimensions against the proposal. Most will pass without issue — only document the ones that raise a real concern or challenge the proposal.
For each challenge, ask:
Important:
Generate 2-3 progressively simpler versions of the proposal:
Explain WHY the simpler version is better — not just "it's simpler". Include concrete criteria for when to add complexity later (e.g., "only if load > 10K/sec").
List features/complexity that can be added later:
For each component/feature in the proposal, estimate the ongoing cost it imposes on the team.
Every dimension of complexity has an ongoing cost simply by existing — not the initial build cost, but the tax you pay forever after. It accumulates, grows non-linearly with coupling, and can exhaust a team.
Components: cognitive load, testing burden, maintenance (dependencies, docs), operational overhead (monitoring, debugging), future change cost (each new feature must account for existing complexity).
If basal cost consumes 70-80% of team capacity, only 20-30% remains for new features — the team is in a capacity trap.
When reviewing any proposal, ask:
For the complete list of 30 Complexity Dimensions with detailed questions, specialized checklists, and more examples, see REFERENCE.md in this skill directory.
npx claudepluginhub acunap/praxis --plugin praxisProduces structured technology trade-off analysis documents with scored comparison matrices for architecture evaluation, build-vs-buy, migration, and consolidation decisions.
Designs system architecture and high-level technical strategy. Use for new systems or subsystems, major refactors, technology selections, system boundaries, and long-term decisions with broad impact.
Performs systematic architecture reviews across 7 dimensions (structural, scalability, enterprise readiness, performance, security, ops, data) with scored reports and prioritized recommendations.