Structured session analysis for Claude Code — analyzes Claude Code JSONL logs to generate work recaps, search sessions, provide workflow tips, cost analysis, and suggest CLAUDE.md improvements
Retroscope has 7 well-named tools with consistent verb_noun patterns (retroscope_*). All tools have descriptions (avg ~120 chars, within baseline 34-392 range). Input schemas are present with typed parameters and descriptions. However, output schemas are NOT documented, responses are free-text strings with no structured field definitions. Parameter descriptions are adequate but lack format constraints (e.g., 'since' accepts '24h, 3d, 7d, or ISO date' but no regex/enum). Error handling is absent, no guidance on what to do if indexing fails or queries return empty. Security is reasonable (read-only tools, one write tool clearly marked), but no permission gates or audit trail hints. Composition is sound, each tool has one responsibility, though some could batch operations.
Analyze token usage and suggest cost-reduction tips (offline).
Suggest CLAUDE.md rules from recurring friction in past sessions (offline). Detects recurring build/test errors and repeated user course-corrections, then maps each pattern to a candidate instruction-file rule. Suggestions are heuristic and are never written automatically — review before applying.
Rebuild the Retroscope index from Claude Code JSONL logs.
Full-text search across indexed Claude Code session contents.
Generate a structured work recap from indexed Claude Code sessions.
Show Retroscope index status (sessions, events, pending ingest).
Output schemas not documented. All tools return free-text strings (e.g., format_standup, format_search return str). LLMs cannot parse structured fields or plan downstream calls. Responses should document field names, types, and structure.
Parameter 'since' lacks format constraints. Description says '24h, 3d, 7d, or ISO date' but no enum or regex. LLMs may pass invalid formats like '2 weeks' or '1month'. Add enum or pattern constraint.
No error handling guidance. If index is empty, reindex fails, or query returns no results, tools return plain strings with no recovery hints. Add error classification and actionable next steps.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Analyze workflow patterns and suggest actionable improvements (offline).
retroscope_reindex is destructive (WRITE) but lacks confirmation or dry-run support. Agents could accidentally rebuild the index without warning. Add a 'dry_run' parameter or confirmation step.
Parameter 'focus' in tips/cost_tips/improve accepts free-form strings. Description lists examples ('prompting, skills, sessions, planning') but no enum. LLMs may pass invalid categories. Use enum constraint.