critique

Get a Distinguished Engineer level technical critique of the current approach

Best use case

critique is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Get a Distinguished Engineer level technical critique of the current approach

Teams using critique should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/critique/SKILL.md --create-dirs "https://raw.githubusercontent.com/stevengonsalvez/agents-in-a-box/main/toolkit/packages/skills/critique/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/critique/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How critique Compares

Feature / AgentcritiqueStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Get a Distinguished Engineer level technical critique of the current approach

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Critique Command

Use this command to get a Distinguished Engineer level technical critique of the current approach and implementation.

<!-- recall:begin -->

## Step 0: Prior-art check (MANDATORY)

Before critiquing, recall prior learnings from the global knowledge base so we don't re-learn or re-decide something already captured:

```bash
uv run "{{HOME_TOOL_DIR}}/skills/recall/scripts/recall.py" \
  "<QUERY>" \
  --limit 5 --format markdown
```

**Query construction for `/critique`**: a short summary of the approach/code being critiqued + relevant domain keywords (e.g. `"event-sourced migration rollback strategy"`).

**What to do with results:**

- If a returned learning names a constraint, anti-pattern, or prior decision directly relevant to the task — surface it to the user BEFORE proceeding with this skill's main flow.
- If nothing relevant returns — proceed silently, no need to mention the check.
- Never block on recall failure. Empty output / non-zero exit is expected when the KB is absent or the subprocess errors — treat it as "no prior art found", not as an error.

<!-- recall:end -->

## Usage

```
/critique [type] "context"
```

## Types

- `general` - Overall technical review (default)
- `architecture` - System design and patterns review
- `performance` - Performance and scalability analysis
- `security` - Security implications assessment
- `cost` - Total cost of ownership analysis
- `complexity` - Overengineering assessment
- `all` - Comprehensive review covering all aspects

## Description

This command provides brutally honest, constructive critique with 25+ years of Distinguished Engineer experience perspective. The review prevents costly mistakes while not crushing innovation. The critique will be displayed in a clear <output> block for review and response.

## Examples

```
/critique architecture "Using microservices for a 3-user internal tool"
/critique cost "Kubernetes for a static website"
/critique all "Redux for state management in a todo app"
/critique "Using 5 different databases in a startup MVP"
```

## Output Format

The critique provides a structured JSON report containing:

- **Summary**: Verdict (APPROVE/CAUTION/RECONSIDER/REJECT), one-liner, confidence score
- **Strengths**: 2-3 genuine strengths of the approach
- **Concerns**: Critical, major, and minor issues with impact analysis
- **Alternatives**: Better approaches with pros/cons
- **Cost Analysis**: Initial, operational, hidden costs, and 3-year TCO
- **Complexity Assessment**: Overengineering score and simplification suggestions
- **Team Impact**: Learning curve, hiring difficulty, maintenance burden
- **Future Proofing**: Scalability limits, migration difficulty, tech debt
- **Recommendation**: Should proceed or not with conditions
- **Wisdom**: Pattern recognition, war stories, and principles

## Implementation

When this command is invoked:

1. **Context Extraction**:
   - Identify what needs critique from the current conversation
   - Gather recent technical decisions and implementation details
   - List files created or modified in this session
   - Extract relevant code snippets
   - Note any trade-offs or constraints mentioned

2. **Analysis Phase**:
   - Apply Distinguished Engineer perspective (25+ years experience)
   - Identify anti-patterns and overengineering
   - Assess complexity vs problem size
   - Consider simpler alternatives
   - Evaluate long-term implications

3. **Generate Critique** with structured output:
   - Verdict (APPROVE/CAUTION/RECONSIDER/REJECT)
   - Critical concerns with evidence
   - Alternative approaches with trade-offs
   - Overengineering score
   - Clear recommendations

4. **Display Output** in formatted <output> block:
   - Color-coded verdict
   - Highlighted critical concerns
   - Alternative recommendations table
   - Action items

5. **Save the critique** to `{{HOME_TOOL_DIR}}/critiques/critique_[TIMESTAMP]_[TYPE].json`

