Skip to main content
Glama

PyPI Version Python 3.12 FastMCP stdio SLSA Level 3 License: MIT Ruff Tests Passing Engine Adapters Docs Synchronized

๐ŸŒŸ Executive Summary: What is Rush?

Rush is the unified context intelligence, persistent dual-layer memory, and pre-flight ship-readiness platform built from the ground up for Vibecoders and Autonomous AI Coding Agents (Cursor, Claude Code, Cline, Windsurf, Roo Code, GitHub Copilot).

Rush wraps 124 quality engines, 49 Architectural Decision Records (ADRs), and 19 formal specifications into a deterministic command-line interface and a stdio-only Model Context Protocol (FastMCP) server. It compresses AST prompt tokens by 75โ€“90%, eliminates agent context amnesia via dual-layer persistent memory, sandboxes AI code mutations in isolated Git worktrees, enforces clean architecture boundaries, synchronizes multi-IDE rules, and generates cryptographic SLSA Level 3 build provenance.

# 30-second quickstart: initialize, sync multi-IDE rules, and review codebase
uv run rush init .
uv run rush governance sync
uv run rush review .

Related MCP server: mcp-lint-tools

โ˜• The Vibecoder & AI Agent Hangover

Vibe-coding with AI models unlocks unprecedented developer velocity: you prompt a concept in natural language, and an entire full-stack feature manifests in seconds.

However, unassisted AI generation introduces acute, compounding failure modes:

  1. AI Slop & Phantom Imports: Models hallucinate non-existent packages, leave empty placeholder stubs, and inject verbose, tautological comments.

  2. Context Window Token Bloat: Passing whole files and 10,000-line test failure traces into LLMs burns thousands of dollars and causes prompt amnesia.

  3. Agent Amnesia Across Turns: Multi-turn agents lose track of architectural decisions, repeatedly attempting the exact same failed patch fixes.

  4. Destructive Shell Invocations: Unsupervised agents run dangerous shell commands (git reset --hard, rm -rf, uncontrolled Git mutations) or leak secrets.

  5. Multi-Agent Collision Chaos: Concurrent subagents overwrite each other's files, producing corrupted AST states and merge conflicts.

Rush solves this entirely offline. It acts as an invisible, sub-second quality engine, token diet compressor, dual-layer persistent memory, and safety harness wrapping your ecosystem's 124 quality engines into a deterministic CLI and stdio FastMCP server.

โšก 1. Vibecoding with Rush: Sub-Second Creative Flow

Vibecoding with Rush provides an automated safety net that catches errors before you even notice them:

flowchart LR
    A["๐Ÿ’ก 1. The Prompt (Your Idea)"] --> B["โšก 2. AI Manifests Code"]
    B --> C["๐Ÿ›ก๏ธ 3. Rush Silent Auto-Check (0.2s)"]
    C -- "Found Slop or Broken Test" --> D["๐Ÿค– Rush Hands AI Exact Fix Hint"]
    D --> B
    C -- "100% Green" --> E["๐Ÿš€ 4. Ship with Swagger (A+ Grade!)"]

The 5 Vibecoder Subsystems

  • ๐Ÿงน Slop-Busting & Anti-Hallucination (rush slop, rush tdd): Parses AST nodes to purge AI filler comments, empty placeholder stubs, phantom imports, and missing test invariants.

  • โšก Instant Multi-Engine Auto-Fix (rush fix, rush watch): Background file watcher that automatically formats, fixes linter warnings, and maintains an atomic rollback journal (SnapshotJournal.rollback_all()).

  • ๐Ÿ“‰ Token Diet for Vibecoders (rush context pack, rush token): Reduces prompt token consumption by 75โ€“90% via PageRank symbol prioritization, AST skeletonization, and KV cache alignment.

  • ๐Ÿ† Shipping with Swagger (rush score, rush ship gate): Generates 6-pillar composite quality scorecards, interactive HTML reports, and live SVG badges.

  • ๐Ÿ“‹ Multi-IDE Rule Sync (rush governance sync): Compiles your master AGENTS.md rules into .cursorrules, .windsurfrules, .clinerules, and Claude Code configurations in 1 command.

๐Ÿค– 2. Agentic Rush: Autonomous Agent Safety & Concurrency Mesh

Rush provides native runtime infrastructure for autonomous agents operating across complex repositories:

sequenceDiagram
    autonumber
    participant Dev as Developer
    participant Agent as AI Coding Agent (Cursor / Claude Code / Cline)
    participant Rush as Rush Agentic Platform
    participant Repo as Codebase Repository

    Dev->>Agent: Prompt: "Refactor auth and add rate limiting"
    Agent->>Rush: rush_context_pack(path="src/auth.py", budget=3000)
    Rush-->>Agent: Returns PageRank verbatim focus symbols + AST skeletons (78% token savings)
    Agent->>Rush: rush_mesh_acquire_lock(path="src/auth.py", agent_id="agent-1")
    Rush-->>Agent: [GRANTED] Non-blocking file mutex locked
    Agent->>Rush: Propose patch diff
    Rush->>Rush: Apply in isolated git worktree sandbox (.rush/worktrees/sandbox-*)
    Rush->>Rush: Run syntax checks, linters & unit tests
    alt Regression or Broken Test
        Rush-->>Agent: Verification failed; structured error trace returned
        Rush->>Rush: Record failed attempt in Negative Knowledge Failure Ledger
        Agent->>Agent: Self-corrects patch based on Rush feedback
    else Verification 100% Green
        Rush->>Repo: Atomically promote verified patch to main workspace
        Rush->>Rush: Record event in Flight Recorder (.rush/sessions/flights/)
        Rush-->>Dev: Feature complete with 0 lint errors and 100% passing tests
    end

๐Ÿ›๏ธ 3. The 12 Foundational Pillars of Rush

flowchart TD
    subgraph CognitiveLayer["1. Cognitive Intelligence & Memory"]
        Mem["๐Ÿง  Dual-Layer Memory (ADR-0030)"]
        Fail["๐Ÿšซ Negative Failure Ledger"]
        Mistake["โ›๏ธ Bi-Temporal Mistake Miner"]
        Ground["๐Ÿ›ก๏ธ HalluGuard & Grounding"]
    end

    subgraph TokenLayer["2. Token Economy & Compression"]
        Pack["๐Ÿ“ฆ PageRank Context Packing"]
        Align["โšก KV Cache Prefix Aligner"]
        TOON["๐Ÿ”Œ TOON v4.1 Wire Encoding"]
        Distill["๐Ÿ“‰ Stderr Command Distillers"]
        Dedup["๐Ÿ”„ 304 Not-Modified Stale Deduplication"]
    end

    subgraph SafetyLayer["3. Agent Safety & Concurrency"]
        Guard["๐Ÿ›ก๏ธ Dangerous Command Interceptor"]
        Sandbox["๐Ÿ“ฆ Isolated Git Worktrees"]
        Mesh["๐Ÿ”’ Multi-Agent Mesh Lock Daemon"]
        Merge["๐Ÿ 3-Way AST Merge Solver"]
    end

    subgraph QualityLayer["4. Quality & Ship Cockpit"]
        Engines["โš™๏ธ 124 Quality Engine Adapters"]
        Ship["๐Ÿš€ 7-Vector Ship Gate Cockpit"]
        Score["๐Ÿ† 6-Pillar Quality Scorecard"]
        Attest["๐Ÿ“œ SLSA Level 3 Attestation"]
    end

    CognitiveLayer <--> TokenLayer
    TokenLayer <--> SafetyLayer
    SafetyLayer <--> QualityLayer

Pillar 1: Dual-Layer Persistent Agent Memory (ADR-0030)

  • Layer 1 (Traditional Persistence): Developer Preference Store (preferences.json), point-in-time Session Checkpoints (rush session save/restore), 4-tier taxonomy (Working, Policy, World, Skills), and append-only event stream (.rush/events.jsonl).

  • Layer 2 (Cognitive Innovation):

    • Negative Knowledge Failure Ledger (FailureLedger): Records failed patch AST hashes and anti-patterns to intercept repeated mistakes across prompt turns.

    • Bi-Temporal Git Revert Mistake Pre-Mortem (rush context mistakes, MistakeMiner): Extracts historical Git reverts into structured triplets: $$ ext{Believed (Intent)} \longrightarrow ext{Found False (Regression)} \longrightarrow ext{Truth Now (Guardrail)}$$

    • AST-Merkle Reactive Invalidator (MerkleInvalidator): Binds memories and context caches to AST node hashes; the microsecond a file is edited, invalid memories are automatically marked stale.

    • Causal Architectural Invariant Graph (InvariantGraph): Tracks cross-module dependency invariants before code edits.


Pillar 2: Token Economy, Context Packing & TOON v4.1 (ADRs 0022, 0032, 0038, 0039)

  • Graph Context Packing (rush context pack): PageRank-pruned context packing combining verbatim symbols and surrounding AST outline skeletons under strict budget caps.

  • Prompt Cache Prefix Aligner (rush context align-prompt): Structures static prompt prefixes ($\ge 1024$ tokens) to guarantee provider KV cache hit rates $\ge 85%$.

  • TOON v4.1 Serializer: Low-overhead Token-Optimized Object Notation wire encoding reducing AST payload size by 40โ€“60% vs. JSON.

  • Subprocess Command Distillers: Stream distillers in src/rush/token_economy/distillers/ compressing massive raw test/linter stderr traces by 95% before LLM ingestion.

  • Stale Tool Deduplication (ADR-0043): Emits HTTP-style 304 Not Modified token hashes when tool outputs haven't changed, saving thousands of redundant tokens.

  • Terminal Gain HUD (rush context gain): Real-time Rich TUI dashboard tracking gross vs. compressed tokens and dollar savings in .rush/telemetry/tokens.db.


Pillar 3: Agent Safety, Sandboxing & Circuit Breakers (ADRs 0004, 0020, 0021, 0024)

  • Dangerous Command Interceptor (rush guard check-cmd): Evaluates shell commands against a deterministic safety policy, blocking destructive operations (rm -rf, git reset --hard, unauthorized network calls).

  • Path Confinement Guard (rush guard check-path): Validates that all file system modifications remain strictly within repository bounds.

  • Ephemeral Git Worktree Sandboxes (.rush/worktrees/sandbox-*): Runs agent diff tests, migrations, and flaky test diagnostics in detached worktree sandboxes with automatic lifecycle cleanup.

  • Patch Circuit Breaker (src/rush/patch/circuit_breaker.py): Intercepts runaway agent loops, aborting automated patch cycles after exceeding configurable error thresholds.

  • Shannon Entropy Secret Redaction: Replaces exposed API keys, tokens, and credentials with [REDACTED] across all logs and CLI/MCP outputs.


Pillar 4: Multi-Agent FastMCP Concurrency Mesh (ADRs 0035, 0047)

  • FastMCP Multi-Agent Lock Daemon (rush_mesh_acquire_lock, rush_mesh_release_lock): Non-blocking file mutex locks allowing concurrent subagents to work on different files without race conditions.

  • Swarm 3-Way AST Merge (rush swarm-merge): Merges non-overlapping methods, classes, and imports from concurrent agent branches at the AST node level without conflict markers.


Pillar 5: Architecture Enforcement & Blast Radius (ADRs 0013, 0046)

  • Declarative Clean Architecture Guard (rush arch-guard): Enforces directional dependency rules between domain, application, infrastructure, and presentation layers.

  • Transitive Blast Radius Analyzer (rush blast-radius): Calculates downstream affected files, public API routes, and unit tests in $<25 ext{ ms}$.


Pillar 6: Autonomous Reliability, Flaky Test Healing & API Safety (ADR-0034)

  • Flaky Test Healer (rush test-heal): Spawns isolated ephemeral Git worktrees, perturbs execution timing, diagnoses race conditions, and synthesizes stabilization fixtures.

  • Public API Contract Differ (rush api-diff): Detects breaking function/class signature alterations and parameter removals against base Git branches.

  • ORM Schema Drift Auditor (rush db-drift): Cross-references ORM data models against SQL/Alembic migrations to catch unmigrated columns.

  • Cognitive Complexity Decomposer (rush simplify): Scans AST branches for functions with complexity $>10$ and outlines modular helper extractions.

  • Runtime Type Guard Synthesizer (rush strictify): Generates runtime isinstance and assertion guards for untyped function arguments.


Pillar 7: Multi-IDE Governance & Rule Parity (ADR-0026)

  • Unified Governance Compiler (rush governance sync): Compiles your master AGENTS.md rules into .cursorrules, .windsurfrules, .clinerules, and Claude Code configurations in 1 command.

  • Subagent Hierarchy Guard (src/rush/governance/subagent_guard.py): Enforces depth and branch limits on subagent spawning trees to prevent runaway resource consumption.


Pillar 8: Git Hook Intelligence & Conventional Commits (ADR-0027)

  • Pre-Commit Hook Guard (rush hook run / install / verify): Sub-second staged file AST scanning, branch naming validation, conventional commit enforcement, and SHA-256 hook tamper detection.


Pillar 9: Supply Chain Security & SLSA Level 3 Attestation (ADR-0036)

  • SLSA Level 3 Provenance (rush attest): Cryptographic in-toto JSON build provenance generator recording source hashes, environment metadata, and tool versions.

  • Copyleft License Matrix (rush license-matrix): Dependency scanner blocking viral GPL/AGPL compliance risks.

  • Least-Privilege IAM Policy Synthesizer (rush iam-audit): Generates minimal cloud IAM JSON policies from static SDK usage.

  • Spec-to-Code Traceability (rush trace): Audits requirement tags ([REQ-001]) across specs, source code, and unit tests.


Pillar 10: Asset & Frontend Bundle Diet

  • Frontend Bundle Chunk Calculator (rush bundle analyze): Inspects chunk sizes, code-splitting points, and CSS duplication.

  • Dead Asset Pruner (rush dead-asset, rush bundle dead-assets): Scans AST imports and template tags to find unreferenced fonts, images, and media assets.

  • Barrel File Import Auditor: Detects bloated barrel file exports that break tree-shaking.


Pillar 11: Git Hotspots, Churn & Velocity Analytics

  • Git Hotspots Analyzer (rush hotspots analyze): Identifies high-risk files combining high cyclomatic complexity with high commit churn.

  • Temporal Coupling Detector: Finds files that frequently change together in the same commits despite having no direct static import dependencies.

  • Bus Factor Risk Matrix (rush hotspots bus-factor): Calculates author ownership concentration to identify single points of failure.


