[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6P1S4RKPDWS2KAANQRJYZWW":3,"skill-same:01M6P1S4RKPDWS2KAANQRJYZWW":73},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":53,"commitSha":54,"skillDirectory":55,"forksCount":13,"repositoryHtmlUrl":56,"repositoryHomepageUrl":6,"ownerHtmlUrl":57,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":58,"install":59,"resources":72},"01M6P1S4RKPDWS2KAANQRJYZWW","ditto",null,"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.","duc-duy-1612\u002FOnline-Delivery-Systems-Web","duc-duy-1612","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F192231384?v=4","01M6NSDKQQDKVTHZ8DZMZ1VYY6","01M6NSDKW8DDVTQHBT1HBDDJPT",0,"MIT","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fditto\u002FSKILL.md",[],[5,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36],"opencode","mining","mine","critical","local","personalization","community","context-engineering","agent-memory","cli","evidence","v0","context","work","code","update","copilot","memory","gemini","2026-11-10 10:12:30",false,"---\nname: ditto\ndescription: \"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.\"\ncategory: agent-behavior\nrisk: critical\nsource: community\nsource_repo: ohad6k\u002Fditto\nsource_type: community\ndate_added: \"2026-07-14\"\nauthor: ohad6k\ntags: [personalization, context-engineering, session-mining, agent-memory]\ntools: [claude, cursor, gemini, codex-cli]\nlicense: \"MIT\"\nlicense_source: \"https:\u002F\u002Fgithub.com\u002Fohad6k\u002Fditto\u002Fblob\u002Fv0.3.6\u002FLICENSE\"\n---\n\n# Ditto\n\n## Overview\n\nDitto mines only the user's words from real local coding-agent session logs and\nturns repeated, supported patterns into private work, design, and writing\nprofiles. It keeps dated session receipts, rejects authored rules and memory as\nsource evidence, and requires approval before model-backed mining begins.\n\nThis standalone skill routes a compatible, already-installed Ditto runtime.\nNative namespaced routing is available through the upstream Ditto plugin.\n\n## When to Use This Skill\n\n- Use when the user explicitly asks to set up, run, update, re-mine, or deepen Ditto.\n- Use when the user wants an agent profile derived from real coding-session history rather than a questionnaire or rules file.\n- Use when native `ditto:mine` is unavailable and the user already has a compatible Ditto runtime installed.\n\nDo not trigger this skill merely because personalization might be useful. Mining\nrequires an explicit user request.\n\n## How It Works\n\n### 1. Resolve an installed runtime\n\nAsk the user for the path to an existing, trusted Ditto runtime, or use the\nnative upstream plugin when it is already installed. Retain the exact Python 3\nexecutable path as `PYTHON3`, the runtime path as `DITTO_PY`, and its matching\n`MINING_PROMPT.md` path. Confirm the installed version and source before use.\n\nDo not download or install executable code as part of this skill. If Ditto is\nnot installed, stop and direct the user to the upstream installation guidance;\ninstallation is a separate, explicit decision.\n\n### 2. Show the read-only mining plan\n\nMine only real user-authored sessions. Never synthesize a profile from\n`AGENTS.md`, `CLAUDE.md`, memory files, rules files, or a typed self-description.\n\nRun the full-history quality-default preflight:\n\n```bash\n\"$PYTHON3\" \"$DITTO_PY\" plugin preflight\n```\n\nShow the user the valid session count, post-dedupe source tokens, selected source\ntokens, cache hits, planned worker calls, and planned reducer calls. Wait for\nexplicit approval of this displayed plan before any model-backed work.\n\nIf the user explicitly asks for a quick preview, add `--preview` and say exactly:\n\n> Quick preview creates a starter profile from selected history, not the full profile.\n\nNever present preview as the default or as equivalent to the full-history result.\n\n### 3. Prepare the approved run\n\nRetain the displayed `approval_hash`, then prepare with the exact approved mode.\nFor the full-history plan, run:\n\n```bash\n\"$PYTHON3\" \"$DITTO_PY\" plugin prepare --approved-plan-hash HASH\n```\n\nFor an approved quick-preview plan, preserve preview mode explicitly:\n\n```bash\n\"$PYTHON3\" \"$DITTO_PY\" plugin prepare --preview --approved-plan-hash HASH\n```\n\nIf the hash changes, show the new plan and obtain approval again. Retain the\nreturned `run_id`, assigned segment and report paths, and `pack_path`.\n\n### 4. Mine and validate evidence\n\nFor every uncached selected segment, run one worker over only that segment and\nthe per-segment contract in the resolved `MINING_PROMPT.md`. Cache each JSON\nreport with `plugin cache-report` and stop on rejection.\n\nRun one strongest-available reducer over only the validated reports and reducer\ncontract. Write the complete pack to `pack_path`, validate it, and activate only\nthe validated pack with `plugin activate`.\n\n### 5. Verify and report\n\nRun `plugin status`, render the profile card, and report:\n\n- active version and core profile path\n- active and inactive domains\n- selected source tokens and actual worker\u002Freducer passes\n- cache reuse\n- card path\n- any exact targeted-deepen instruction\n\nIf the current host already has the native Ditto plugin, do not create a\ncompeting direct profile installation.\n\n## Examples\n\n### Full-history setup\n\n```text\nUser: run ditto on my coding history\nAgent: resolves the pinned runtime, shows the read-only full-history plan, and\nwaits for explicit cost approval before starting any mining workers.\n```\n\n### Explicit quick preview\n\n```text\nUser: give me a cheap ditto preview first\nAgent: runs preflight with --preview, labels it as a starter profile, and waits\nfor approval of the displayed preview plan.\n```\n\n## Best Practices\n\n- Keep raw sessions, caches, receipts, and generated profiles private by default.\n- Report exact observed counts and paths; never estimate provider billing or coverage.\n- Preserve the approval hash and mode through the complete run.\n- Stop on validation failure instead of activating a partial profile.\n- Share the card or a short trait, not the full private profile or receipt appendix.\n\n## Limitations\n\n- Ditto models working behavior; it does not make the underlying model smarter.\n- Sparse or repetitive histories can leave design or writing domains inactive.\n- Provider system prompts, tool traffic, and billing overhead are outside Ditto's exact token accounting.\n- Quick preview has lower recall than the full-history quality default.\n- Automatic work, design, and writing routing requires the upstream native plugin.\n\n## Security & Safety Notes\n\n- This skill does not download executable code; it requires an existing trusted Ditto installation.\n- Extraction, redaction, caches, and generated profiles stay local. Selected redacted text is processed by the model provider the user chooses.\n- Redaction is best-effort. Tell the user to inspect private output before sharing it.\n- Never upload session logs or full profiles to a third party without explicit user approval.\n- Installation itself schedules no mining model calls; every prepared mining mode still requires approval of its displayed plan.\n\n## Common Pitfalls\n\n- **Problem:** No eligible sessions are found.\n\n  **Solution:** Report the supported source locations that were checked and ask whether the user has retained or exported session history.\n\n- **Problem:** The approval hash changed.\n\n  **Solution:** Do not reuse the old approval. Show the updated plan and obtain approval again.\n\n- **Problem:** A cached or reduced report fails validation.\n\n  **Solution:** Stop, preserve the failure evidence, and never activate the incomplete pack.\n\n## Related Skills\n\n- `@agenttrace-session-audit` - Use for cost, latency, failure, and health analysis of coding-agent sessions.\n- `@agent-memory` - Use for explicit persistent knowledge storage rather than evidence-based profile mining.\n","# Ditto\n\n## Overview\n\nDitto mines only the user's words from real local coding-agent session logs and\nturns repeated, supported patterns into private work, design, and writing\nprofiles. It keeps dated session receipts, rejects authored rules and memory as\nsource evidence, and requires approval before model-backed mining begins.\n\nThis standalone skill routes a compatible, already-installed Ditto runtime.\nNative namespaced routing is available through the upstream Ditto plugin.\n\n## When to Use This Skill\n\n- Use when the user explicitly asks to set up, run, update, re-mine, or deepen Ditto.\n- Use when the user wants an agent profile derived from real coding-session history rather than a questionnaire or rules file.\n- Use when native `ditto:mine` is unavailable and the user already has a compatible Ditto runtime installed.\n\nDo not trigger this skill merely because personalization might be useful. Mining\nrequires an explicit user request.\n\n## How It Works\n\n### 1. Resolve an installed runtime\n\nAsk the user for the path to an existing, trusted Ditto runtime, or use the\nnative upstream plugin when it is already installed. Retain the exact Python 3\nexecutable path as `PYTHON3`, the runtime path as `DITTO_PY`, and its matching\n`MINING_PROMPT.md` path. Confirm the installed version and source before use.\n\nDo not download or install executable code as part of this skill. If Ditto is\nnot installed, stop and direct the user to the upstream installation guidance;\ninstallation is a separate, explicit decision.\n\n### 2. Show the read-only mining plan\n\nMine only real user-authored sessions. Never synthesize a profile from\n`AGENTS.md`, `CLAUDE.md`, memory files, rules files, or a typed self-description.\n\nRun the full-history quality-default preflight:\n\n```bash\n\"$PYTHON3\" \"$DITTO_PY\" plugin preflight\n```\n\nShow the user the valid session count, post-dedupe source tokens, selected source\ntokens, cache hits, planned worker calls, and planned reducer calls. Wait for\nexplicit approval of this displayed plan before any model-backed work.\n\nIf the user explicitly asks for a quick preview, add `--preview` and say exactly:\n\n> Quick preview creates a starter profile from selected history, not the full profile.\n\nNever present preview as the default or as equivalent to the full-history result.\n\n### 3. Prepare the approved run\n\nRetain the displayed `approval_hash`, then prepare with the exact approved mode.\nFor the full-history plan, run:\n\n```bash\n\"$PYTHON3\" \"$DITTO_PY\" plugin prepare --approved-plan-hash HASH\n```\n\nFor an approved quick-preview plan, preserve preview mode explicitly:\n\n```bash\n\"$PYTHON3\" \"$DITTO_PY\" plugin prepare --preview --approved-plan-hash HASH\n```\n\nIf the hash changes, show the new plan and obtain approval again. Retain the\nreturned `run_id`, assigned segment and report paths, and `pack_path`.\n\n### 4. Mine and validate evidence\n\nFor every uncached selected segment, run one worker over only that segment and\nthe per-segment contract in the resolved `MINING_PROMPT.md`. Cache each JSON\nreport with `plugin cache-report` and stop on rejection.\n\nRun one strongest-available reducer over only the validated reports and reducer\ncontract. Write the complete pack to `pack_path`, validate it, and activate only\nthe validated pack with `plugin activate`.\n\n### 5. Verify and report\n\nRun `plugin status`, render the profile card, and report:\n\n- active version and core profile path\n- active and inactive domains\n- selected source tokens and actual worker\u002Freducer passes\n- cache reuse\n- card path\n- any exact targeted-deepen instruction\n\nIf the current host already has the native Ditto plugin, do not create a\ncompeting direct profile installation.\n\n## Examples\n\n### Full-history setup\n\n```text\nUser: run ditto on my coding history\nAgent: resolves the pinned runtime, shows the read-only full-history plan, and\nwaits for explicit cost approval before starting any mining workers.\n```\n\n### Explicit quick preview\n\n```text\nUser: give me a cheap ditto preview first\nAgent: runs preflight with --preview, labels it as a starter profile, and waits\nfor approval of the displayed preview plan.\n```\n\n## Best Practices\n\n- Keep raw sessions, caches, receipts, and generated profiles private by default.\n- Report exact observed counts and paths; never estimate provider billing or coverage.\n- Preserve the approval hash and mode through the complete run.\n- Stop on validation failure instead of activating a partial profile.\n- Share the card or a short trait, not the full private profile or receipt appendix.\n\n## Limitations\n\n- Ditto models working behavior; it does not make the underlying model smarter.\n- Sparse or repetitive histories can leave design or writing domains inactive.\n- Provider system prompts, tool traffic, and billing overhead are outside Ditto's exact token accounting.\n- Quick preview has lower recall than the full-history quality default.\n- Automatic work, design, and writing routing requires the upstream native plugin.\n\n## Security & Safety Notes\n\n- This skill does not download executable code; it requires an existing trusted Ditto installation.\n- Extraction, redaction, caches, and generated profiles stay local. Selected redacted text is processed by the model provider the user chooses.\n- Redaction is best-effort. Tell the user to inspect private output before sharing it.\n- Never upload session logs or full profiles to a third party without explicit user approval.\n- Installation itself schedules no mining model calls; every prepared mining mode still requires approval of its displayed plan.\n\n## Common Pitfalls\n\n- **Problem:** No eligible sessions are found.\n\n  **Solution:** Report the supported source locations that were checked and ask whether the user has retained or exported session history.\n\n- **Problem:** The approval hash changed.\n\n  **Solution:** Do not reuse the old approval. Show the updated plan and obtain approval again.\n\n- **Problem:** A cached or reduced report fails validation.\n\n  **Solution:** Stop, preserve the failure evidence, and never activate the incomplete pack.\n\n## Related Skills\n\n- `@agenttrace-session-audit` - Use for cost, latency, failure, and health analysis of coding-agent sessions.\n- `@agent-memory` - Use for explicit persistent knowledge storage rather than evidence-based profile mining.\n",{"name":5,"risk":21,"tags":42,"tools":44,"author":48,"source":24,"license":14,"category":49,"date_added":50,"description":7,"source_repo":51,"source_type":24,"license_source":52},[23,25,43,26],"session-mining",[45,46,36,47],"claude","cursor","codex-cli","ohad6k","agent-behavior","2026-07-14","ohad6k\u002Fditto","https:\u002F\u002Fgithub.com\u002Fohad6k\u002Fditto\u002Fblob\u002Fv0.3.6\u002FLICENSE","main","f3312ba749561b6159f477dbfc9313c875d40a56",".agents\u002Fskills_archive\u002Fditto","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612","2026-10-25 23:50:58",{"source":8,"skillName":5,"commands":60,"prompt":70,"zipAvailable":71},[61,64,67],{"tool":62,"command":63},"npx","npx skills add duc-duy-1612\u002FOnline-Delivery-Systems-Web --skill ditto",{"tool":65,"command":66},"bunx","bunx skills add duc-duy-1612\u002FOnline-Delivery-Systems-Web --skill ditto",{"tool":68,"command":69},"pnpm","pnpm dlx skills add duc-duy-1612\u002FOnline-Delivery-Systems-Web --skill ditto","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fditto\u002FSKILL.md",true,[],[74,102,125,149,176,199],{"skillNo":75,"name":76,"nameZh":6,"description":77,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":85,"publishedAt":37},"01M6Q0FA5FZ410Z33Z3TFQ4DBA","zero-trust","Implement zero-trust network architecture. Configure identity-based access, micro-segmentation, and continuous verification. Use when implementing modern security architectures.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fzero-trust\u002FSKILL.md",[80],{"categoryNo":81,"categoryName":82,"taxonomyType":83,"taxonomyTypeDesc":84},"01JBSEEDCAT000000000000011","运维与部署","SCENARIO","使用场景",[86,87,88,89,90,91,76,92,93,94,95,96,24,53,97,21,98,99,100,101],"ZeRO","trust","zero trust","architecture","assessment","verification","segmentation","devops-security","access","configure","only","active","scope","scripts","relevant","implementing",{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":108,"publishedAt":37},"01M6Q0F1YZJW3KX5FBKEVZ8CV4","zcode-delegate","Delegate coding tasks to the Z.AI ZCode CLI only when the user explicitly requests it, while the orchestrator retains review and landing responsibility.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fzcode-delegate\u002FSKILL.md",[],[109,110,111,112,27,113,114,115,116,117,118,119,120,96,121,24,122,123,21,124],"delegate","zcode","zcode delegate","review","orchestration","tasks","run","Bash","model","node","read","orchestrator","files","desktop app","app","agent-orchestration",{"skillNo":126,"name":127,"nameZh":6,"description":128,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":129,"categories":130,"keywords":131,"publishedAt":37},"01M6Q0ETK41VGNMYEXW0T00AJN","youtube-transcript","Fetch YouTube transcripts through DeepAPI or local fallback tooling and save clean text output.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-transcript\u002FSKILL.md",[],[132,133,134,135,136,137,138,139,140,141,142,143,144,24,53,22,145,146,147,148],"transcript","youtube transcript","youtube","safe","github","codex","research","license","https","text","fetch","tooling","clean","output","deepapi","youtube transcripts","blob",{"skillNo":150,"name":151,"nameZh":6,"description":152,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":153,"categories":154,"keywords":166,"publishedAt":37},"01M6Q0EPPH2PVMDW40017F8WX0","youtube-transcript-skills","Fetch YouTube video transcripts, search videos\u002Fchannels, browse channels, and extract playlists via the getyoutubetranscript.com API - free tier, no card required.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-transcript-skills\u002FSKILL.md",[155,158,161],{"categoryNo":156,"categoryName":157,"taxonomyType":83,"taxonomyTypeDesc":84},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":159,"categoryName":160,"taxonomyType":83,"taxonomyTypeDesc":84},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":162,"categoryName":163,"taxonomyType":164,"taxonomyTypeDesc":165},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[132,133,134,167,135,36,136,137,139,168,169,170,171,142,172,24,53,173,174,175],"youtube transcript skills","search","api","Video","browse","api-integration","free","card","channels",{"skillNo":177,"name":178,"nameZh":6,"description":179,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":180,"categories":181,"keywords":186,"publishedAt":37},"01M6Q0EAB96PX83W5PTE8A0R8D","youtube-notetaker","Turn YouTube talks into local study notes with slides, transcripts, editable annotations, and a markdown-backed viewer.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-notetaker\u002FSKILL.md",[182,185],{"categoryNo":183,"categoryName":184,"taxonomyType":83,"taxonomyTypeDesc":84},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":159,"categoryName":160,"taxonomyType":83,"taxonomyTypeDesc":84},[134,187,188,27,135,189,190,191,32,139,170,192,193,194,195,53,196,22,197,198],"youtube notetaker","notetaker","workflow","official","notes","markdown","slides","annotations","README","study","dair-academy","viewer",{"skillNo":200,"name":201,"nameZh":6,"description":202,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":203,"categories":204,"keywords":206,"publishedAt":37},"01M6Q0E55F0GW5MX48V8HXS8B5","youtube-full","Fetch YouTube transcripts, search videos, browse channels, and extract playlists via TranscriptAPI — no yt-dlp, no Google API key, works from any cloud server.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-full\u002FSKILL.md",[205],{"categoryNo":156,"categoryName":157,"taxonomyType":83,"taxonomyTypeDesc":84},[207,134,208,209,135,36,168,210,211,169,170,171,142,212,172,24,53,173,213,147],"youtube full","full","google","server","dlp","credits","automatic"]