Hybrid code audit system powered by GitHub Copilot and MCP. Exposes audit tools for analyzing code quality, security, architecture, testing, performance, documentation, and other domains.
Inspectra exposes 31 tools with consistent naming (verb_noun pattern: inspectra_scan_*, inspectra_check_*) and basic descriptions. However, critical gaps undermine production readiness: (1) Most tool descriptions are 40-80 chars, below the 50-200 char LLM-optimized baseline, lacking WHEN/WHY context. (2) Parameter descriptions are minimal or absent; 'responseFormat' and 'profile' lack guidance on valid values or format. (3) No output schemas documented, LLMs cannot predict response structure for downstream chaining. (4) No error handling guidance; tools offer no recovery hints. (5) Pagination parameters (limit, offset) present but no total_count or next_cursor documented. (6) Tools 28-31 (merger, renderer, adapter) have array inputs but no item schema details. Average per-tool score: 42/100.
Adapt findings to different output formats and contexts
Analyze bundle size and identify optimization opportunities
Analyze cyclomatic complexity and identify overly complex code
Analyze project dependencies and their relationships
Check templates and UI for accessibility compliance
Check for Architecture Decision Records (ADRs) in the project
Identify unused exports and dead code
Tool descriptions are 30-80 characters, well below the 50-200 char LLM-optimized baseline. Descriptions lack WHEN/WHY context, forcing LLMs to guess when to invoke each tool. E.g., 'Scan project for exposed secrets, API keys, and credentials' (56 chars) does not explain prerequisites, output format, or when to call it vs. other security tools.
No output schemas documented. Tools return findings arrays but LLMs cannot predict field names, types, or structure. This breaks tool chaining, e.g., inspectra_render_findings expects 'findings' array but no schema specifies what each finding object contains (id, severity, file, line, message, etc.).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | 2025-06-18+ | v2 |
Check for stale or outdated dependencies
Check dependencies for known vulnerabilities
Check for files exceeding maximum length thresholds
Check for functions exceeding maximum length thresholds
Check for governance policies and compliance
Check for internationalization (i18n) implementation and hardcoded strings
Verify architectural layering and module boundaries
Detect magic numbers in code that should be named constants
Check naming conventions across the codebase
Check for observability instrumentation (logging, metrics, tracing)
Check for functions with excessive parameter counts
Check README for completeness and required sections
Verify REST API conventions and best practices
Analyze security configuration and identify misconfigurations
Find TODO, FIXME, and other code markers that indicate incomplete work
Check for UX consistency across the application
Detect circular dependencies in the project
Detect code smells and anti-patterns
Detect usage of deprecated APIs and libraries
Detect drift between documentation and actual code implementation
Detect code that lacks test coverage
Merge and deduplicate findings from multiple audit runs
Render findings in various formats (HTML, Markdown, JSON)
Scan project for exposed secrets, API keys, and credentials
Parameter descriptions are missing or trivial. 'responseFormat' appears in 27 tools but is never described, valid values (json vs text) are not documented. 'profile' parameter (tools 5, 8, 9, 10, 18) lacks guidance on available profiles or format. LLMs cannot infer valid values.
Pagination parameters (limit, offset) present but no total_count, next_cursor, or has_more documented in output. LLMs cannot determine if more results exist or how to fetch the next page. Violates paginated-result pattern.
No error handling guidance. Tools offer no recovery hints (e.g., 'If projectDir not found, try search_projects() first'). Error responses will not guide LLM recovery, forcing blind retries or dead-ends.