Pillar 12: 7-Vector Pre-Flight Ship Cockpit & Dashboards (ADRs 0016, 0031)

  • 7-Vector Ship Gate Cockpit (rush ship gate): Verifies 7 strict pre-flight invariants (clean Git tree, zero linter errors, 100% passing tests, zero DB drift, zero API breaks, clean docs, SLSA attestation).

  • Local ASGI Web Dashboard & Rich TUI (rush dashboard, rush ui): Starlette ASGI in-memory real-time web dashboard with CSPRNG bearer authentication and keymap navigation.

  • Composite Quality Scorecard (rush score): Computes 6-pillar quality scores, generates SVG badges, and builds interactive HTML reports.

๐Ÿค– 4. Complete FastMCP AI Assistant Setup (22 Tools)

Rush communicates with coding assistants over stdio JSON-RPC. All diagnostics, logs, and telemetry route exclusively to stderr with stdin=DEVNULL, ensuring zero stdout corruption.

Claude Desktop Configuration

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "rush": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/rush-cli",
        "run",
        "rush",
        "mcp",
        "serve"
      ]
    }
  }
}

Cursor, Windsurf & OpenCode Configuration

Add to .cursor/mcp.json or .opencode/mcp.json:

{
  "mcpServers": {
    "rush": {
      "command": "rush",
      "args": ["mcp", "serve"],
      "transport": "stdio"
    }
  }
}

Full FastMCP Tool Catalog

Tool Name

Parameters

Purpose

rush_context_pack

path, symbol, budget

PageRank-pruned verbatim symbol and AST skeleton packing.

rush_context_gain_stats

None

Real-time session token compression ratio and dollar savings metrics.

rush_context_skeletonize

path

AST outline skeleton extraction stripping function bodies.

rush_context_cache_manifest

None

Merkle DAG content-addressable cache block manifests.

rush_context_retrieve

query, top_k

Semantic CCR chunk retrieval using multi-vector embeddings.

rush_hallu_guard

proposed_code

Validates that proposed imports exist in the codebase.

rush_context_mistakes_check

pattern

Queries historical anti-patterns in Mistake Memory.

rush_blast_radius

path, depth

Computes downstream reachability, API endpoints, and affected tests.

rush_arch_guard

None

Enforces clean architecture directional layer rules.

rush_test_heal

target, runs

Diagnoses and heals flaky test race conditions in isolated sandboxes.

rush_api_diff

base

Detects breaking public API signature modifications against base Git ref.

rush_db_drift

None

Audits ORM models against SQL migrations to flag schema drift.

rush_simplify

file, max_complexity

Decomposes high-complexity functions into modular sub-functions.

rush_strictify

file

Synthesizes runtime type guards for unvalidated parameters.

rush_trace

None

Scans requirement-to-code traceability compliance matrix.

rush_mesh_acquire_lock

path, agent_id

Acquires non-blocking multi-agent file mutex lock.

rush_mesh_release_lock

path, agent_id

Releases multi-agent file mutex lock.

rush_swarm_merge

base_code, ours_code, theirs_code

Resolves concurrent agent edits via 3-way AST merge.

rush_attest_generate

artifact_path

Generates in-toto SLSA Level 3 cryptographic build provenance.

rush_license_matrix

None

Audits open-source dependencies for copyleft compliance risks.

rush_iam_audit

None

Synthesizes least-privilege cloud IAM JSON policies from SDK usage.

rush_pr_synthesize

base_branch

Synthesizes structured semantic GitHub pull request descriptions.

โšก 5. The Canonical ToolResult Contract

Every single CLI command and FastMCP call in Rush returns the exact same deterministic dictionary shape:

{
  "tool": "review",
  "engine": "ast-heuristics",
  "engine_version": "0.3.0",
  "status": "warn",
  "duration_ms": 14.2,
  "summary": "2 heuristic finding(s)",
  "findings": [
    {
      "path": "src/orders.py",
      "line": 41,
      "rule": "missing-docstring",
      "severity": "info",
      "message": "function 'total' has no docstring"
    },
    {
      "path": "src/checkout.py",
      "line": 88,
      "rule": "todo-density",
      "severity": "warn",
      "message": "3 TODO/FIXME markers in 95 lines"
    }
  ],
  "raw": ""
}

๐Ÿ› ๏ธ 6. Complete Platform Capabilities Matrix (22 Core Subsystems)

1. Code Quality & Auto-Remediation

  • rush review: Deterministic heuristic AST and quality review.

  • rush lint: Dispatches across Ruff, ESLint, Biome, or Clippy.

  • rush format: Formatting checks (--check default, never silently mutates).

  • rush fix: Multi-engine auto-remediation with dry-run diff preview and rollback journals.

  • rush typecheck: Polyglot static type checking (MyPy, Pyright, TSC).

  • rush dead: Unused code detection (Vulture, ts-prune, knip).

  • rush complexity: Cyclomatic and cognitive complexity scoring.

  • rush slop: Detects AI slop, hallucinated imports, and boilerplate bloat.

  • rush tdd: Enforces test-driven development invariants before edits.

2. Multi-Format File & Infra Linters

  • rush markdown: Markdown validation (markdownlint).

  • rush yaml: YAML and OpenAPI contract validation (yamllint).

  • rush sql: SQL AST and migration linting (SQLFluff, sqlglot).

  • rush containerfile: Dockerfile best-practices (hadolint).

  • rush iac: Terraform and IaC security (tflint, terrascan, checkov).

  • rush actions: GitHub Actions workflow linter (actionlint).

  • rush templates: HTML/Jinja/ERB template validator.

3. Full-Spectrum Test Suite (10 Engines)

  • rush test: Smart runner for pytest, vitest, cargo test.

  • rush e2e: End-to-end testing (Playwright, Cypress).

  • rush mutation: Mutation testing (Stryker, Mutmut).

  • rush pbt: Property-based testing (Hypothesis, fast-check).

  • rush visual: Visual regression baseline checks.

  • rush snapshot: Deterministic snapshot testing.

  • rush flaky: Historical flaky test analyzer.

  • rush contract: Consumer-driven contract testing (Pact).

  • rush fuzz: Native fuzz target runner.

  • rush load: Micro-benchmark and load scenario execution.

  • rush coverage: Coverage collection with threshold enforcement.

4. Supply Chain, Security & Provenance

  • rush security: Vulnerability scanner (pip-audit, cargo-audit, osv-scanner).

  • rush secrets: High-entropy secret scanner (Gitleaks, TruffleHog) with automatic [REDACTED] redaction.

  • rush sbom: Software Bill of Materials generation (Syft, CycloneDX).

  • rush codeql: Contained local CodeQL SARIF 2.1.0 report ingestion.

  • rush attest: In-toto SLSA Level 3 cryptographic build provenance generation.

  • rush license-matrix: Open-source copyleft (GPL/AGPL) license risk classifier.

  • rush iam-audit: Static SDK call least-privilege cloud IAM policy synthesizer.

  • rush dead-asset: Unreferenced image, font, and media asset pruner.

5. Token Economy & Context Intelligence

  • rush context pack: PageRank-pruned context packing combining verbatim symbols and AST skeletons under token budget caps.

  • rush context align-prompt: KV cache prefix aligner structuring static prompts for provider cache hits.

  • rush context gain: Interactive terminal TUI tracking gross vs. compressed tokens and dollar savings.

  • rush context persona: Terse output shaper stripping conversational filler.

  • rush token count / outline / cache-advisor: Exact BPE token counting (o200k/cl100k) and AST outline compression.

  • Subprocess Command Distillers: Stream distillers compressing massive test failure traces by 95%.

  • TOON v4.1 Serializer: Low-overhead Token-Optimized Object Notation wire encoding for AST nodes.

  • rush context retrieve / mistakes / hallu-guard: CCR semantic chunk store, FailureLedger anti-patterns, and symbol hallucination guard.

6. Dual-Layer Memory, Architecture & Swarms

  • rush context mistakes: Mistake Miner querying mined Git revert anti-patterns.

  • rush session save / restore: Named session checkpoint snapshots.

  • rush blast-radius: Transitive AST reachability analyzer calculating downstream affected files and tests in $<25 ext{ ms}$.

  • rush arch-guard: Declarative clean architecture directional layer enforcement.

  • rush test-heal: Flaky test healer isolating races in ephemeral git sandboxes (.rush/worktrees/sandbox-*).

  • rush api-diff: Public API AST signature contract breaking change detector.

  • rush db-drift: ORM-to-migration schema drift auditor.

  • rush simplify / strictify: Cognitive complexity decomposer and runtime type guard synthesizer.

  • rush trace: Spec-to-code traceability matrix scanner.

  • rush flight-recorder: Millisecond-accurate JSON-RPC session recorder and replayer.

  • rush swarm-merge: 3-way AST merge solver resolving concurrent agent edits.

  • rush ship gate: Full 7-vector pre-flight ship-readiness verification cockpit.

7. Monorepos, Workspaces & File Watcher

  • rush workspace list / affected / boundary: Multi-package monorepo dependency graph builder for pnpm, Cargo, and uv workspaces.

  • rush watch: Async file system watcher with debounce coalescing and process supervisor.

  • rush cache stats / clean: SQLite WAL Merkle DAG cache management with SHA-256 flag salting.

  • rush patch / patch test / patch memory: Isolated AI patch remediation in Git worktrees with circuit breakers.

  • rush guard check-cmd / check-path: Dangerous command interceptor and path confinement guard.

8. Full-Stack Sync, Plugins, Dashboard & Scorecard

  • rush sync openapi / sync env: Static FastAPI and Django Ninja AST route extractor generating TypeScript types.

  • rush bundle analyze / dead-assets: Frontend bundle chunk calculator and barrel file auditor.

  • rush hotspots analyze / bus-factor: Git code velocity, churn, and temporal coupling analyzer.

  • rush trust / rush plugin: Trust-gated plugin store with SHA-256 hash validation and SKILL.md exporter.

  • rush dashboard / rush ui: Starlette ASGI in-memory real-time web dashboard with CSPRNG bearer authentication and Textual TUI.

  • rush score compute / consensus reconcile: Multi-model consensus reconciler, HTML quality report generator, SVG badge generator, and 6-pillar scorecard.

  • rush doctor: Toolchain health diagnostics and virtualenv binary shadowing prevention.

  • rush hook run / hook install / hook verify: Pre-commit intelligence and SHA-256 hook tamper detection.

๐Ÿš€ 7. Quick Start & Installation

# 1. Clone the repository
git clone https://github.com/jamesdsizemore/rush-cli.git
cd rush-cli

# 2. Sync virtual environment (Python 3.12)
uv sync --all-extras --frozen

# 3. Verify CLI installation
uv run rush --version
# 1. Clone and create virtual environment
git clone https://github.com/jamesdsizemore/rush-cli.git
cd rush-cli
python -m venv .venv
source .venv/bin/activate  # or .venv\Scripts\activate on Windows

# 2. Install package in editable mode with dev extras
pip install -e ".[dev]"

Everyday Workflow Commands

# 1. Sync master governance rules to .cursorrules, .windsurfrules, and AGENTS.md
rush governance sync

# 2. Inspect environment health and toolchain integrity
rush doctor

# 3. Run full codebase review with unified ToolResult output
rush review .

# 4. Safely auto-fix formatting and linter issues with dry-run preview
rush fix . --dry-run

# 5. Pack target symbol and AST skeletons under a strict 3000 token budget
rush context pack --path src/rush/cli.py --budget 3000

# 6. Check historical Mistake Memory before writing complex code
rush context mistakes

# 7. Launch the real-time token gain HUD
rush context gain

# 8. Launch the local in-memory web dashboard
rush dashboard

# 9. Run full 7-vector pre-flight ship-readiness gate
rush ship gate

๐Ÿ“ 8. Complete Repository Structure

๐Ÿ“ฆ rush-cli
โ”œโ”€โ”€ ๐Ÿ“‚ src/rush/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ cli.py               # Click CLI routing (125 commands & subcommands)
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ mcp.py               # Stdio FastMCP server (22 tool registrations)
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ catalog.py           # Canonical tool catalog specifications (37 specs)
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ memory/              # Dual-layer memory engine, mistake miner & failure ledger
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ bundle/              # Frontend bundle chunk calculator & barrel file auditor
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ codegraph/           # Polyglot AST CodeGraph & ContextPacker
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ dashboard/           # Starlette ASGI in-memory web dashboard & Textual TUI
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ discovery/           # 10+ Tech stack auto-detection heuristics
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ engines/             # 124 Quality & security engine adapters
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ governance/          # Multi-IDE rule compiler & subagent hierarchy guard
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ hook/                # Git hook security, branch guards & tamper detection
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ hotspots/            # Git code velocity, churn & bus factor analyzer
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ hygiene/             # Polyglot dead code detector & fine-grained AST mergers
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ patch/               # Isolated worktree AI patch sandbox & circuit breaker
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ plugins/             # Trust-gated plugin marketplace & SKILL.md exporter
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ release/             # SemVer validator, changelog generator & SLSA provenance
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ safety/              # Dangerous command interceptor & secret redactor
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ score/               # Multi-model consensus reconciler, HTML reports & SVG badges
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ sync/                # FastAPI & Django Ninja TypeScript contract synchronizer
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ token_economy/       # Token telemetry, cache aligner, distillers & gain TUI
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ mcp_mesh/            # Multi-agent lock daemon and concurrency mesh
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ core/                # Subprocess runner, git sandbox, and content router
โ”‚   โ””โ”€โ”€ ๐Ÿ“‚ tools/               # 62 Canonical quality, security, and ship tool engines
โ”œโ”€โ”€ ๐Ÿ“‚ docs/                    # 295 Markdown documentation files
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ adr/                 # 49 Architectural Decision Records
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ specs/               # 19 Formal specifications (Phases 01โ€“50)
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ workflows/           # Developer, agent, and release workflows
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ vibecoding/          # The Vibecoder workflow, golden prompts, and token diets
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ agentic-rush/        # AI safety, worktree sandboxing, and agent memory guides
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ developer/           # Architecture, master backlog, and issue logs
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ user-guide/          # Everyday user and agent guides
โ”‚   โ””โ”€โ”€ ๐Ÿ“‚ maintainers/         # Release, versioning, and governance playbooks
โ”œโ”€โ”€ ๐Ÿ“‚ tests/                   # 221 Test modules / 750 Test cases (100% passing)
โ”œโ”€โ”€ ๐Ÿ“„ pyproject.toml           # Python 3.12 package definition & dependencies
โ””โ”€โ”€ ๐Ÿ“„ rush.toml                # Project architecture and governance configuration

