Skip to content
Development
Agent

robustness-checklists

Detailed checklists for complexity and concurrency review. Load when the review-robustness agent needs specific patterns to evaluate.

From plugin
the-startup
57916 skills16 agents

Claude Code

> /plugin marketplace add rsmdt/the-startup

Agent definition

robustness-checklists.md

Robustness Review Checklists

Detailed checklists for complexity and concurrency review. Load when the review-robustness agent needs specific patterns to evaluate.

---

Complexity: Abstraction Challenge Table

When you see a new abstraction, challenge it. First match wins.

| If You See | Ask | Expected Justification | |------------|-----|----------------------| | New interface | "How many implementations exist TODAY?" | 2+ concrete implementations | | Factory pattern | "Is there more than one product RIGHT NOW?" | Multiple products in use | | Abstract class | "What behavior is actually shared?" | Concrete shared methods | | Generic type parameter | "What concrete types are used TODAY?" | 2+ distinct type usages | | Configuration option | "Has anyone ever changed this from default?" | Evidence of variation | | Event/callback system | "Could a direct function call work?" | Multiple listeners needed | | Microservice extraction | "Does this NEED to scale independently?" | Different scaling profile proven |

Complexity: Code-Level Simplification

  • [ ] Functions under 20 lines? If not, WHY?
  • [ ] Nesting under 3 levels? Demand guard clauses and early returns
  • [ ] No flag variables? Replace with early returns
  • [ ] Positive conditionals only? No `if (!notReady)` double negatives
  • [ ] Complex expressions named? `const isEligible = x && y && z`
  • [ ] No dead code? Unused variables, unreachable branches removed
  • [ ] No commented-out code? That's what version control is for

Complexity: Architecture-Level Simplification

  • [ ] Every abstraction justified by CURRENT need (not future speculation)?
  • [ ] No pass-through layers? (method just calls another method)
  • [ ] No over-engineering? (factory for single implementation)
  • [ ] No premature generics? (`Repository<T>` with only one T)
  • [ ] Dependencies proportional to functionality?
  • [ ] Layer count justified? Can any layer be collapsed?

Complexity: Anti-Pattern Detection

  • [ ] No Lasagna Code? (too many thin layers)
  • [ ] No Interface Bloat? (interfaces with unused methods)
  • [ ] No Inheritance Addiction? (> 2 levels of inheritance)
  • [ ] No Callback Hell? (use async/await)
  • [ ] No Ternary Chains? (`a ? b : c ? d : e` → use if/else or switch)
  • [ ] No Regex Golf? (unreadable regex → multiple simple checks)
  • [ ] No Metaprogramming? (when direct code works fine)

---

Concurrency: Race Conditions

  • [ ] Shared state protected by synchronization?
  • [ ] Check-then-act operations atomic? (no TOCTOU vulnerabilities)
  • [ ] Compound operations properly locked?
  • [ ] Read AND write operations protected? (not just writes)
  • [ ] Loop variables captured correctly in closures?
  • [ ] Lazy initialization thread-safe?

Concurrency: Async/Await Patterns

  • [ ] All promises awaited or intentionally fire-and-forget?
  • [ ] Promise.all used for independent operations?
  • [ ] No await in loops when Promise.all would work?
  • [ ] Proper error handling for async operations?
  • [ ] Async cleanup in finally blocks or using patterns?
  • [ ] No mixing callbacks and promises inconsistently?

Concurrency: Deadlock Prevention

  • [ ] Consistent lock ordering maintained?
  • [ ] No nested locks that could deadlock?
  • [ ] Timeouts on blocking operations?
  • [ ] No circular wait conditions?
  • [ ] Resources acquired in consistent order?

Concurrency: Resource Management

  • [ ] Async resources properly cleaned up?
  • [ ] Event listeners removed when no longer needed?
  • [ ] Subscriptions unsubscribed on teardown?
  • [ ] Connection pools configured with limits?
  • [ ] Timeouts set on external calls?
  • [ ] Graceful shutdown handles in-flight operations?

Concurrency: Database

  • [ ] Appropriate transaction isolation level?
  • [ ] Optimistic locking where applicable?
  • [ ] No long-running transactions holding locks?
  • [ ] Batch operations instead of row-by-row?
  • [ ] Connection returned to pool promptly?

Concurrency: Event Handling

  • [ ] Event handlers idempotent?
  • [ ] No duplicate event processing?
  • [ ] Event ordering handled correctly?
  • [ ] Backpressure handled for high-volume events?
  • [ ] Dead letter queues for failed events?

---

Concurrency: Common Patterns to Flag

| Pattern | Issue | Fix | |---------|-------|-----| | `if (cache[key]) return cache[key]` | TOCTOU race | Use atomic get-or-set | | `await` inside `forEach` | Sequential, not parallel | Use `Promise.all` with `map` | | `async () => { fetch(...) }` | Unhandled promise | Add error handling or await | | Shared mutable object | Race condition | Immutable or synchronized | | `setTimeout` without cleanup | Memory leak | Store and clear timeout ID |

Read more
@rsmdt
Ships withthe-startup

The Agentic Startup - A collection of Claude Code commands, skills, and agents.

57934 skills16 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
579
Star history of rsmdt/the-startup on GitHub, a chart by star-history.com

Other agents on the-startup.

research-product

research-product

Agent

PROACTIVELY research product direction by combining market evidence and requirement clarification. MUST BE USED when teams need…

@rsmdt@rsmdtInstall Agent
design-system

design-system

Agent

PROACTIVELY design system architecture when building new services or planning for scale. MUST BE USED when making microservices…

@rsmdt@rsmdtInstall Agent
review-compatibility

review-compatibility

Agent

PROACTIVELY review code for breaking changes and compatibility issues. MUST BE USED when reviewing PRs that modify public APIs,…

@rsmdt@rsmdtInstall Agent
review-robustness

review-robustness

Agent

PROACTIVELY review code for robustness risks caused by unnecessary complexity and unsafe concurrency patterns. MUST BE USED when…

@rsmdt@rsmdtInstall Agent
review-security

review-security

Agent

PROACTIVELY review code and dependency changes for security vulnerabilities, supply chain risks, and compliance concerns. MUST BE…

@rsmdt@rsmdtInstall Agent
the-chief

the-chief

Agent

PROACTIVELY assess complexity and route work when facing multi-step tasks, unclear requirements, or cross-domain work. MUST BE…

@rsmdt@rsmdtInstall Agent

More agents from other plugins.

a11y-architect
Auto-invoked

a11y-architect

Agent

Accessibility Architect specializing in WCAG 2.2 compliance for Web and Native platforms. Use PROACTIVELY when designing UI…

ecc2w293k
@affaan-m@affaan-mInstall Agent
analyze-pass-impact

analyze-pass-impact

Agent

Analyzes how a specific topic affects a group of compiler passes. Used by the /plan-update skill to parallelize research across…

react4d252k
@facebook@facebookInstall Agent
orchestrator

orchestrator

Agent

- If the user makes a simple request (such as asking for the time) which you can fulfill by running a terminal command (such as…

codex3d135k
@openai@openaiInstall Agent
cavecrew-builder

cavecrew-builder

Agent

Surgical 1-2 file edit. Typo fixes, single-function rewrites, mechanical renames, comment removal, format-preserving tweaks. Hard…

caveman5d119k
@juliusbrussee@juliusbrusseeInstall Agent

Questions about robustness-checklists.

Which coding agents can use robustness-checklists?
robustness-checklists installs in Claude Code and Cursor: each loads subagents from .claude/agents, so copy the file there. Flowy's auto-invocation runs in Claude Code only.