ditto
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.
它会碰到什么
这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。
技能内容
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.
- Share the card or a short trait, not the full private profile or receipt appendix.
Limitations
- Ditto models working behavior; it does not make the underlying model smarter.
- Sparse or repetitive histories can leave design or writing domains inactive.
- Provider system prompts, tool traffic, and billing overhead are outside Ditto's exact token accounting.
- Quick preview has lower recall than the full-history quality default.
- Automatic work, design, and writing routing requires the upstream native plugin.
Security & Safety Notes
- This skill does not download executable code; it requires an existing trusted Ditto installation.
- Extraction, redaction, caches, and generated profiles stay local. Selected redacted text is processed by the model provider the user chooses.
- Redaction is best-effort. Tell the user to inspect private output before sharing it.
- Never upload session logs or full profiles to a third party without explicit user approval.
- Installation itself schedules no mining model calls; every prepared mining mode still requires approval of its displayed plan.
Common Pitfalls
- Problem: No eligible sessions are found.
Solution: Report the supported source locations that were checked and ask whether the user has retained or exported session history.
- Problem: The approval hash changed.
Solution: Do not reuse the old approval. Show the updated plan and obtain approval again.
- Problem: A cached or reduced report fails validation.
Solution: Stop, preserve the failure evidence, and never activate the incomplete pack.
Related Skills
@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.
想直接用这个技能?
本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。
它属于哪个仓库
plugins/agentic-awesome-skills/skills/ditto/SKILL.md同一个仓库里的其他技能
同名技能的其他版本
有 3 个不同仓库或目录里都有叫 ditto 的技能。它们内容并不相同,别混用:
- sickn33/agentic-awesome-skills — Use when a user asks to mine or update a private, evidence-backed work profile from local
- sickn33/agentic-awesome-skills — Use when a user asks to mine or update a private, evidence-backed work profile from local