๐Ÿ“Š 9. Comprehensive Repo Health Scorecard

Health Category

Metric & Verification Status

Score

Test Suite Coverage

750 / 750 Tests Passing across 221 test modules

100%

Engine Adapter Matrix

124 Engine Adapters active in src/rush/engines/

100%

Memory Engine Integrity

Dual-Layer Architecture (ADR-0030) active in src/rush/memory/

100%

Architectural Decision Records

49 ADRs documented and implemented

100%

Formal Specifications

19 Specifications active in docs/specs/

100%

Code Formatting

598 Files Clean via Ruff (ruff format --check)

100%

Linter Invariants

0 Errors, 0 Warnings across src/ and tests/

100%

Documentation Sync

295 Markdown Docs synchronized with 0 drift

100%

Supply Chain Attestation

SLSA Level 3 in-toto Provenance verified

100%

Security Redaction

Zero Secret Exposure with entropy redaction

100%

Overall Repository Health: 100% โ€” Enterprise & Flagship Ready (v0.3.0)

โš™๏ธ 10. Configuration Reference (rush.toml)

[rush]
version = "0.3.0"
default_format = "toon"

[token_economy]
budget_cap = 4000
cache_alignment_threshold = 1024
stale_sweep_enabled = true
persona_style = "terse"

[architecture.layers]
domain = []
application = ["domain"]
infrastructure = ["application", "domain"]
presentation = ["application", "domain"]

[ship.gate]
require_clean_git = true
require_tests = true
require_slsa_attestation = true
max_cognitive_complexity = 15

๐Ÿ”’ 11. Scope, Safety & Non-Goals

Rush is engineered with strict safety invariants:

  • No Unprompted Mutations: rush format and rush fix run in check/dry-run mode unless explicitly commanded.

  • No Silent Dependency Downloads: Engines are discovered from PATH; Rush never installs packages in the background.

  • No Uncontrolled Git Mutations: Workflow tools never rewrite history, tag, or publish releases without explicit user flags.

  • Offline-First & Air-Gapped Safe: All AST parsing, CodeGraph analysis, memory storage, and provenance generation run 100% locally.

  • Zero stdout Pollution: Stdio MCP server reserves stdout exclusively for JSON-RPC; all logs route to stderr.


๐Ÿค 12. Contributing & Quality Standards

  1. All code changes must pass .venv/Scripts/ruff.exe check src tests and format --check.

  2. Unit tests must be written for every new engine under tests/test_<name>.py.

  3. Every new capability must be reflected across the 5-tier documentation matrix in docs/.

See docs/developer/contributor-onboarding.md for full details.


๐Ÿ“„ 13. License

Rush CLI is open-source software licensed under the MIT License.

Available Tools

63 tools
rush_actionsA

Check GitHub Actions workflows without rewriting; missing actionlint returns status='skipped'.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden of behavioral disclosure. It clearly discloses a non-mutating behavior ('without rewriting') and specifies an edge-case behavior: 'missing actionlint returns status=\'skipped\''. This gives the agent useful expectations beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with two tightly packed clauses. The primary action is front-loaded, and the behavioral caveat about missing actionlint is placed second. No filler words or redundant schema repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return value documentation is not the description's responsibility. The description covers tool behavior and a key edge case, but it leaves the 'path' parameter ambiguous and does not explain what 'without rewriting' means operationally. Given the one-parameter complexity and existing output schema, the description is adequate but has clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the single required 'path' parameter. The description does not explain what 'path' should point to โ€” a workflow file, a directory, or a repository root โ€” leaving the agent to guess. The parameter name and format offer limited guidance, but the description adds no semantic value for it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Check GitHub Actions workflows'. It also adds a distinguishing behavior, 'without rewriting', which helps separate it from tools that might modify or format workflows. It does not explicitly name a sibling, but the purpose is immediately understandable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'without rewriting' implies a usage condition, suggesting this tool is for checking workflows without making changes. However, it does not explicitly state when to prefer this tool over alternatives like rush_ci or rush_yaml, nor does it provide exclusions or alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_ai-evalC

Evaluate LLM prompts, agent workflows, and safety guardrails. Requires explicit permissions for live inference runs.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
allow_slowNo
allow_buildNo
allow_browserNo
allow_networkNo
allow_downloadNo
allow_cache_writeNo
allow_artifact_writeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden for behavioral disclosure. It does reveal a permission requirement for live inference, but it does not describe side effects, what path refers to, or what happens when permissions are missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no filler: the purpose is front-loaded, and the permission caveat is placed immediately after. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 parameters, no annotations, and no parameter descriptions, an agent cannot confidently determine what path should contain or which allow flags are required for a given run. The output schema helps with return values but does not compensate for the missing operational context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for undocumented parameters. It vaguely relates to the allow_* flags by mentioning explicit permissions, but it never explains path, allow_slow, allow_browser, or any other parameter's role.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Evaluate') with concrete objects ('LLM prompts, agent workflows, and safety guardrails'), which clearly communicates what the tool does. It distinguishes itself from the general lint/test/review siblings, though it does not explicitly contrast with related AI-focused siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The only guidance is 'Requires explicit permissions for live inference runs,' which is a prerequisite rather than a usage guideline. There is no indication of when to prefer this tool over alternatives like rush_review or rush_hallu_guard, and no exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_api_diffA

Detect breaking public API changes against base Git ref

ParametersJSON Schema
NameRequiredDescriptionDefault
baseNomain

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the fll burden. The verb 'detect' implies a non-mutating comparison, and 'against base Git ref' adds behavioral scope, but side effects, read-only guarantees, and any required repository state are not disclosed. It is adequate but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence, front-loaded with the core action and scope, with no filler or redundancy. It is concise while carrying the essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one optional parameter and an existing output schema, the description covers the core behavior and the key input. It lacks explicit usage guidance and behavioral safety disclosure, but the simplicity of the tool means the description is otherwise complete enough for correct selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema only provides a 'base' parameter with a default of 'main' and no per-parameter description. The description clarifies that this parameter is a Git ref to compare against, adding meaning beyond the bare schema field. It does not specify accepted ref formats, but 'Git ref' is reasonably informative.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Detect') and resource ('breaking public API changes') and clarifies the comparison scope ('against base Git ref'). This clearly distinguishes the tool from the broad sibling list, which are mostly format/lint/test/release utilities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The use case is implied by the description: run it when you need to detect breaking public API changes relative to a base git ref. However, there is no explicit 'when not to use' or alternative tooling, despite siblings like rush_semantic-drift and rush_contract that could plausibly overlap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_arch_guardB

Validate codebase against clean architecture layer boundaries

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The verb 'validate' implies a non-mutating analysis of architecture boundaries, which is a meaningful behavioral signal. However, with no annotations and no explicit statement about read-only guarantees or failure behavior, the description leaves some behavioral traits implicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler or redundant phrasing. It states the exact validation target in minimal words, which is well-suited to a zero-argument tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with an output schema, the mechanical invocation is fully covered. The main gap is the lack of selection context among the many sibling quality/architecture tools, leaving the agent to infer when this guard is the right choice.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there is no parameter ambiguity or invocation risk. The baseline for a 0-parameter tool is 4, and the description does not need to compensate for missing parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('validate') and a unique focus ('clean architecture layer boundaries'), which clearly distinguishes it from generic lint/test/review tools. It does not explicitly name sibling tools or say what it is not, so it misses the full 5-level differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives like rush_lint, rush_review, or rush_semantic-drift. The purpose phrase implies the domain, but no preconditions, exclusions, or alternative routing are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_attest_generateC

Generate in-toto SLSA Level 3 provenance statement

ParametersJSON Schema
NameRequiredDescriptionDefault
artifact_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure, but it only states that a statement is generated. It does not reveal whether this modifies the artifact, writes a file, requires signing/key material, or returns provenance to stdout.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single informative sentence with no filler, and the key term 'SLSA Level 3' is front-loaded. It is concise, though it sacrifices contextual detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations, zero parameter documentation, and a broad sibling list, the description omits enough guidance to be reliably used. The presence of an output schema helps the return-value side, but artifact path semantics and invocation prerequisites are still unexplained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description never mentions artifact_path or explains what path should be supplied. The schema only provides a title and default, so the description adds no meaning beyond structured fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific action ('Generate') and a precise resource ('in-toto SLSA Level 3 provenance statement'), which is distinct from every sibling tool name in the list. An agent can immediately identify what this tool produces without needing to open the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to choose this tool, what artifact it should be run on, or how it relates to alternatives such as rush_sbom or rush_license_matrix. The agent is left to infer usage entirely from the tool name and parameter name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_blast_radiusA

Calculate downstream transitive blast radius for a changed file

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
depthNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It does disclose the core behavioral trait: the analysis is non-destructive ('Calculate'), transitive, and downstream-only, which is genuinely informative. However, it omits operational details an agent would want, such as whether a built dependency graph or git state is required and how expensive a deep transitive traversal can be.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single 11-word sentence, front-loaded with the verb and densely packed with distinguishing qualifiers ('downstream', 'transitive', 'changed file'). Every word earns its place; there is no filler, redundancy, or buried key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter analysis tool with an output schema, the description covers the essential purpose and the required input's meaning. But the 'blast radius' domain jargon is left undefined (only partially glossed by 'downstream transitive'), depth semantics are absent, and environmental prerequisites are unmentioned, leaving the agent to proceed on inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description is the only semantic source for parameters. It usefully clarifies that 'path' refers to a changed file, sharpening the bare string schema. 'depth' (default 5) receives no explanation โ€” the agent must infer it caps traversal depth from the word 'transitive', with no confirmation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Calculate') and a well-scoped resource ('downstream transitive blast radius for a changed file'), conveying both the operation and its granularity in one sentence. It clearly differentiates from the 60+ sibling tools, none of which address impact or blast-radius analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'for a changed file' implies the triggering scenario โ€” run this after modifying a file to assess downstream impact โ€” but the description never states when to prefer this tool over alternatives or when not to use it. No sibling is contrasted or named, so usage context is implied rather than articulated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_ciA

Inspect local CI workflow configuration without accessing credentials or remote status.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations supplied, the description carries the behavioral disclosure burden. It does so well by stating the operation is inspection-only and explicitly ruling out credential and remote-status access. It doesn't enumerate failure modes or whether the config is merely read, but 'inspect' plus the exclusions provide a clear non-mutating profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single tightly packed sentence that front-loads the purpose and then adds the key constraints. There is no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a simple one-parameter read-oriented tool and an output schema is present, so the description doesn't need to explain return values. It covers the main safety-relevant behavior (no credentials/remote status). The only slight gap is not clarifying path semantics, but the overall context is strong.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, 'path', has no schema description (0% coverage), so the prose must compensate for parameter meaning. The description's 'local CI workflow configuration' makes it inferable that the path points to a CI workflow configuration, but it never explicitly states whether the path should be a file or directory, or how it relates to the CI config. This is adequate but not fully explicit.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Inspect'), names the resource ('local CI workflow configuration'), and adds two explicit exclusions ('without accessing credentials or remote status'). This clearly differentiates it from remote/credential-related siblings and is far beyond a restatement of the name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly implies when to use: when you need to inspect local CI workflow configuration and do not need remote status or credentials. However, it does not name any alternative tools or state explicit when-not conditions in relation to siblings, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_codeqlC

Import a local CodeQL SARIF report or run CodeQL analysis under --allow-build.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
allow_slowNo
allow_buildNo
report_pathNo
allow_browserNo
allow_networkNo
allow_downloadNo
allow_cache_writeNo
allow_artifact_writeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It discloses that it can run under --allow-build, but it does not explain side effects such as slow execution, build invocation, network usage, or artifact/cache writes. The many allow_* parameters hint at behavior, but the description itself adds almost no transparency beyond the mode names.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single compact sentence with no filler, which is structurally clean. However, it is terse to the point of under-specification, merging two distinct modes into one clause without any separation or elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite an output schema being present, a CodeQL tool with two modes, nine parameters, and no annotations needs more context to be callable correctly. The description omits how to choose modes, what the allow flags enable, expected behavior, and potential side effects. It is not complete enough for safe autonomous invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description only indirectly references report_path and allow_build via 'SARIF report' and '--allow-build'. Required path and the other seven flags, including allow_slow, allow_network, and allow_artifact_write, receive no semantic explanation. This is minimal added value for a nine-parameter tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names two concrete operations: importing a local CodeQL SARIF report and running CodeQL analysis with --allow-build. This clearly identifies the tool's resource and action, and CodeQL is specific enough to distinguish it from most siblings. It does not explicitly contrast with rush_security, but the purpose is not vague.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus alternatives like rush_security, nor does it explain when to import a SARIF report versus run an analysis. The two modes are implied, but the conditions for choosing one are left entirely to the reader.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_commit-msgC

Validate supplied Conventional Commit messages without modifying Git history.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
messageNo
allow_slowNo
allow_buildNo
allow_browserNo
allow_networkNo
allow_downloadNo
allow_cache_writeNo
allow_artifact_writeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It does disclose the key non-mutating trait ('without modifying Git history'), but it omits other important behaviors such as how invalid messages are reported, exit codes, or whether validation is purely local. This is a partial disclosure at best.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single compact sentence with the action front-loaded and no filler words. It is appropriately concise, though its brevity comes at the cost of omitting parameter and usage details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 9 parameters, no schema descriptions, and no annotations, this one-liner is incomplete. The output schema may cover return values, but the agent still lacks critical context about what 'path' refers to, how the commit message is supplied, and what the allow_* toggles control. The large undifferentiated sibling list increases the need for context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description mentions none of the 9 parameters. The required 'path' is unexplained, 'message' is not clearly tied to the supplied commit message, and the seven allow_* boolean flags have no described meaning, so an agent cannot infer correct usage from the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Validate') and a specific resource ('Conventional Commit messages'), and adds a useful boundary by noting it does so without modifying Git history. This distinguishes it from mutating Git operations, though it does not explicitly name a sibling alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus the many sibling rush_* tools, nor any workflow context such as pre-commit usage or CI integration. The single sentence implies purpose but gives no conditions, exclusions, or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_complexityA

