ditto
Helps your agent create or update a work profile based on your past activities. It uses info from your coding sessions to build a history.
What it does
Ditto creates a private work profile based on your past coding session conversations. It analyzes what you've written and identifies patterns to build a summary of your work.
When to use it
- ✓When you want to create a professional profile from your coding history.
- ✓When you want to update an existing profile with new information.
- ✓When you need a summary of your work based on real evidence.
Example of what to ask your AI
“Create a work profile from my coding history.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
Ditto finds your coding session logs, analyzes the text you've written, and after your approval, creates a profile based on the patterns found.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add sickn33/agentic-awesome-skills --skill dittoOr download just the file:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/ditto/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
Ditto
Overview
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.
When to Use This Skill
- Use when the user explicitly asks to set up, run, update, re-mine, or deepen Ditto.
- Use when the user wants an agent profile derived from real coding-session history rather than a questionnaire or rules file.
- Use when native
ditto:mineis 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.
How It Works
1. Resolve an installed runtime
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.
2. Show the read-only mining plan
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:
"$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.
3. Prepare the approved run
Retain the displayed approval_hash, then prepare with the exact approved mode.
For the full-history plan, run:
"$PYTHON3" "$DITTO_PY" plugin prepare --approved-plan-hash HASH
For an approved quick-preview plan, preserve preview mode explicitly:
"$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.
4. Mine and validate evidence
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.
5. Verify and report
Run plugin status, render the profile card, and report:
- active version and core profile path
- active and inactive domains
- selected source tokens and actual worker/reducer passes
- cache reuse
- card path
- any exact targeted-deepen instruction
If the current host already has the native Ditto plugin, do not create a competing direct profile installation.
Examples
Full-history setup
User: 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.
Explicit quick preview
User: 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.
Best Practices
- Keep raw sessions, caches, receipts, and generated profiles private by default.
- Report exact observed counts and paths; never estimate provider billing or coverage.
- Preserve the approval hash and mode through the complete run.
- Stop on validation failure instead of activating a partial profile.
…
FAQ
What are 'coding sessions'?
These are the records of your interactions with programming tools like Claude Code, Codex, or Copilot CLI.
Does Ditto collect my personal information?
Ditto only analyzes the text you've written in coding sessions and keeps everything local. It does not collect personal information outside of these sessions.
Do I need to install anything to use Ditto?
Yes, you need to have a trusted Ditto 'runtime' (a program) already installed on your computer. This tool helps use what's already installed.
Details
Original description by the author
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.
Popularity
- GitHub stars
- 48k
- Ranking position
- #2853
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
00-andruia-consultant
Helps your agent start or improve AI projects. It analyzes code, suggests tools, and creates action plans in Spanish.
sickn33/agentic-awesome-skills
007
Lets your agent perform security audits and threat modeling. It's useful for protecting projects against attacks and vulnerabilities.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Helps your agent create or improve AI tools. It defines how tools work, writes documentation, and validates the structure.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Lets your agent create a summary about a specific industry. It's useful for understanding the context, rules, usage patterns, and risks of a project, using reliable sources.
sickn33/agentic-awesome-skills
Similar skills
deep-research
Lets your agent research topics in depth, gathering information from multiple sources. It cites sources and indicates confidence levels. Ideal for deep dives or investigations.
affaan-m/ECC
research-ops
Lets your agent find current facts and information. It uses public research and the context you provide to give evidence-based answers.
affaan-m/ECC
scientific-thinking-literature-review
Helps your agent conduct systematic reviews of scientific literature. It's useful for compiling and understanding research on a topic.
affaan-m/ECC