AgentStack
SKILL verified MIT Self-run

Ditto

skill-ohad6k-ditto-skill · by ohad6k

Mine your own AI coding-session history into a "you.md" — a model of how you decide, talk, work, and get stuck — that your agents read before every task so they act like you instead of a stranger. Use when someone wants to clone their working style, build a personal agent profile, generate a you.md / AGENTS.md from their real history, or "make my agent act like me." Runs 100% local; redacts secre…

No reviews yet
0 installs
20 views
0.0% view→install

Install

$ agentstack add skill-ohad6k-ditto-skill

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README — it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-ohad6k-ditto-skill)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
25d ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming — see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps — measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Ditto? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

ditto

Turn the user's own AI session logs into a you.md they can drop into .claude/skills/, .codex/skills/, AGENTS.md, or cursor rules. Runs locally, redacts secrets by default. This skill orchestrates the whole flow so the user never touches python or a manual step.

The one rule that makes this ditto (read first)

The profile MUST be mined from the user's raw session logs (the .jsonl history). NEVER build it from their AGENTS.md, CLAUDE.md, cursor rules, memory files, or a description they type — that just reflects their existing rules back at them, which is the exact opposite of the point and something /init already does. The whole value of ditto is pulling out what they never wrote down, straight from how they actually worked.

So: run ditto.py on the real logs first. If it finds no logs, STOP and ask where the logs are (--path ). Do not fall back to summarizing instructions. No mined logs → no profile. If you ever produce a profile without having run the extractor over real session .jsonl, you have failed the task — say so instead of shipping a fake.

Steps

  1. Extract (deterministic, safe). Run the bundled extractor. It reads the user's session logs, keeps only their own words, and redacts API keys / tokens / emails / phone numbers BEFORE anything is written. Never skip redaction.

`` python /../ditto.py --chunks 20 --out ditto-out ` If no logs are found, **STOP and ask** where their logs live (pass --path `). Do not proceed without real logs, and never build a profile from their instructions instead. The counts it prints (sessions / messages / tokens / redactions) are your proof it actually read the logs — report them; if sessions is 0, you have nothing to mine.

  1. Mine (fan-out). Spawn one sub-agent per file in ditto-out/chunks/, each running the per-chunk prompt from MINING_PROMPT.md on its chunk. Run them in parallel. Each returns a structured profile of one slice.
  • If the environment can't fan out sub-agents, process chunks sequentially instead — same prompt, one at a time.
  1. Reduce. Merge all the chunk reports with the reducer prompt in MINING_PROMPT.md. Rank every trait by how many chunks independently surfaced it — high-frequency traits are the real person, one-offs are noise. Output a lean you.md (deep quotes go in a separate you-appendix.md, not in you.md).
  1. Install + prove. The you.md already starts with name: / description: frontmatter, so it's skill-ready. Place it where the user's agent actually reads it, per their tool, then verify it registered:
  • Claude Code → save as .claude/skills/you/SKILL.md. Confirm it shows in the skill list (invoke /you). For it to load in every project, put it in the user-level ~/.claude/skills/you/SKILL.md.
  • Codex native skill - save as ~/.codex/skills/you/SKILL.md. Confirm it appears in Codex's available skills, or open a new Codex session and verify you is loaded before relying on it.
  • Codex repo context - append the body (everything below the frontmatter) to AGENTS.md at the repo root. Codex reads it automatically, no frontmatter needed. Use this when the profile should apply only to one repo.
  • Cursor → save as .cursor/rules/you.mdc, with frontmatter description: act like me and alwaysApply: true, then the body.
  • Gemini CLI → append the body to GEMINI.md.

Then prove it: run one real task once without the file and once with it loaded, so the user sees the agent act more like them. Do not claim it's installed until you've confirmed the agent actually picks it up.

Rules

  • Local only. No network calls. The user's logs never leave their machine. Say so.
  • Redaction is not optional. If the user asks for --no-redact, warn them their secrets will appear in the corpus and any shared output.
  • Don't invent traits. Every line in you.md must trace to something they actually wrote in the logs. Cut generic filler.
  • Mine the logs or stop. The profile comes ONLY from the raw session .jsonl. Never synthesize it from AGENTS.md / CLAUDE.md / memory / a description — that is not ditto, it is their rules file reflected back.
  • Keep you.md lean — it loads on every task.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.