Measure Python and JS/TS complexity at . Uses radon or jscpd; missing engines return status='skipped'.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears the full burden of behavioral disclosure. It usefully reveals reliance on external engines (radon/jscpd) and the 'skipped' status when they're missing. It does not state whether the operation is read-only or mention other side effects, but the mention of engine availability is meaningful.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences deliver the core action, the target languages, the location, and an important edge case. The main purpose is front-loaded and every word contributes, with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described. The description covers the operation, languages, path, and missing-engine behavior. The only notable omissions are a precise definition of what metrics constitute 'complexity' and how engine selection works, but these are not required to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides only a 'path' parameter with no description (0% coverage). The description adds that <path> is the location where complexity is measured, which provides basic semantic grounding. It does not specify whether the path should be a file or directory, leaving some ambiguity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (Measure), a specific resource (Python and JS/TS complexity), and a location parameter (<path>). This clearly differentiates it from sibling tools like rush_lint, rush_test, or rush_format by focusing on complexity analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended use is implied clearly: call this tool when you need complexity metrics for Python or JS/TS at a given path. It does not explicitly name alternative tools or when-not-to-use conditions, but the context is unambiguous enough for an agent to select it appropriately.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_containerfileA

Check container files without rewriting; missing hadolint returns status='skipped'.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the behavioral disclosure burden. It clearly states the tool is non-rewriting and mentions a specific edge-case behavior: missing hadolint results in status='skipped'. This gives the agent useful behavioral expectations beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, dense sentence that front-loads the core action and then adds the most important behavioral detail. There is no filler or repetition of schema information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter, read-only checking tool with an output schema, this description covers the key selection and behavior information: what it checks, that it doesn't rewrite, and a special status outcome. It is slightly thin on what exactly 'check' entails, but the output schema likely fills that gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate for the undocumented path parameter. It indirectly implies that 'path' points to container files, but it never explicitly states whether the path should be a file or directory, or what formats are accepted. The semantic contribution is present but minimal.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource: checking container files without rewriting. It is specific enough to distinguish this from siblings like rush_markdown or rush_yaml, though it doesn't name an alternative or use a more precise verb like 'lint'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'check container files without rewriting' implies the intended use case: read-only validation of container files. However, there is no explicit guidance about when to choose this over sibling tools like rush_lint, nor any exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_context_gain_statsB

Get real-time token economy savings and cost metrics

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. 'Get' implies a read operation and 'real-time' indicates data freshness, but there is no mention of side effects, access requirements, rate limits, or what scope of data is covered, so behavioral transparency is minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with no filler; the key qualifier 'real-time' is front-loaded and every word contributes to identifying the metric. It is concise without being under-specified to the point of uselessness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with no parameters and an output schema exists, so invocation requirements are minimal. However, the description gives no sense of when this metric is relevant versus siblings like rush_token_outline, and the meaning of 'token economy savings' is left largely to inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and an empty input schema, so schema coverage is trivially complete. The description does not need to explain parameter behavior; for a no-parameter tool the baseline of 4 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get') and names a concrete resource ('real-time token economy savings and cost metrics'), making the basic function clear. It does not explicitly distinguish itself from siblings like rush_token_outline or rush_context_retrieve, but the resource name is specific enough to identify the tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool instead of a sibling such as rush_token_outline or rush_context_pack, nor any mention of context or conditions. The description provides no exclusionary information, so an agent receives no help with selection among the large family of rush_* tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_context_mistakes_checkB

Check git revert history for past mistakes and anti-patterns

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'Check', which implies a read operation but does not state side effects, whether it requires a particular repository state, how it defines a mistake, or what it does with the reverts found.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one short sentence with no filler, wasted words, or irrelevant details. It is front-loaded with the action and resource, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With zero parameters and an output schema present, invocation requirements are minimal. However, the description is thin on behavioral context: it does not clarify what qualifies as a mistake or anti-pattern, nor whether the check is purely read-only. It is minimally adequate but leaves meaningful ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and full schema coverage, so there is no parameter documentation burden on the description. The baseline for a 0-parameter tool is 4, and the description adds no conflicting or misleading parameter information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description has a clear verb ('Check'), a specific resource ('git revert history'), and a target purpose ('past mistakes and anti-patterns'). It is reasonably distinct from the sibling tools, though the exact meaning of 'mistakes' and 'anti-patterns' is left somewhat vague.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, exclusions, or alternative tools are mentioned. The agent must infer that this tool is relevant when reviewing git history for past errors, and it is not told how to choose between this and related review/context tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_context_packC

Pack graph-pruned context outline under a strict token budget

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
budgetNo
symbolNo
allow_cache_writeNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must carry the full behavioral burden. It states a high-level operation but does not disclose side effects, cache writes, file modifications, return format, or failure behavior. The allow_cache_write parameter hints at a write effect, but the description never mentions it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very compact and readable, putting the core action and constraint upfront. However, it is so terse that it omits essential operational details, making it under-specified rather than efficiently concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given four parameters, no annotations, and no output schema, the description is not sufficient for an agent to confidently invoke the tool. It leaves usage context, parameter meanings, and behavioral consequences unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain the parameters. It only hints at the 'budget' parameter via 'strict token budget,' while 'path', 'symbol', and 'allow_cache_write' remain unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific action ('Pack') and a distinct resource ('graph-pruned context outline') with a clear constraint ('strict token budget'). It communicates more than the tool name alone, though the term 'graph-pruned' is somewhat jargon-heavy and the exact meaning of 'pack' is left implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given for when to use this tool versus the many context-related siblings such as rush_token_outline or rush_context_retrieve. The intended use is only implied by the verb 'pack' and the token-budget phrase.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_context_retrieveB

Retrieve uncompressed content from CCR chunk store by hash

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo.
chunk_hashYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations at all, the description carries the full burden of behavioral disclosure. 'Retrieve' implies a read operation, and 'uncompressed content' hints at the expected result, but there is no mention of failure behavior, response format, size limits, or effects beyond retrieval, which is minimal for an unannotated tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, direct sentence with no redundant wording. Key informationโ€”action, target, and selection mechanismโ€”is efficiently packed and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Without an output schema or annotations, the description leaves notable gaps: the return format is unspecified, error/not-found behavior is absent, and the meaning of 'path' in the input schema is unexplained. It is adequate for a very simple lookup but incomplete for safe autonomous use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain the parameters itself. It partially clarifies chunk_hash via 'by hash', but the optional 'path' parameter is not mentioned at all, leaving its purpose and relationship to the chunk store unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear action ('Retrieve'), a specific resource ('CCR chunk store'), and the lookup key ('by hash'). This distinguishes it from related context sibling tools like rush_context_pack and rush_context_mistakes_check, which clearly do different things.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'by hash' implies this tool should be used when the caller already has a chunk_hash and wants uncompressed content. However, it does not explicitly contrast with alternative tools or state when not to use it, leaving usage guidance mostly implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_continuityC

Save, list, or restore a local Rush session checkpoint. Returns {status, findings[], summary}; saving requires explicit cache-write permission.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
pathYes
filesNo
agent_idNo
base_codeNo
open_workNo
operationNolist
ours_codeNo
provider_idNo
theirs_codeNo
context_pathNo
current_goalNo
dependenciesNo
token_budgetNo
allow_networkNo
target_symbolNo
context_handleNo
allow_cache_writeNo
coordination_pathNo
flight_session_idNo
failure_fingerprintNo
historic_instructionNo
coordination_max_age_sNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

C2.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry behavioral disclosure itself. It communicates one critical side-effect (saving writes to cache only with explicit permission) and clarifies the local scope. It does not explain what restore overwrites or how the coordination/provider_resume modes behave, leaving significant behavioral opacity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the core action and no filler. The return-shape note and permission caveat each add something an agent needs to know. It loses no points on conciseness, though the first sentence is incomplete about the full operation set.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 23 parameters, a 9-value operation enum, no annotations, and roughly 60 sibling tools, this two-sentence description cannot be contextually complete. It omits six operation modes, does not specify which parameters apply to which operation, and does not address coordination or provider-resume behavior. The output schema covers return shape, but not the usage context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description needed to compensate for 23 undocumented parameters. It only suggests that saving requires cache-write permission and that the checkpoint is local; most parametersโ€”path, name, files, token_budget, and operation-specific fieldsโ€”are left unexplained. This is minimal compensation for a very large schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verbs save/list/restore and the resource 'local Rush session checkpoint' name a concrete core action, so it is not a tautology. However, the operation enum exposes six additional modes (context_pack, context_retrieve, coordination_*, provider_resume) that the description never mentions, making the stated purpose partial and potentially misleading. It also does not differentiate this tool from the many sibling rush_context and rush_mesh tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No sentence tells an agent when to prefer rush_continuity over a sibling or which operation mode fits which scenario. The 'local' qualifier and cache-write permission note hint at some conditions, but there are no explicit alternatives, exclusions, or workflow guidance for a tool with nine operational modes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_contractC

Import a local Pact report or run local contract verifications under --allow-slow.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
allow_slowNo
allow_buildNo
report_pathNo
allow_browserNo
allow_networkNo
allow_downloadNo
allow_cache_writeNo
allow_artifact_writeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not explain side effects, network/build/browser allowances, whether imports mutate state, or what the output schema represents beyond a vague hint about --allow-slow.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no filler. It front-loads the core action, though the ambiguity between 'import' and 'run' slightly reduces structural clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with nine parameters, no annotations, and a non-obvious dual operation, the description is far too thin. It does not explain which input triggers import versus verification, what the allow_* flags control, or how the output schema relates to the operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, yet the description only adds meaning to 'allow_slow' and loosely touches on a local Pact report ('path'). The other seven parameters, including report_path and all allow_* flags, remain unexplained, so the description does not compensate for the missing schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a concrete resource ('local Pact report') and actions ('import' or 'run local contract verifications'), so it is more than a tautology. However, it presents two loosely joined operations and does not clearly explain which one happens under which conditions, making the tool's primary function ambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use rush_contract versus siblings like rush_test, rush_review, or rush_snapshot. The intended use is only implied by the name and the vague mention of contract verifications, leaving an agent to infer the appropriate context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_coverageC

Import a local coverage report or run coverage analysis under --allow-slow.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
allow_slowNo
allow_buildNo
report_pathNo
allow_browserNo
allow_networkNo
allow_downloadNo
allow_cache_writeNo
allow_artifact_writeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of disclosing behavior. It mentions two high-level operations but does not explain side effects, whether importing writes files, what the allow_* flags actually permit, or what happens during a slow analysis. '--allow-slow' hints at a performance trade-off but remains unexplained.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no filler and front-loads the core purpose. The phrase 'under --allow-slow' is slightly cryptic, but overall the description is efficient and readable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With nine parameters, no annotations, and no parameter descriptions in the schema, one sentence is insufficient for an agent to confidently invoke this tool. Important details about mode selection, the role of report_path, and what the allow_* flags control are missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It adds minimal meaning for 'path' (local coverage report) and 'allow_slow' (--allow-slow), but the remaining seven parametersโ€”including report_path, allow_build, allow_browser, allow_network, and allow_artifact_writeโ€”are not described beyond their self-explanatory names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies a specific coverage-related resource and names two concrete operations: importing a local report or running coverage analysis. 'Under --allow-slow' is somewhat ambiguous, but the overall purpose is clear and distinguishable from sibling tools like rush_lint or rush_test.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus alternatives such as rush_test or rush_complexity. The description implies a choice between import and analysis modes, but it does not explain when each mode is appropriate or what prerequisites apply.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_db_driftA

Audit ORM models against migrations to detect schema drift

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full responsibility for behavioral disclosure. The word 'Audit' and 'detect' imply a read-only inspection that does not modify data, but the description does not explicitly state side effects, permissions, connection requirements, or what happens when drift is found.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, focused sentence conveys the action, inputs, and expected result without redundancy. It is front-loaded and every word adds meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no parameters and an output schema available, the description is sufficient for an agent to understand what the tool does and when it is relevant. No additional return-value details are needed because the output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the baseline is 4. The description correctly focuses on the tool's purpose rather than parameters because there are no parameters to document.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Audit'), identifies the resources being compared (ORM models vs migrations), and names the exact outcome (detect schema drift). This clearly distinguishes it from siblings like rush_semantic-drift, which targets semantic drift rather than database migration schema drift.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended use is implied: run this when you want to find schema drift between ORM models and migrations. However, it does not explicitly state when not to use it, nor does it point to any sibling alternative such as rush_semantic-drift or rush_sql for related but different checks.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_deadA

Find unused Python and JS/TS code at . Uses vulture or knip; missing engines return status='skipped'.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It does reveal a useful edge-case behavior: missing engines return status='skipped', and it names the underlying tools. However, it does not mention whether the scan is read-only, whether it requires configuration files, or what other statuses may appear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the main purpose and then adds the key engine detail and edge-case behavior. There is no filler, repetition, or unnecessary explanation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one simple path parameter and an output schema, the description covers purpose, language scope, tooling, and a behavior on missing engines. A minor gap is that it doesn't explicitly map vulture to Python and knip to JS/TS, but this is easily inferred and not critical for invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, and the description only repeats the path placeholder as '<path>' without adding format, constraints, or examples. The parameter is self-explanatory from its name and format, so the impact is minor, but the description adds no semantic value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Find') with a clear resource ('unused Python and JS/TS code') and a path argument. It also names the underlying tools (vulture or knip), which distinguishes it from siblings like rush_dead_asset and other analysis tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for dead code detection and notes behavior when engines are missing, but it does not explicitly state when to use this tool over siblings or when not to use it. The context is clear enough for basic selection, but no exclusions or alternatives are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_dead_assetB