## Critique Perspective

The Distinguished Engineer perspective includes:
- 25+ years seeing technologies rise and fall
- Experience with architectures that succeeded and failed
- Understanding of team dynamics and organizational impact
- Battle scars from real-world production systems

The critique should be:
- Brutally honest but constructive
- Data-driven with real examples
- Focused on preventing expensive mistakes
- Balanced between innovation and pragmatism

## Response Protocol

After receiving the critique:
1. Review and acknowledge each critique point
2. Provide rationale or agreement with concerns
3. Propose adjustments based on valid points
4. Update implementation if significant issues identified

## Notes

- The critique is advisory, not prescriptive
- Consider context and constraints when evaluating recommendations
- Perfect is the enemy of good, but good enough today often becomes tomorrow's technical debt
- The goal is to make informed decisions, not to achieve perfection
- Each critique should challenge assumptions and prevent costly mistakes

Related Skills

workflow

8
from stevengonsalvez/agents-in-a-box

Guide through structured delivery workflow with plan, implement, validate phases

webapp-testing

8
from stevengonsalvez/agents-in-a-box

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

validate

8
from stevengonsalvez/agents-in-a-box

Verify implementation against specifications

ui-ux-pro-max

8
from stevengonsalvez/agents-in-a-box

UI/UX design intelligence. 67 styles, 96 palettes, 57 font pairings, 25 charts, 13 stacks (React, Next.js, Vue, Svelte, Astro, Nuxt, SwiftUI, React Native, Flutter, Tailwind, shadcn/ui, Jetpack Compose). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient.

tui-style-guide

8
from stevengonsalvez/agents-in-a-box

TUI style guide for consistent terminal interface design

token-usage

8
from stevengonsalvez/agents-in-a-box

Show Claude Code token usage across sessions — daily, weekly, per-project, and per-session breakdowns. Parses {{HOME_TOOL_DIR}}/projects/**/*.jsonl for consumption data. Use when the user asks about token usage, costs, how many tokens were used, session statistics, or wants a usage report.

tmux-status

8
from stevengonsalvez/agents-in-a-box

Show status of all tmux sessions including dev environments, spawned agents, and running processes

tmux-monitor

8
from stevengonsalvez/agents-in-a-box

Monitor and report status of all tmux sessions including dev environments, spawned agents, and running processes. Uses tmuxwatch for enhanced visibility.

tmux-message

8
from stevengonsalvez/agents-in-a-box

Reliable peer-to-peer message delivery to other Claude Code instances via tmux send-keys. Use as a fallback when claude-peers MCP send_message fails to surface in the receiver's inbox (delivered server-side but receiver never picks it up — observed behaviour). Also use when sending a directive to a known Claude Code TUI session by tmux session name or fuzzy hint, or when injecting a multi-line directive into a peer's prompt and submitting it. Trigger phrases — "claude-peers fallback", "tmux send-keys", "send to peer via tmux", "inject directive", "deliver to nanoclaw/hermes peer", "peer message". Tmux-only — won't reach peers running outside tmux.

test-driven-development

8
from stevengonsalvez/agents-in-a-box

Use when implementing any feature or bugfix, before writing implementation code. Enforces RED-GREEN-REFACTOR cycle with test-first approach.

test-ainb

8
from stevengonsalvez/agents-in-a-box

Run tests for the ainb (agents-in-a-box) Rust workspace via a 5-layer strategy — unit, insta snapshot, mock-plugin compositing, real-plugin spawn, vhs recording. Wraps cargo + insta + vhs into one CLI. Use when Stevie says "/test-ainb", "test ainb", "run ainb tests", "snapshot <component>", "regenerate vhs tapes", or any phrasing about validating ainb test layers. The skill autodetects which ainb-tui worktree the cwd sits in and dispatches to scripts/run.sh.

sync-learnings

8
from stevengonsalvez/agents-in-a-box

Sync user-level agent config changes back to toolkit repository (works for Claude, Codex, Copilot)