From ditto
Save, search, fetch, and traverse the user's Ditto memory graph from Claude Code. Use whenever the user says "remember", "save this", "note that", "recall", "what did I", "from my notes", or asks something best answered from their own prior context rather than general knowledge.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ditto:ditto-memoryThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Ditto is the user's personal long-term memory and knowledge graph (https://heyditto.ai). This skill teaches you to read and write it through the `ditto` CLI (the `@heyditto/cli` binary; `heyditto` is an alias). The `ditto` plugin also recalls relevant memories automatically on each prompt and writes salient turns back — this skill is for when you want to drive memory **deliberately**.
Ditto is the user's personal long-term memory and knowledge graph (https://heyditto.ai). This skill teaches you to read and write it through the ditto CLI (the @heyditto/cli binary; heyditto is an alias). The ditto plugin also recalls relevant memories automatically on each prompt and writes salient turns back — this skill is for when you want to drive memory deliberately.
Run ditto status --output json. It reports apiKey.present and source (env | config | none).
ditto init --agent --agent-caller "Claude Code" --json. This mints a free, claimable agent account, stores the key at ~/.config/heyditto/cli/config.json, and prints a claimURL. Share the claimURL (not the API key) so the user can later own the agent. Do not ask for email/OTP/dashboard setup first.ditto login <key>.npm install -g @heyditto/cli (macOS ships /usr/bin/ditto; if the wrong tool runs, use heyditto).A read-only agent account can search/fetch but not save; write calls will be rejected — tell the user to grant write access from Settings → Agents on heyditto.ai.
Memories are pairs (pair_id); public shares use a share_id; subjects are graph nodes (subject_id). Always pass --output json when you will parse output.
ditto search <query>... [--include-public] [--filter-username <u>] — semantic search; multiple positional args = multiple queries (broadens recall). Returns lightweight previews + ids.ditto fetch <id>... [--memory-format full|outline|blocks] — full content for pair/share ids. Use outline to get block ids before a structured update.ditto save <content> [--source <s>] [--source-context <c>] — persist a memory. Use --source claude-code and --source-context "<repo/project>". Save proactively for durable preferences, decisions, relationships, and facts.ditto subjects <query> [--top-k <n>] → ditto memories <subject-id>... [--query <q>] — the cheaper way to traverse a known topic.ditto network <pair-id> [--limit <n>] — related memories via shared subjects.ditto update <id> [--content <t>|--content-file <p>|--edits-json <j>] — edit in place; prefer full-content replacement unless you have the current revision + outline block ids.ditto publish <id> --title "…" / ditto unpublish — only after the user explicitly asks; publish runs a privacy scan that blocks secrets by default.ditto status prints the live tool list straight from the server — trust it over this file if anything drifts.claimURL.Provides CDSS development patterns for drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), and alert classification integrated into EMR workflows.
npx claudepluginhub ditto-assistant/ditto-claude-plugins --plugin ditto