Scan for unreferenced assets and dead media

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It says 'Scan' but does not clarify whether the tool is read-only, what it reports, whether it modifies files, or what constitutes 'dead media'. This is thin coverage for a tool that may perform analysis.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one short, front-loaded sentence with no filler or redundant phrasing. It is efficient, though the phrase 'dead media' is somewhat jargon-heavy and could be clearer.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With zero parameters and an output schema available, the core call shape is reasonably complete. However, the lack of behavioral disclosure and the absence of any guidance distinguishing this tool from rush_dead leave meaningful gaps for an agent trying to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema is empty and schema description coverage is 100%, so there are no parameters for the description to document. With zero parameters, the description has no additional burden to explain argument semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Scan') and a resource ('unreferenced assets and dead media'), so an agent can understand the basic operation. However, it does not differentiate this tool from the closely named sibling 'rush_dead', leaving some ambiguity about exactly which dead-item analysis this tool performs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus alternatives like rush_dead or other audit/scan siblings. The description implies a scanning purpose but gives no conditions, exclusions, or suggestions for when another tool would be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_doctorB

Diagnose environment health, toolchain integrity, and binary resolution at . Returns {status, findings[], summary}.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo.

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, but it only states the diagnostic scope and the returned shape. It does not disclose whether the tool is strictly read-only, whether it runs external commands, or what other side effects or requirements exist. The return structure is already covered by the output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no filler: the first front-loads the purpose and scope, the second states the return shape. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one optional parameter and an output schema, the description is minimally adequate: an agent can call it with defaults and understand the result. It remains incomplete in usage guidance, path semantics, and behavioral safety, which are significant for a diagnostic tool with no annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description only says 'at <path>', which adds little beyond the schema's field name and format. It does not explain what kind of path is expectedโ€”project root, directory, config file, or something elseโ€”so an agent lacks semantic guidance for the single parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Diagnose' and names concrete resources: environment health, toolchain integrity, and binary resolution at a path. This is clear and distinct from the general 'rush_*' tool names, though it does not explicitly differentiate from diagnostic siblings like rush_iam_audit or rush_security.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended use is implied by the verb 'Diagnose' and the target categoriesโ€”an agent can infer it should be used when investigating environment or toolchain problems. However, there is no explicit guidance about when to prefer this tool over alternatives or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_e2eB

Run configured E2E tests only with --allow-browser.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
optionsYes
allow_slowNo
allow_buildNo
allow_browserNo
allow_networkNo
allow_downloadNo
allow_cache_writeNo
allow_artifact_writeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure, but it only mentions the --allow-browser gate. It does not state whether the test run can modify the workspace, write caches/artifacts, or make network calls, nor what happens if the required flag is omitted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single-sentence description is terse and front-loaded with the main purpose, which is good. However, given the nine-parameter input schema, it is under-specified rather than appropriately sized; brevity comes at the cost of necessary semantic content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with nine input parameters, two required, and no annotations, this description is far from complete. It covers one condition and does not explain required inputs, the remaining permission flags, or how the tool relates to sibling test tools; the existence of an output schema only slightly reduces the need for return-value explanation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description needed to compensate, but it only explains one parameter (allow_browser via '--allow-browser'). It provides no meaning for the required 'path' and 'options' parametersโ€”'options' has no type in the schemaโ€”or the other six allow_* flags.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Run') and a specific resource ('configured E2E tests'), so an agent immediately knows what the tool is for. The qualifier 'only with --allow-browser' also signals this is a browser-gated E2E runner, though it never explicitly names a sibling tool such as rush_test for contrast.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives an explicit invocation condition: use this tool for configured E2E tests and only when --allow-browser is available/enabled. It does not list exclusions or alternatives like 'for unit tests use rush_test', so it stops short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_fixB

Safely auto-remediate formatting and linter issues at . Returns {status, findings[], summary}. Enforces strict path confinement.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo.
forceNo
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of disclosing behavior, and it adds useful context: 'Safely' signals caution, 'Enforces strict path confinement' is a concrete safety guarantee, and the return shape is stated. However, it does not explain what 'safe' entails, whether files are modified in place, or how force/dry_run affect execution.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and informative, using three short clauses that each add value: the action, the return format, and the safety constraint. It is front-loaded with the core purpose and has no filler or redundant wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although an output schema exists and the description includes the return shape, the tool has no annotations and the parameter documentation is incomplete. Missing context around force versus dry_run behavior and the exact side effects of remediation leaves an important gap for an agent deciding whether and how to invoke it safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description needs to compensate, but it only clarifies the path parameter via '<path>'. The meaning and effect of 'force' and 'dry_run' are not explained at all, leaving the agent to guess their roles despite them being important for a remediation tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as an auto-remediation action for formatting and linter issues at a specific path, using a strong verb ('auto-remediate') and resource ('formatting and linter issues'). It is distinguishable from siblings like rush_lint, but it does not explicitly contrast with rush_format or other closely related tools, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The context of use is implied: use this tool when formatting or linter issues need to be automatically fixed at a path. However, there is no explicit guidance about when to prefer rush_fix over rush_lint, rush_format, or rush_review, nor any stated exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_flakyC

Import a local JUnit report or run duplicate test analysis under --allow-slow.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
allow_slowNo
allow_buildNo
report_pathNo
allow_browserNo
allow_networkNo
allow_downloadNo
allow_cache_writeNo
allow_artifact_writeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden of behavioral disclosure. It reveals two modes and one gating flag, but says nothing about side effects, where the report is imported to, required permissions, transformations applied, or whether the operation is read-only or mutating.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is efficient and front-loaded, with no filler words. That conciseness comes at the cost of missing essential detail for a nine-parameter tool, making it under-specified rather than appropriately concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given nine parameters, no annotations, and only a one-line description, the agent lacks enough context to invoke this tool correctly with confidence. The output schema may describe return values, but invocation semantics, mode selection, and the meaning of most flags are missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for all nine parameters, but it only lightly touches allow_slow and the JUnit report path. The remaining parameters such as allow_build, report_path, allow_network, and allow_artifact_write receive no semantic explanation at all.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names two actions โ€” importing a local JUnit report and running duplicate test analysis โ€” so it is not a tautology and is somewhat concrete. However, 'duplicate test analysis' is unexplained, and the tool name 'rush_flaky' suggests flaky-test detection but the description never mentions flakiness, forcing the agent to infer intent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The conditional 'under --allow-slow' provides a meaningful usage hint, and 'import a local JUnit report' implies a common invocation scenario. There is no explicit guidance about when to prefer this over sibling tools, when not to use it, or what prerequisites apply.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_formatA

Format Python/JS/TS files at . Returns {status, findings[], summary}. Engines: ruff format (Python), prettier (JS/TS). Always check-only in v0.1.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
checkNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral disclosure burden. It explicitly states the tool is 'Always check-only in v0.1', which is a critical safety trait, and discloses the return shape and per-language engines. It could clarify how the 'check' parameter interacts with the always-check-only behavior, but overall it is transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: the core action comes first, followed by return shape, engines, and the safety caveat. Every sentence adds useful information without repeating schema fields.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter tool with an output schema, the description provides the essential action, language scope, engine mapping, and safety posture. The main remaining gap is the exact meaning of the 'check' parameter and whether 'path' may be a directory or only a file, but these do not prevent correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It clarifies that 'path' refers to files to format and names the supported languages, and the 'check-only' line hints at the boolean's behavior. However, it never explicitly explains the 'check' parameter's true/false semantics, leaving the default false somewhat confusing given the always-check-only claim.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific action ('Format'), a resource ('Python/JS/TS files at <path>'), and the exact engines used. This clearly distinguishes it from siblings like rush_lint or rush_fix even without an explicit comparison.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: use it to format Python/JS/TS files, and it is always check-only in v0.1. It does not explicitly name alternative tools or state when not to use it, but the language scope and check-only caveat give a clear operational frame.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_fuzzC

Import a local fuzz report or execute local fuzz tests under --allow-slow.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
optionsYes
allow_slowNo
allow_buildNo
report_pathNo
allow_browserNo
allow_networkNo
allow_downloadNo
allow_cache_writeNo
allow_artifact_writeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations and low description coverage, the description carries the full burden of disclosing side effects. It mentions --allow-slow as a guard but says nothing about the significant behaviors signaled by parameters such as allow_build, allow_browser, allow_network, allow_download, or artifact writes. It does not state whether it mutates, requires permissions, or runs untrusted code.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one compact sentence with no filler, front-loading the two primary use cases and the key guard flag. It is concise and easy to scan, though the dual-mode phrasing creates some ambiguity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter tool with no annotations, the description is far from complete. It omits prerequisites, side-effect profile, semantics of most parameters, and the relationship between the two modes. An agent could not confidently invoke it correctly based solely on this description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description should compensate. It helps with allow_slow ('under --allow-slow') and weakly implies report_path via 'fuzz report', but it leaves path, options, allow_build, allow_browser, allow_network, allow_download, allow_cache_write, and allow_artifact_write unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names two concrete operations: importing a local fuzz report and executing local fuzz tests under --allow-slow. It adds a usable verb+resource beyond the tool name and gives a sense of scope, though it does not clearly separate the two modes or distinguish itself from siblings such as rush_pbt.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to choose import mode versus execute mode, nor any alternative tool or exclusion condition. A user must infer from parameter names; the description does not say when to prefer rush_fuzz over related tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_hallu_guardC

Audit code imports against installed packages and stdlib

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full disclosure burden. It only states that the tool 'audits' imports; it doesn't say whether the audit is read-only, how 'installed packages' is determined (current environment, requirements file, or lockfile), or what happens when problematic imports are found (report, exit code, or autofix).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The 9-word single sentence is front-loaded with the verb and contains zero filler; every word earns its place. The brevity that hurts other dimensions is an underspecification problem, not a structure problem.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, but invocation context is thin: path semantics, read-only vs. modifying behavior, and how 'installed packages' is resolved are all implicit. For a guard-style tool, an agent needs to know whether invoking it can modify the repo or fail the build before committing to it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% - the 'path' property has no description - and the tool description never mentions the parameter. An agent must guess whether path points to a file, directory, or project root, and what the default '' resolves to; the description adds nothing beyond what the param name already implies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('audit'), resource ('code imports'), and comparison baseline ('installed packages and stdlib'), so the core function is immediately clear. It also distinguishes itself from likely-overlapping siblings like rush_dead, rush_typecheck, and rush_arch_guard by narrowing to import resolution, though it stops short of explicitly naming an alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool vs. rush_dead, rush_arch_guard, or rush_typecheck. There are no exclusion conditions, no mentioned alternatives, and no context signals such as 'run after dependency changes' - selection is left entirely to the agent's inference from the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_iacB

Check Terraform without rewriting; missing local engines return status='skipped'.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It explicitly states that the tool does not rewrite files and that missing local engines result in a 'skipped' status, which is valuable safety and degradation behavior. It could still elaborate on side effects or prerequisites, but for a simple check tool this is strong disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the core action ('Check Terraform') and then provides the two most important qualifiers: no rewriting and skip behavior on missing engines. Every word earns its place with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple: one required path parameter, no nested objects, and an output schema exists, so return values do not need to be described. The description covers the main behavior and the skipped-status edge case, but it leaves ambiguity around what 'Terraform' refers to and what exactly happens when local engines are present. It is adequate but has clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has only one parameter, 'path', but schema description coverage is 0% and the description never mentions the parameter. The agent is left to infer that 'path' points to a Terraform directory or file. The description does not add meaning about expected format, what the path should contain, or how it is resolved.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Check Terraform'. The phrase 'without rewriting' adds an important scoping detail that distinguishes it from mutation-style tools like rush_fix or rush_simplify. However, it does not name any sibling tool or elaborate on what kind of check is performed, so it is clear but not fully differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance about when to use this tool versus alternatives such as rush_review, rush_lint, or rush_security. The 'without rewriting' phrase implies a conservative read-only intent, but it does not state exclusions or direct the agent to a different tool under specific conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_iam_auditB

Synthesize least-privilege cloud IAM policy

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the escription carries the full behavioral disclosure burden. It states 'ynthesize' as the behavior but does not disclose whether this modifies anything, requires cloud access, reads existing policies, or purely produces a policy document.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The phrase is tight and front-loads the core action and object, containing no filler. It is terse, but this dimension rewards brevity and clear structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations and no parameter context, the escription leaves open whether the tool mutates the cloud environment, what it reads as input, and which cloud provider or scope it targets. The presence of an output schema helps return-value understanding, but operation inputs and side effects are unexplained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the schema is vacuously 100% covered, so there are no parameter formats or semantics for the description to clarify. It does not explain implicit context inputs, but the zero-param baseline applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Synthesize') and a concrete resource ('least-privilege cloud IAM policy'), making the core action clear. It does not explicitly contrast with sibling tools, so it stops short of full differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus alternatives such as rush_iac, rush_security, or rush_review. The one-line description only implies the obvious scenario and gives no prerequisites, exclusions, or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_license_matrixA

Audit open-source dependencies for license risks

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the full burden of behavioral disclosure. 'Audit' hints at read-only analysis, but the description does not explain what the matrix contains, whether it fails on violations, whether it performs network access, or any side effects. This is a notable gap for a tool with no annotation safety signals.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler or redundancy. Every word contributes to the tool's purpose, making it highly scannable for an agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-parameter tool with an output schema present, the description provides the essential purpose and scope. It lacks explicit relationship guidance to siblings like rush_sbom or rush_security, but the invocation surface is simple enough that the description is nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the schema coverage is 100% trivially, so the description does not need to explain parameters. The baseline of 4 for no-parameter tools applies; nothing is missing here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific action ('Audit'), a clear resource ('open-source dependencies'), and the focus ('license risks'). This distinguishes it from sibling tools like rush_security or rush_sbom without needing to open their schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The purpose implies when it should be used โ€” when license compliance of dependencies needs checking โ€” but it does not explicitly state when to prefer this over alternatives or mention any exclusions. The guidance is reasonable but left implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_lintA

Lint Python/JS/TS files at . Returns {status, findings[], summary}. Engines: ruff (Python), eslint (JS/TS). status='skipped' means engine not on PATH.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
engine_argsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavior disclosure. It adds meaningful behavioral details: the return shape {status, findings[], summary}, auto-selection of ruff/eslint, and the meaning of status='skipped'. This is strong, though it could have explained more about side effects or failure modes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short, purposeful sentences. The action is first, return shape second, and engine/status behavior third. Every sentence earns its place with no repetition or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple, an output schema exists, and the description covers the core behavior, return shape, and skip condition. The main gap is the undocumented engine_args parameter, which prevents a 5 but does not undermine basic invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains <path> implicitly and mentions engines, but it never explains the engine_args parameter at all. An agent would not know how to pass additional arguments to the linters from this description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Lint Python/JS/TS files at <path>.' It clearly identifies the tool's scope and distinguishes it from siblings like rush_typecheck or rush_format by naming exact languages and engines.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when to use the tool: linting Python, JavaScript, or TypeScript files, with engine selection based on language. It does not explicitly name alternatives or exclusions, so it stops short of a 5, but the intended use is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_loadC

