self-improvement
Self-Improvement Loop Analysis
Analyze autonomous Claude Code session metrics, track improvement efforts, and monitor efficiency trends.
Prerequisites
This skill is designed for projects using an autonomous Claude Code loop with structured task tracking:
-
ralph-wiggum loop — A bash script (
ralph-wiggums-loop.sh) that runs Claude Code headlessly in a loop for N iterations. Each iteration runs Claude with--output-format stream-jsonand saves the transcript asclaude-iteration-N.jsonl. The loop handles rate-limit backoff, zombie task cleanup, and injects performance feedback from recent sessions into the next iteration's prompt. -
Beads (
bd) — A git-native, CLI-first issue tracker that stores issues in.beads/issues.jsonl. The JSONL parser detects bead commands (bd update <id> --status in_progress,bd-finish.sh) to determine which task was worked on and whether the session committed code. Sessions that runbd-finish.sh(which does git commit + push + bead close) count as "completed." -
claude-iteration-N.jsonl files — Session transcripts produced by the ralph-wiggum loop. Each file contains the full JSONL stream of a Claude Code session: assistant turns, tool calls, results, usage/cost data. The
logandbackfillcommands parse these files to extract efficiency metrics.
Without these systems in place, the log/backfill/status/analyze commands will have no data to work with. The improvement add/list/fix/search commands work standalone as a generic improvement tracker.
Quick Start
Run these commands via Bash to get the current state:
# Dashboard — recent sessions + targets
self-improvement/self-improvement status
# Deep analysis of last 10 sessions
self-improvement/self-improvement analyze --last 10
# Open improvements needing attention
self-improvement/self-improvement improvement list --status open
Available Commands
| Command | Purpose |
|---|---|
self-improvement/self-improvement status [--last N] |
Dashboard with recent sessions, trends, target comparison |
self-improvement/self-improvement analyze [--last N] |
Deep analysis, stores results, compares to previous run |
self-improvement/self-improvement targets |
Show efficiency targets and last 5 sessions vs targets |
self-improvement/self-improvement improvement list [--status open] |
List improvement records |
self-improvement/self-improvement improvement search <query> |
Search improvements by keyword |
self-improvement/self-improvement improvement add --title "..." --severity high|medium|low [--desc "..."] [--rec "..."] [--tags "..."] |
Add new improvement |
self-improvement/self-improvement improvement fix <ref_id> [--impact "..."] |
Mark improvement as fixed with measured impact |
self-improvement/self-improvement log <jsonl-file> |
Parse one iteration JSONL file into DB |
self-improvement/self-improvement backfill [--from N] [--to N] |
Bulk-parse iteration files |
self-improvement/self-improvement seed |
Populate improvements table with historical R1-R14 records |
Efficiency Targets
| Metric | Target | Description |
|---|---|---|
| Completion rate | >=85% | Sessions that commit code |
| Narration-only turns | <20% | Assistant turns with no tool calls |
| Parallel tool calls | >10% | Turns with 2+ batched tool calls |
| Turns per session | <80 | Hard budget from PROMPT.md |
Workflow: Reviewing Loop Health
If the user passes $ARGUMENTS, run that as a subcommand. Otherwise:
- Run
self-improvement/self-improvement statusto see the dashboard - Run
self-improvement/self-improvement analyze --last 10for trend analysis - Run
self-improvement/self-improvement improvement list --status openfor open issues - Present a concise summary: what's working, what's not, what to do next
- If the user wants to add or fix an improvement, use the
improvement addorimprovement fixcommands
Workflow: After a Batch of Loop Iterations
- Run
self-improvement/self-improvement backfill --from <start> --to <end>to ingest new data - Run
self-improvement/self-improvement analyze --last <count>to analyze the batch - Compare against previous analysis (the tool does this automatically)
- Review open improvements and update their status based on measured data
- File new improvements if new patterns are discovered
Database Location
SQLite database at self-improvement/self-improvement.db. Created automatically on first use.
Tables: sessions, improvements, analysis_runs.
More from ozten/skills
ui-design-iteration
Iterates on data-intensive UI designs to improve scannability, hierarchy, accessibility, and systematization. Use when improving an existing UI, reviewing a design for UX issues, or transforming a functional-but-flat interface into a polished product.
15nano-banana-image-gen
Generate images using the `imagen` CLI (Gemini and OpenAI models). Use when the user says "nano banana", "generate an image", "create an image", "make me a picture", "image gen", "draw", "illustrate", or wants to create images from text prompts.
13tpm-spec-verify
Enrich a Phase Sepc/PRD with Quality Requirements (Q-nnn) and Acceptance Criteria (AC-nnnn). Use when user wants to add QA perspective, define test criteria, identify non-functional requirements, add verification steps, or prepare a Phase PRD for test planning.
11tpm-roadmap-slice
Generate a Phase Spec/PRD by extracting features from an annotated Vision PRD. Use when user wants to create quarterly phase documentation, extract requirements from vision, plan a development phase, or decompose features into R-nnnn requirements. Requires annotated Vision PRD with F-nnn tags and Coverage Index.
10tpm-spec-trace-ids
Annotate a Spec/PRD with Feature IDs and generate a Coverage Index. Use when user wants to add spec tags to a vision document, create F-nnn identifiers, set up traceability, or initialize a PRD framework for phased development.
9idea-to-icp
Take a messy business idea and work through to structured GTM primitives — Product, ICP segments, value prop, beachhead market, and channel strategy. Use when the user shares a product idea, says 'decompose my idea', 'help me find my ICP', 'who should I sell to', 'idea to ICP', or wants to structure their go-to-market thinking.
7