Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when a user asks to mine or update a private, evidence-backed work profile from local Claude Code, Codex, Copilot CLI, or OpenCode sessions.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 117% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -29% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 101% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -3% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 24% | 0% |
Ditto mines only the user's words from real local coding-agent session logs and turns repeated, supported patterns into private work, design, and writing profiles. It keeps dated session receipts, rejects authored rules and memory as source evidence, and requires approval before model-backed mining begins.
This standalone skill routes a compatible, already-installed Ditto runtime. Native namespaced routing is available through the upstream Ditto plugin.
ditto:mine is unavailable and the user already has a compatible Ditto runtime installed.Do not trigger this skill merely because personalization might be useful. Mining requires an explicit user request.
Ask the user for the path to an existing, trusted Ditto runtime, or use the native upstream plugin when it is already installed. Retain the exact Python 3 executable path as PYTHON3, the runtime path as DITTO_PY, and its matching MINING_PROMPT.md path. Confirm the installed version and source before use.
Do not download or install executable code as part of this skill. If Ditto is not installed, stop and direct the user to the upstream installation guidance; installation is a separate, explicit decision.
Mine only real user-authored sessions. Never synthesize a profile from AGENTS.md, CLAUDE.md, memory files, rules files, or a typed self-description.
Run the full-history quality-default preflight:
bash"$PYTHON3" "$DITTO_PY" plugin preflight
Show the user the valid session count, post-dedupe source tokens, selected source tokens, cache hits, planned worker calls, and planned reducer calls. Wait for explicit approval of this displayed plan before any model-backed work.
If the user explicitly asks for a quick preview, add --preview and say exactly:
> Quick preview creates a starter profile from selected history, not the full profile.
Never present preview as the default or as equivalent to the full-history result.
Retain the displayed approval_hash, then prepare with the exact approved mode. For the full-history plan, run:
bash"$PYTHON3" "$DITTO_PY" plugin prepare --approved-plan-hash HASH
For an approved quick-preview plan, preserve preview mode explicitly:
bash"$PYTHON3" "$DITTO_PY" plugin prepare --preview --approved-plan-hash HASH
If the hash changes, show the new plan and obtain approval again. Retain the returned run_id, assigned segment and report paths, and pack_path.
For every uncached selected segment, run one worker over only that segment and the per-segment contract in the resolved MINING_PROMPT.md. Cache each JSON report with plugin cache-report and stop on rejection.
Run one strongest-available reducer over only the validated reports and reducer contract. Write the complete pack to pack_path, validate it, and activate only the validated pack with plugin activate.
Run plugin status, render the profile card, and report:
If the current host already has the native Ditto plugin, do not create a competing direct profile installation.
textUser: run ditto on my coding history Agent: resolves the pinned runtime, shows the read-only full-history plan, and waits for explicit cost approval before starting any mining workers.
textUser: give me a cheap ditto preview first Agent: runs preflight with --preview, labels it as a starter profile, and waits for approval of the displayed preview plan.
Solution: Report the supported source locations that were checked and ask whether the user has retained or exported session history.
Solution: Do not reuse the old approval. Show the updated plan and obtain approval again.
Solution: Stop, preserve the failure evidence, and never activate the incomplete pack.
@agenttrace-session-audit - Use for cost, latency, failure, and health analysis of coding-agent sessions.@agent-memory - Use for explicit persistent knowledge storage rather than evidence-based profile mining.Other measured skills in the registry, with their headline benchmark lift.