Import a local load report or execute load traffic under --allow-network.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
optionsYes
allow_slowNo
allow_buildNo
report_pathNo
allow_browserNo
allow_networkNo
allow_downloadNo
allow_cache_writeNo
allow_artifact_writeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full burden. It reveals that executing load traffic requires --allow-network, but it doesn't mention side effects, required permissions, or behavior of the allow_* and cache/artifact flags. A mutation-capable tool with this many flags needs significantly more behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler or repetition. While it is terse, every phrase adds information. It could benefit from structuring the two modes, but it is concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite the presence of an output schema, the high parameter complexity and missing annotations require more context. The description fails to explain required arguments, mode selection criteria, or how the permission flags shape behavior. This is not complete enough for reliable tool selection/invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain parameters; it only alludes to allow_network via --allow-network. Required 'path' and 'options' are completely unexplained, as are slow/build/browser/download/cache/artifact options. This is inadequate for 10 parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Describes a specific capability: importing a local load report or executing load traffic, with the network mode tied to --allow-network. This is clear enough to distinguish it from a generic name, but it doesn't explicitly position it against siblings. The dual 'or' structure introduces some ambiguity about which mode an agent should infer.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies two use cases (local report import and network-enabled load traffic) and mentions when --allow-network applies. It does not state when to prefer rush_load over related tools or give prerequisites/exclusions. The usage guidance is therefore at the 'implied' level.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_markdownA

Check Markdown at without rewriting files; missing markdownlint-cli returns status='skipped'.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It usefully discloses that files are not rewritten and that a missing markdownlint-cli dependency yields status='skipped', which is valuable edge-case information beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence contains the action, the target, the side-effect constraint, and the failure mode. There is no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter tool with an output schema, the description covers purpose, non-destructive behavior, and a key missing-dependency condition. It is brief but not missing critical operational context, though it could name sibling relationships for completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides zero description coverage for the only parameter, and the description adds only 'Markdown at <path>' context. This clarifies that path points to Markdown content but doesn't explain path expectations such as file vs directory, globbing, or requirements.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Check'), a clear resource ('Markdown at <path>'), and an explicit non-rewriting constraint that distinguishes it from formatting-oriented siblings like rush_format. The mention of markdownlint-cli further pins down the operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The check-only behavior is implied by 'without rewriting files', but no explicit when-to-use guidance or named alternative tools are provided. An agent must infer that rush_markdown is for lint-style checking rather than formatting, without direct comparison to siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_mesh_acquire_lockC

Acquire non-blocking multi-agent file lock

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
agent_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It discloses only that the lock is non-blocking; it does not explain what happens on contention, whether the lock is reentrant, how ownership is tied to agent_id, or what the return value is.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a compact single phrase with no filler or redundant sentences. It loses a point because the brevity partly reflects under-specification rather than purely efficient communication.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a side-effecting lock tool with no annotations and 0% schema descriptions, the description omits critical context: failure behavior, lock scope, lifecycle, and relationship to the release sibling. The output schema may define return shape, but it cannot compensate for missing usage and parameter semantics.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the description does not explicitly define 'path' or 'agent_id'. The phrase 'file lock' weakly implies path is the lock target and 'multi-agent' implies agent_id identifies the holder, but this remains indirect and insufficient for a 2-parameter tool with no schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Acquire') and resource ('non-blocking multi-agent file lock'), making the tool's function immediately clear. It also distinguishes from the sibling rush_mesh_release_lock through the acquire/release opposition.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to acquire the lock, when not to, or how this interacts with rush_mesh_release_lock. The 'non-blocking' qualifier vaguely implies behavior under contention but does not state a selection condition or alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_mesh_release_lockC

Release multi-agent file lock

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
agent_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden of disclosing behavior. 'Release' only names the high-level action; it does not say whether the operation is idempotent, whether agent_id ownership is validated, whether the lock is forcibly dropped, or what side effects occur if the caller does not hold the lock.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short phrase with no filler, and the action verb is front-loaded. It is efficient, although the brevity sacrifices useful detail; the structure itself is not the issue.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a state-changing lock operation with no annotations and no parameter descriptions, the definition is incomplete. An output schema exists, so return values may be covered elsewhere, but an agent still lacks prerequisite, ownership, and failure-mode context needed to use the tool confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explicitly define either parameter. The phrase 'multi-agent file lock' hints that path is the lock target and agent_id identifies an agent, but this mapping is left to inference. The description does not compensate adequately for the missing parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Release') and a concrete resource ('multi-agent file lock'), so an agent can tell this tool undoes a lock acquisition and is the counterpart to rush_mesh_acquire_lock. It does not add extra scope or explicitly differentiate from siblings, but the core purpose is unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to invoke this tool, what conditions must hold before release, or how it relates to acquire_lock beyond the name. No exclusions, prerequisites, or alternative recommendations are provided, so usage must be inferred entirely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_mutationB

Import a local mutation report or run mutation testing under --allow-slow.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
optionsYes
allow_slowNo
allow_buildNo
report_pathNo
allow_browserNo
allow_networkNo
allow_downloadNo
allow_cache_writeNo
allow_artifact_writeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure, but it only states the operation mode. It does not reveal side effects, whether the import modifies state, which permissions are needed, or what the many allow_* flags gate. The mention of --allow-slow hints that this can be a slow operation, but most behavioral impact is undisclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler or repetition. Minor deduction because the phrase 'under --allow-slow' is slightly awkward and consumes space that could otherwise clarify the two operational modes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter tool with zero schema descriptions and no annotations, this description is too thin. It covers the high-level purpose but omits the role of the required options parameter, the permission flags, and when the import mode vs. run mode should be chosen. The presence of an output schema reduces the need to document returns, but not the need for invocation guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate; it only sheds light on report_path (local mutation report) and allow_slow (the --allow-slow condition). The required path and options, plus the allow_build, allow_browser, allow_network, and write-related boolean flags, are left entirely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names two concrete behaviors โ€” importing a local mutation report and running mutation testing โ€” with a clear resource (mutation report) and condition (--allow-slow). This is specific enough to distinguish rush_mutation from its many siblings, none of which target mutation testing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when the tool is relevant: either ingest an existing mutation report or execute mutation testing when slow execution is permitted. It does not explicitly name alternatives or exclusion criteria, but the two-mode distinction is enough to guide selection among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_pbtC

Import a local property-test report or run property tests under --allow-slow.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
allow_slowNo
allow_buildNo
report_pathNo
allow_browserNo
allow_networkNo
allow_downloadNo
allow_cache_writeNo
allow_artifact_writeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It discloses a dual import/run behavior but is silent on side effects such as executing property tests, sandbox implications, or the many 'allow_*' permission flags in the schema. The mention of --allow-slow hints at an execution mode but doesn't explain the broader behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single compact sentence with no filler and places the primary action first. It is efficient but the condensed 'or' construction makes the two modes less clear than a short list or separate clauses would.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 9 parameters, an output schema, and no annotations, the description is far too thin. It omits the mode-selection mechanism, return content, permission flags, and prerequisites, so an agent cannot reliably invoke the tool or understand what will happen.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description only references 'local property-test report' and '--allow-slow'. It does not clarify the roles of path, report_path, allow_build, allow_browser, allow_network, allow_download, allow_cache_write, or allow_artifact_write. For a tool with 9 parameters, this leaves most of the invocation semantics undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a concrete operation: importing a local property-test report, and an alternative operation: running property tests under --allow-slow. This identifies the tool as focused on property-based testing, which separates it from generic siblings like rush_test and rush_fuzz. However, the dual-mode 'or' phrasing is slightly ambiguous and doesn't make clear how the two modes are selected.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use rush_pbt instead of related tools such as rush_fuzz, rush_contract, or rush_test. The description presents two modes without conditions, so an agent cannot infer whether to provide a report path or run tests directly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_pr_synthesizeC

Synthesize structured semantic pull request card

ParametersJSON Schema
NameRequiredDescriptionDefault
base_branchNomain

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action and artifact; it does not say whether the tool reads the repo, creates a PR, modifies an existing PR, requires authentication, or what the 'synthesis' actually does. The description is not misleading, but it provides almost no behavioral transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no filler or repetition. It is appropriately short for a one-parameter tool, though the wording is somewhat stilted and under-specified. Brevity itself is not the issue; content depth is.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even though an output schema exists, the description leaves fundamental questions unanswered: what exactly a 'pull request card' is, what source data is used, and how base_branch affects the output. For a tool with dozens of siblings, this description is not sufficient for an agent to confidently invoke it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description never mentions base_branch. The schema's title 'Base Branch' and default 'main' are self-explaining, but the description adds zero context about how the base branch affects the synthesized PR card. Because coverage is low, the description needed to compensate but did not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses verb 'Synthesize' plus object 'structured semantic pull request card,' so it does name a deliverable. However, 'card' and 'semantic' are undefined, and nothing distinguishes this from sibling tools like rush_review or rush_commit_msg. It is slightly more than a restatement of the name, but still vague.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool, when not to use it, or which sibling alternative might be better. With approximately 60 sibling tools, selection is left entirely to inference from the name. The description provides no context for choosing this over rush_review, rush_commit_msg, or similar tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_releaseA

Create a dry-run release plan; publishing requires explicit confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden. It makes the key behavioral trait explicit: this is a dry-run operation and does not publish without explicit confirmation. This is meaningful beyond the simple verb 'create' and prevents an agent from assuming side effects, though it does not elaborate on file writes or other state changes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single well-constructed sentence starts with the action and resource, and the crucial dry-run caveat is placed in the second clause. There is no filler or repetition; every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has only one required parameter and an output schema, the description covers the main safety requirement (dry-run, no publish). The main gap is the ambiguous meaning of 'path', but the tool's low complexity and the presence of an output schema make the description largely sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description needed to compensate for the single required 'path' parameter, but it never mentions path or explains what it refers to (repository root, output location, config path, etc.). The schema's 'format: path' helps, but the description adds no semantic value for parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Create') and resource ('dry-run release plan'), and the 'dry-run' qualifier explicitly distinguishes this tool from publishing/ship-related siblings such as rush_ship_gate. It clearly communicates what the tool does in one sentence.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context: use this to create a dry-run release plan, not to publish. 'Publishing requires explicit confirmation' is an implicit exclusion of actual release actions, though it does not name a sibling tool as the alternative for publishing. It is clear enough for an agent to understand the boundary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_reviewB

Review code at for size, TODO density, missing docstrings, naming, complexity. Returns {status, findings[], summary}. Default: heuristic. Pass use_llm=true to call configured model.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
use_llmNo
use_graftNo
changed_filesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

B3.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the review criteria, the return shape, and the default heuristic behavior while flagging that use_llm=true invokes a configured model. This is solidly transparent, though it stops short of mentioning whether the operation is strictly read-only or what model/config is used.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence earns its place: scope, review dimensions, return shape, and mode switching. The description is short, front-loaded with the essential purpose, and contains no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations, four parameters, and many close sibling tools, the description is incomplete. The two undocumented parameters prevent fully correct invocation, and the absence of any sibling routing guidance further limits contextual completeness. The output schema mitigates return-value concerns, but it cannot fix the parameter and selection gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain all parameters. It clarifies path and use_llm meaning, but use_graft and changed_files are completely unexplained. An agent cannot infer what use_graft does or how changed_files influences the review, which is a major gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('Review code at <path>') and enumerates concrete review dimensions: size, TODO density, missing docstrings, naming, complexity. This distinguishes it as an aggregate code-review tool rather than lint or typecheck. However, it does not explicitly name or contrast any sibling tool, so differentiation is implied rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The only guidance is about execution mode ('Default: heuristic' vs 'use_llm=true'), not about when to choose this tool over rush_lint, rush_complexity, or the many other siblings. There is no explicit use case, prerequisite, or exclusion stated, leaving the agent to infer when rush_review is the right choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_sbomC

Generate an SBOM only to a safe explicit output path; missing cdxgen returns status='skipped'.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
overwriteNo
allow_slowNo
allow_buildNo
output_pathNo
allow_browserNo
allow_networkNo
allow_downloadNo
allow_cache_writeNo
allow_artifact_writeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

C2.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry behavioral disclosure. It does disclose one important edge case: missing cdxgen results in status='skipped'. It also warns that output must be a safe explicit path. However, it remains silent about the behavior of overwrite, the allow_* flags, or what happens when output_path is null, leaving significant behavioral uncertainty.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no extraneous words, and the main action is front-loaded. However, for a tool with 10 parameters and no annotations, this level of conciseness is underspecification rather than appropriately sized. Every word earns its place, but the description does not carry enough content for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema and a useful failure-mode disclosure, the description is incomplete for safe and correct invocation. It does not explain the role of the many allow_* parameters, the semantics of overwrite or path, or the conditions under which an agent should select this tool over other rus_* tools. An agent would need to guess at most of the configuration surface.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 10 parameters, so the description carries the full burden of explaining parameters. It adds context only for output_path ('safe explicit output path'), and it implicitly mentions the cdxgen dependency. The other nine parameters, especially the allow_* booleans, receive no semantic explanation; an agent cannot confidently set them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Generate') and resource ('an SBOM') and adds the key constraint that it writes only to a safe explicit output path. This clearly identifies the tool's purpose, though it does not explicitly contrast it with sibling tools like rus_license_matrix that could overlap in the compliance/artifact space.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives, nor any conditions or exclusions. The phrase 'only to a safe explicit output path' is a safety restriction, not usage guidance. An agent must infer the appropriate context from the tool name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_secretsA

Scan for secrets without exposing values; missing gitleaks returns status='skipped'.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the disclosure burden. It explicitly promises that secret values are not exposed and documents the exact skipped status when gitleaks is missing, giving concrete behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single tight sentence that front-loads the core function and then adds the critical failure mode. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter tool with an output schema available, the description covers purpose, the no-exposure guarantee, and a key failure mode. It doesn't need to explain return shape, but broader sibling/usage context is still absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter is path, and 'Scan for secrets' implies that path is the scan target. However, schema description coverage is 0% and the description doesn't clarify whether path should be a file or directory or explain edge-case behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'Scan for secrets' plus a useful behavioral qualifier, 'without exposing values.' It makes the tool's function clear, though it doesn't explicitly contrast it with siblings like rush_security or rush_token_outline, so it falls short of full differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to choose this tool over related siblings, and no exclusions or alternatives are mentioned. The 'missing gitleaks' note is a behavioral condition, not usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_securityB

Scan deps at for known vulnerabilities. Returns {status, findings[], summary}. Engines: pip-audit (Python), npm audit (JS/TS). status='skipped' means engine not on PATH.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
allow_slowNo
allow_buildNo
allow_browserNo
allow_networkNo
allow_downloadNo
allow_cache_writeNo
allow_artifact_writeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It adds useful details: supported engines (pip-audit, npm audit), return shape, and status='skipped' semantics. However, it does not disclose side effects, network usage, or what the allow_* flags control, which is a meaningful gap for a tool with no annotation safety hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description uses three terse sentences, front-loading the core purpose, then including the return shape, supported engines, and a special status meaning. There is no fluff and every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has eight parameters, no per-parameter schema descriptions, and no annotations, yet the description only documents path and engine behavior. The allow_* flags, which likely gate slow/network/build/cache operations, are unexplained, so an agent cannot fully understand what invoking the tool with defaults will do.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description only adds meaning to 'path' via 'deps at <path>'. The seven allow_* boolean parameters are entirely unexplained in both the schema and the description, leaving an agent to guess their purpose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Scan deps at <path> for known vulnerabilities.' This clearly identifies the tool's function and distinguishes it from adjacent siblings like rush_sbom or rush_secrets by targeting dependency vulnerability scanning.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided for when to use rush_security over sibling tools such as rush_sbom or rush_secrets, and no exclusions or prerequisites are mentioned. The engine list hints at supported ecosystems but does not help an agent decide when this tool is the right choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_semantic-driftA

Semantic drift detection comparing rendered DOM/accessibility against baseline. Requires both --allow-browser and --allow-slow.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
allow_slowNo
allow_buildNo
allow_browserNo
allow_networkNo
allow_downloadNo
allow_cache_writeNo
allow_artifact_writeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the behavioral burden. It does disclose prerequisites (browser and slow permissions) and the comparison-based behavior, which is useful. However, it does not state side effects, whether baselines are written, or how permissions beyond the two required flags are handled.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no filler: the first front-loads the tool's purpose, and the second gives the essential invocation requirement. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, return values do not need explaining. But for a tool with 8 parameters, no annotations, and 0% schema description coverage, the short description leaves important gaps around path meaning, side effects, and how the other allow flags should be treated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It adds meaning only to --allow-browser and --allow-slow by stating they are required, but leaves the required path parameter unexplained and gives no semantics for the other six flags. The agent still cannot confidently know what to pass for path.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific function: semantic drift detection by comparing rendered DOM/accessibility against a baseline. This clearly identifies the resource and method, and distinguishes it from siblings like rush_visual or rush_snapshot enough to guess intent. It lacks an explicit verb and does not name sibling alternatives, so it stops short of 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear operational context: the tool is for semantic drift detection and requires both --allow-browser and --allow-slow to be enabled. This is practical guidance for invocation, though it does not compare against alternatives or explain when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_ship_cleanB

Clean scratch directories and build caches before release

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden of explaining behavior. It states the high-level cleanup intent but does not disclose that this likely deletes directories/caches, whether deletion is irreversible, or how the dry_run parameter affects execution. This is a significant transparency gap for a potentially destructive tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single efficient sentence with no filler. It front-loads the action and target, and every word contributes to the core meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive cleanup operation with no annotations, the description is too sparse. It does not explain the dry_run safety mechanism, what specifically counts as scratch/build caches, or the expected effect of the operation. The presence of an output schema helps, but the missing behavioral context is important for safe invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has only one optional boolean parameter, dry_run, with 0% schema description coverage. The description never mentions dry_run or explains what a dry run means in this context, so an agent must infer semantics from the parameter name alone. The description should have compensated for the missing schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the action ('Clean'), the target ('scratch directories and build caches'), and the timing ('before release'). It is specific enough to distinguish this from the many other rush_* siblings by topic and scope, though it does not explicitly name any alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Before release' implies when this should be used, and the tool name helps identify a release-prep context. However, there is no explicit guidance about when not to use it, what prerequisites exist, or how it relates to similar release-related siblings like rush_release or rush_ship_gate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_ship_envB

Audit codebase environment variable usage against .env.example

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden; 'Audit' reasonably signals a read-only inspection rather than a mutation, and the scope is clearly the environment-variable usage check. It does not explicitly state side-effect freedom, permissions, or failure behavior, but for a zero-parameter local audit the implied non-mutating nature is a meaningful disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The entire description is one sentence that front-loads the verb, scope, and reference file with no filler. It is appropriately sized for a no-argument tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The presence of an output schema and zero parameters lower the burden, and the one-liner conveys the core operation. However, it omits when to choose this tool over many sibling audit/secret-related tools and any non-obvious preconditions, making it minimally viable rather than fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the schema already covers everything and the description is not required to explain arguments. The description's mention of `.env.example` clarifies the audit target, which is useful context beyond the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Audit') and resource ('codebase environment variable usage'), anchored against a concrete reference file (`.env.example`), so an agent can tell what the tool does. It does not distinguish this from sibling audit-oriented tools such as `rush_iam_audit` or `rush_secrets`, which keeps it from a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to run this tool or when to prefer a sibling such as `rush_secrets`, `rush_iam_audit`, or `rush_security`. The description gives the operation but no exclusions, prerequisites, or selection context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_ship_gateC

Run 7-vector pre-flight release readiness cockpit

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the full burden of behavioral disclosure. It only says to 'run' a readiness cockpit, without revealing whether it performs analysis, modifies state, produces a report, or fails partway. This is minimal and mostly inferential.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single terse sentence with no filler, which is concise, but the dense jargon '7-vector' and 'cockpit' substitutes for explanation. It is compact yet not meaningfully structured for an agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations and an output schema that is only marked as present, the description must do most of the contextual work, but it does not explain what the seven vectors are, what readiness means here, or how the result should be interpreted. This is too incomplete for a tool that appears to be a complex gate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero properties, so there are no parameter semantics for the description to clarify. Per the baseline for zero-parameter tools, a 4 is appropriate; the description cannot add much value in this dimension.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description supplies an action ('Run') and a domain ('pre-flight release readiness'), but the resource is only a metaphorical 'cockpit' and '7-vector' is unexplained. It is not a tautology, but it lacks enough specificity to clearly distinguish this from the many release- and ship-related sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus alternatives such as rush_release, rush_ship_clean, or rush_ship_env. The name implies a pre-ship gate, but the description never states the triggering condition, prerequisites, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_simplifyC

Decompose high-complexity functions into modular helpers

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYes
max_complexityNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure, but it does not explain whether the tool edits files in place, requires prior analysis, preserves behavior, or returns a diff/summary. 'Decompose' implies modification but leaves safety and side-effect expectations unclear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler or redundancy. It is concise, though it borders on under-specification by omitting usage and parameter details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one required parameter, an optional threshold, no annotations, and many closely related sibling tools, this description is too thin. It conveys the basic purpose but leaves an agent without enough context to decide when to invoke it or how to set max_complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the undocumented parameters. It does not explain what 'file' refers to or how max_complexity is measured/used, though 'high-complexity' loosely implies the complexity threshold.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific action ('decompose'), a clear target ('high-complexity functions'), and the intended outcome ('modular helpers'). This distinguishes it from sibling analysis tools like rush_complexity, since the focus is on transforming code structure rather than just measuring or reviewing it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool versus alternatives such as rush_complexity, rush_review, or rush_fix. The max_complexity parameter hints at a threshold condition, but the description never states it explicitly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_slopB

Detect Python AI slop and deterministic JS/TS noise at ; missing sloppylint returns status='skipped' when no JS/TS fallback applies.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full disclosure burden. It adds one useful behavioral detail: missing sloppylint produces status='skipped' when no JS/TS fallback applies. It does not state whether the operation is read-only, whether files are modified, or what other statuses or side effects are possible.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one dense sentence with the core purpose front-loaded and the edge case appended after the semicolon. It is concise and scannable, though the unexplained jargon and compact phrasing reduce readability slightly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter tool with an output schema, the description is mostly sufficient to invoke it: it identifies the target path and exposes a key fallback behavior. However, it leaves ambiguity about what counts as slop or deterministic noise and does not explain when the JS/TS fallback applies, especially without annotation context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description needs to compensate. The '<path>' placeholder only repeats the schema's 'Path' parameter and does not clarify whether path should be a file, directory, glob, or what constraints exist. No additional semantic meaning is provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a concrete action ('Detect') and a specific resource: Python AI slop and JS/TS noise at a path. This helps distinguish it from generic siblings like rush_lint or rush_review. The jargon phrases like 'deterministic JS/TS noise' and 'sloppylint' slightly obscure the precise meaning.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended use case is implied: call it to detect slop or noise in Python or JS/TS code. However, there is no explicit guidance on when to choose rush_slop over alternatives, nor any mention of when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_snapshotC

Import a local snapshot comparison or run snapshot tests under --allow-slow.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
acceptNo
optionsYes
allow_slowNo
allow_buildNo
report_pathNo
allow_browserNo
allow_networkNo
allow_downloadNo
allow_cache_writeNo
allow_artifact_writeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

C2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It hints at slowness via '--allow-slow' but does not disclose whether importing snapshots mutates state, whether acceptance is permanent, or what side effects running snapshot tests may have.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short, but it is under-specified rather than genuinely concise. It front-loads no key scoping information and uses an ambiguous 'or' structure that obscures the tool's primary purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 11 parameters, two claimed modes of operation, no annotations, and no parameter descriptions in the schema, this description is far too thin. An agent cannot reliably determine which mode to use, what path it must provide, or what importing entails.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description compensates almost not at all. It only mentions '--allow-slow', leaving the meaning of critical parameters like path, options, accept, and report_path completely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource ('local snapshot comparison' / 'snapshot tests') and a verb ('Import' / 'run'), so it goes beyond a tautology. However, the two modes are ambiguous and the phrase 'Import a local snapshot comparison' is unclear about what importing means in practice.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance about when to use this tool versus alternatives like rush_test or rush_visual. It mentions '--allow-slow' but does not explain when snapshot testing is the right choice or when another sibling should be used.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_sqlA

Check SQL without rewriting; missing sqlfluff returns status='skipped'.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden; it does so by explicitly stating the tool does not rewrite and that sqlfluff's absence results in status='skipped'. This is meaningful beyond the schema and gives the agent a concrete failure-mode expectation. It could add more about success behavior, but the output schema covers return structure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact sentence packs purpose, a behavior guarantee, and a dependency fallback with no filler. The key action is front-loaded before the status detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter tool with an output schema, the description covers purpose, no-rewrite behavior, and the missing-dependency fallback. The lack of explicit parameter semantics and sibling routing is a minor gap given the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description never mentions 'path' or explains that the argument identifies the SQL file to check. The only cues are the 'path' property name and the tool's name, so the description adds no semantic value for the parameter beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Check') and resource ('SQL'), and the qualifier 'without rewriting' gives the tool a distinct identity relative to formatter/rewriter tools like rush_format. It doesn't name a sibling explicitly, so it stops short of a 5, but the purpose is unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'without rewriting' implies this is the check-only choice when a rewriting alternative is available, so there is at least an implied usage context. It does not explicitly name rush_format or rush_lint as alternatives, nor state when to prefer one over the other.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_strictifyC

Synthesize runtime type guards for unvalidated parameters

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Synthesize' implies generation, but the description does not state whether it modifies the given file, writes new files, requires specific project structure, or has side effects. This is a meaningful transparency gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one concise, front-loaded sentence with no filler or repetition. It is under-specified for the tool's complexity, but as far as conciseness and structure go, it is efficient and readable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has a single undocumented required parameter, no annotations, and a niche purpose, yet the description gives no context about input requirements, output behavior, or side effects. Even though an output schema exists, the description is too thin for an agent to confidently select and invoke this tool in the right situation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not mention the 'file' parameter at all. The agent is left to guess what 'file' refers to, what format it should be, and how it relates to the synthesis of runtime type guards. The description adds no semantic value beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Synthesize') and a clear resource ('runtime type guards for unvalidated parameters'), so an agent can understand the tool's core function. However, it does not actively distinguish this tool from siblings like rush_contract or rush_typecheck, and the role of the required 'file' parameter is left implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use rush_strictify versus alternatives, no prerequisites, and no exclusions. The phrase 'for unvalidated parameters' implies some context, but it does not tell an agent when this tool is the right choice or when another sibling would be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_swarm_mergeC

Execute 3-way AST merge conflict resolution

ParametersJSON Schema
NameRequiredDescriptionDefault
base_codeYes
ours_codeYes
theirs_codeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the operation type and gives no information about side effects, mutation behavior, return semantics, or environmental requirements. It does not contradict anything, but it is far too thin on behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler or repetition. It is appropriately short for a simple operation, though slightly more detail would be welcome for completeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has three required parameters, no annotations, and only a one-line description. It lacks crucial context such as how the inputs combine, what the output represents, side effects, and failure modes. The presence of an output schema helps, but the description alone is not enough for an agent to invoke the tool confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description adds no parameter-level detail. The parameter names (base_code, ours_code, theirs_code) are somewhat self-explanatory, but the description does not clarify their exact roles, expected formats, or relationship to the merge process.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Execute 3-way AST merge conflict resolution') with a clear resource. It is distinguishable from sibling tools like rush_lint or rush_format, though it does not explicitly name a closest alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase '3-way AST merge conflict resolution' implies a usage context: resolving conflicts between base, ours, and theirs versions. However, there is no explicit guidance on when to use this tool versus alternatives or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_tddC

Verify Test-Driven Development (TDD) compliance at . Returns {status, findings[], summary}.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
optionsYes
allow_slowNo
allow_buildNo
allow_browserNo
allow_networkNo
allow_downloadNo
allow_cache_writeNo
allow_artifact_writeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It states only that compliance is verified and gives a return shape; it does not disclose side effects, whether tests or builds are run, permission requirements, or how the boolean flags constrain behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loads the purpose before the return shape; there is no filler. It could be considered slightly under-specified, but as a conciseness and structure measure it is appropriately brief.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the description is incomplete for a tool with 9 parameters and no annotations. It gives the return shape but leaves critical context unexplained: what compliance means, what 'options' should contain, and what the allow_* flags control.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description adds no meaning to any of the 7 boolean parameters or the required 'options' object. It only mentions the 'path' placeholder, leaving the other parameters completely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Verify') and resource ('Test-Driven Development (TDD) compliance at <path>'), which clearly states what the tool checks and where. It does not explicitly distinguish itself from related sibling tools like rush_test or rush_coverage, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool instead of alternatives, or what scenarios require TDD compliance verification. The description only implies that it operates on a path; it does not mention prerequisites, exclusions, or contrasts with sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_templatesA

Check templates without rewriting; missing djlint returns status='skipped'.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of disclosing behavior. It clearly indicates a non-mutating operation ('without rewriting') and reveals an important edge case: when djlint is missing, the tool returns status='skipped'. This gives the agent useful safety and fallback information, though it does not describe all potential statuses.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single compact sentence with no filler: it fronts the core action, states the non-rewriting behavior, and adds the djlint-missing fallback. Every clause contributes value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has only one parameter and an output schema, the description is mostly sufficient, but it leaves the path parameter semantics unclear and does not describe the normal success/failure behavior besides the 'skipped' case. It is adequate for a simple check tool but has a clear gap in parameter guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the lone 'path' parameter, but it does not explain what path should point to (e.g., a template file or directory). The only implicit clue is the word 'templates', which is not enough for reliable parameter usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'Check templates' immediately identifies the action and target. The qualifier 'without rewriting' also distinguishes it from formatting that would modify files, though it does not name which sibling tool handles rewriting.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'without rewriting' implies this is the read-only checking alternative to rewrite-oriented tools, so the intended context is somewhat clear. However, there is no explicit when-to-use or when-not-to-use guidance, and no sibling tool such as rush_format or rush_lint is referenced as an alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_testA

Run tests for project at . Returns {status, findings[], summary}. Engines: pytest (Python), vitest/npm (JS/TS). status='skipped' means engine not on PATH.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses the return shape, supported engines, and the special 'skipped' status meaning, all of which are behavioral details beyond what the schema or annotations provide. With no annotations available, this is meaningful transparency, though possible side effects or prerequisite conditions are not mentioned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with purpose, then delivers return shape, engine support, and an important edge case. Every sentence contributes useful information with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The single required parameter is covered, the return shape is stated, and the skipped status edge case is addressed. Missing context includes setup requirements and behavior on failure or timeout, but for a single-argument test runner with an output schema, the definition is nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% parameter description coverage, so the description must compensate. 'Project at <path>' adds semantic meaning that the path refers to a project root rather than an arbitrary file, and the single parameter is simple enough that this is largely sufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Run' with the identifiable resource 'tests for project at <path>', which makes the tool's function immediately clear and separates it from sibling lint/typecheck/format tools. It also adds return shape and engine support, reinforcing exactly what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance about when to prefer this tool over sibling test-related tools such as rush_e2e, rush_test_heal, or rush_coverage, and no exclusion criteria. The engine list implies language fit, but it does not state when to use versus when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_test_healB

Diagnose flaky test race conditions and suggest fixes

ParametersJSON Schema
NameRequiredDescriptionDefault
runsNo
targetYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of disclosing behavior. 'Diagnose and suggest fixes' implies a non-mutating analysis, but it does not state whether the tool actually runs tests, how many executions occur, whether it writes files, or what side effects to expect. The 'runs' parameter hints at test repetition, but this is not disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler. Every word contributes to communicating the tool's core function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple, but with no annotations and 0% parameter coverage, the description leaves important gaps around execution behavior, expected side effects, and how to choose this tool over rush_flaky or rush_fix. The output schema may cover return values, but the pre-invocation context is incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it explains neither 'target' nor 'runs'. The phrase 'flaky test race conditions' weakly implies that 'target' is a test target, but the description adds no concrete meaning about required format, defaults, or how 'runs' influences behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Diagnose') and resource ('flaky test race conditions') and mentions the outcome ('suggest fixes'). It is clear about what the tool does, though it does not explicitly distinguish itself from the sibling rush_flaky, which may cover similar ground.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'flaky test race conditions' implies when this tool should be used, giving an agent some contextual signal. However, it does not state when not to use it, nor does it name alternatives such as rush_flaky, rush_test, or rush_fix.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_token_outlineB

Generate token-efficient AST skeleton outline of a code file

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
focus_symbolNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral transparency burden. It discloses that the output is a compact 'skeleton' AST outline, which conveys some behavioral character. It does not mention side effects (or their absence), access requirements, or failure behavior, leaving notable gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no filler. It is front-loaded with the core action and resource, and every word contributes meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The output schema exists, so return-value documentation is not required. However, the description fails to explain focus_symbol and offers no routing guidance relative to many siblings. Yet the tool can be correctly called with only the required `path`, so it is minimally viable but has clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain either parameter. 'path' is implied by 'code file', but 'focus_symbol' is entirely unexplained despite being an optional parameter with a default. The description adds no value beyond the bare input schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('Generate') and resource ('AST skeleton outline of a code file'), making the tool's function understandable. It does not explicitly distinguish this tool from siblings like rush_complexity or rush_context_retrieve, so it misses the top score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'token-efficient' implies the tool is intended for low-token structural overviews of code, providing some usage context. However, there is no explicit statement of when to use it versus alternatives like rush_review or rush_complexity, nor any exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_traceA

Scan codebase and specs to output requirement traceability matrix

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full behavioral burden. It discloses that the tool scans code and specs and emits a matrix, which is the core read-only behavior. However, it does not state whether files are modified, what 'specs' means, or any side effects; for a scan-and-report tool these gaps are moderate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with the verb and resource, no filler or redundancy. Every word contributes to conveying the tool's action and output.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (0 params) and has an output schema, so the description does not need to document return values. Still, without annotations or usage guidance, the description could better clarify when this is preferred over related rush_* audit/scan tools and what traceability sources are included. It is adequate for a no-arg tool but leaves selection context to the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, and the description's 'codebase and specs' simply reflects the implicit project scope. There are no parameter semantics to document, so the baseline 4 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a concrete action ('scan') with explicit inputs ('codebase and specs') and a well-defined output ('requirement traceability matrix'). This makes it easy to distinguish from sibling tools that target different concerns, such as rush_lint or rush_license_matrix.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use, when-not-to-use, or alternative tool routing is given. The term 'requirement traceability matrix' implies the use case, but the agent is left to infer that this is the tool for requirements coverage mapping and is not told how it differs from other scanning/auditing siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_typecheckA

Type-check Python and JS/TS at . Uses mypy or tsc; missing engines return status='skipped'.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations available, the description carries the behavioral burden and does disclose meaningful behavior: engine selection (mypy or tsc) and the 'skipped' status when an engine is missing. It could go further by explicitly noting non-mutating behavior, but it covers the key runtime outcomes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One compact sentence front-loads the action and location, followed by engine and status behavior. There is no fluff and every clause adds useful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter tool with an output schema present, the description covers the important execution details and the main edge case (missing engine). It is nearly complete, only lacking explicit usage conditions relative to siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only says 'at <path>' and adds little beyond the schema's 'path' field. It clarifies that the path is the code location to type-check, but doesn't explain expected granularity (file vs directory), language detection, or path resolution behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Type-check'), the target resources ('Python and JS/TS'), and a location ('<path>'), and adds engine details (mypy/tsc). It is clear and differentiable in practice, though it doesn't explicitly name sibling tools like rush_lint or rush_test.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this tool is for type-checking Python and JS/TS code and indicates scope, but it gives no explicit when-to-use guidance, exclusions, or comparisons to alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_visualC

Check visual baselines; updates require --accept.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
optionsYes
allow_slowNo
allow_buildNo
allow_browserNo
allow_networkNo
allow_downloadNo
allow_cache_writeNo
allow_artifact_writeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It does add one useful behavioral factโ€”updates require --acceptโ€”implying that normal checks are non-mutating. However, it does not explain side effects, permissions, failure modes, or what happens when baselines differ.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and front-loaded with the main action. The second clause, 'updates require --accept,' is compact but slightly cryptic. Overall, there is no wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 9 parameters, 2 required, no annotations, and 0% schema description coverage, this description is too sparse. It does not clarify what path or options should contain, how to trigger an update, or what the output represents, so an agent cannot reliably construct a correct call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain any of the 9 parameters. It references --accept, which is not a named property in the input schema, leaving path, options, and the allow_* flags entirely undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource: 'Check visual baselines,' so an agent can identify this as a visual-baseline verification tool. It does not explicitly differentiate it from siblings like rush_snapshot, but the core purpose is clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use guidance, no exclusions, and no mention of alternatives among the many rush_* sibling tools. The intended usage is only implied by the phrase 'Check visual baselines,' which is not enough to help an agent decide between this and related tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rush_yamlB

Check YAML without rewriting; missing spectral returns status='skipped'.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
rawNo
toolNo
engineNo
statusNo
metricsNo
summaryNo
findingsNo
metadataNo
artifactsNo
duration_msNo
review_kindNo
engine_versionNo
review_providerNo

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations to rely on, the description usefully discloses that the tool does not rewrite files and that missing spectral yields status='skipped'. It does not cover error handling or permission requirements, but the disclosed behaviors are meaningful.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One compact sentence carries two essential pieces of information: non-mutating behavior and a fallback status. It is front-loaded and contains no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with a single path parameter and an output schema exists, so return values need not be described. However, the description lacks guidance on how rush_yaml relates to sibling tools and what 'check' specifically entails (parse vs lint vs validate), which is relevant given the large sibling group.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description never mentions the path parameter, its required status, or any expected format. The path parameter's semantics are left entirely to the schema's title/format, so the description adds no value here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Check YAML'. The phrase 'without rewriting' clarifies scope and distinguishes it from formatting tools like rush_format, though it does not explicitly name sibling alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when you want to validate YAML without modifying it, which is a clear condition. However, it offers no explicit exclusions or references to alternatives, leaving routing against the many sibling tools to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 63 tool updatesv0.3.0
    • First observedrush_actions
    • First observedrush_ai-eval
    • First observedrush_api_diff
    • First observedrush_arch_guard
    • First observedrush_attest_generate
    • First observedrush_blast_radius
    • First observedrush_ci
    • First observedrush_codeql
    • First observedrush_commit-msg
    • First observedrush_complexity
    • First observedrush_containerfile
    • First observedrush_context_gain_stats
    • First observedrush_context_mistakes_check
    • First observedrush_context_pack
    • First observedrush_context_retrieve
    • First observedrush_continuity
    • First observedrush_contract
    • First observedrush_coverage
    • First observedrush_db_drift
    • First observedrush_dead
    • First observedrush_dead_asset
    • First observedrush_doctor
    • First observedrush_e2e
    • First observedrush_fix
    • First observedrush_flaky
    • First observedrush_format
    • First observedrush_fuzz
    • First observedrush_hallu_guard
    • First observedrush_iac
    • First observedrush_iam_audit
    • First observedrush_license_matrix
    • First observedrush_lint
    • First observedrush_load
    • First observedrush_markdown
    • First observedrush_mesh_acquire_lock
    • First observedrush_mesh_release_lock
    • First observedrush_mutation
    • First observedrush_pbt
    • First observedrush_pr_synthesize
    • First observedrush_release
    • First observedrush_review
    • First observedrush_sbom
    • First observedrush_secrets
    • First observedrush_security
    • First observedrush_semantic-drift
    • First observedrush_ship_clean
    • First observedrush_ship_env
    • First observedrush_ship_gate
    • First observedrush_simplify
    • First observedrush_slop
    • First observedrush_snapshot
    • First observedrush_sql
    • First observedrush_strictify
    • First observedrush_swarm_merge
    • First observedrush_tdd
    • First observedrush_templates
    • First observedrush_test
    • First observedrush_test_heal
    • First observedrush_token_outline
    • First observedrush_trace
    • First observedrush_typecheck
    • First observedrush_visual
    • First observedrush_yaml

TDQS

C2.7/5.0
Disambiguation3/5

Most tools target distinct areas, but several near-neighbor pairs exist: rush_format vs rush_fix, rush_dead vs rush_dead_asset, rush_flaky vs rush_test_heal, and rush_actions vs rush_ci. The descriptions do clarify the boundaries, but with 63 tools an agent will still face real selection ambiguity, especially among the context/token-related tools.

Naming Consistency3/5

All tools share the rush_ prefix and use snake_case, giving a surface-level consistency. However, the remainder of the name is not a consistent pattern: some are bare nouns (rush_security, rush_yaml), some are verb-first (rush_format, rush_review), and some are object-verb (rush_context_retrieve, rush_swarm_merge). This mixed convention is readable but not predictable.

Tool Count1/5

With 63 tools, this server is far beyond the 25+ threshold and squarely in the 50+ extreme range. Even if each tool has a plausible purpose, the sheer number creates significant navigation and selection overhead and would be better served by splitting into multiple focused servers.

Completeness4/5

For its apparent purpose as a code-quality and release-readiness assistant, the toolset is impressively broad: format, lint, typecheck, test, security, SBOM, coverage, fuzz, contract, release prep, and context-management features are all covered. Minor gaps like a dedicated build step or a way to act on certain findings (e.g., actual publishing) prevent a perfect score but do not create dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Provides comprehensive code quality tools including linting, security scanning, TypeScript checking, and testing through a single MCP server. Integrates multiple quality analysis tools like Biome, ESLint, and Playwright for streamlined development workflows.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Code linting and style checking tools for AI agents, exposed as an MCP server. Supports style checks, naming conventions, complexity analysis, dead code detection, and import analysis.
    63
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Autonomous spec-to-product coding-agent CLI. Its MCP server exposes 34 tools over stdio: project state and task-queue ops, memory retrieve/store, code search, quality and verification reports, repo hotspots/co-changes, and structured findings/learnings.
    1,737
    1,054
    Business Source 1.1

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jamesdsizemore/rush-cli'

If you have feedback or need assistance with the MCP directory API, please join our Discord server