← Yaps MemoryCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to Yaps Memory
Snapshot Sep 30, 2026 · 23:13 UTC · version 0.2.14
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"description": "Use the user's private local Markdown Yaps vault as a durable memory store across AI tasks. Trigger for cross-task memory, remembered facts, personal knowledge, prior context, or requests to remember, capture, retrieve, search, cite, organize, update, tag, connect, or recover notes, ideas, dictation history, meeting notes, resources, and daily notes stored in Yaps.",
"included_files": [
{
"relative_path": "scripts/yaps-cli-discovery.mjs",
"size_in_bytes": 41185
},
{
"relative_path": "scripts/yaps-plugin-launcher.cmd",
"size_in_bytes": 2113
},
{
"relative_path": "scripts/yaps-plugin-launcher.sh",
"size_in_bytes": 2128
},
{
"relative_path": "scripts/yaps-plugin-runner.mjs",
"size_in_bytes": 10993
}
],
"name": "yaps-memory",
"skill_md_contents": "---\nname: yaps-memory\ndescription: Use the user's private local Markdown Yaps vault as a durable memory store across AI tasks. Trigger for cross-task memory, remembered facts, personal knowledge, prior context, or requests to remember, capture, retrieve, search, cite, organize, update, tag, connect, or recover notes, ideas, dictation history, meeting notes, resources, and daily notes stored in Yaps.\n---\n\n# Yaps Memory\n\nUse Yaps as a private, file-backed memory layer shared between the user and the current AI client.\n\n## Choose the available transport\n\nTest capabilities instead of guessing the host from its product name or user agent:\n\n1. Prefer Yaps MCP tools such as `vault_search` and `vault_note_get` when they are available. MCP enforces Yaps Agent Access and supplies the most structured interface.\n2. If MCP is unavailable, try the skills-only CLI fallback with `vault status`.\n On macOS or Linux, locate `yaps-plugin-launcher.sh` at\n `<skill-dir>/scripts/yaps-plugin-launcher.sh`; for a full local plugin\n checkout, fall back to `<plugin-root>/scripts/yaps-plugin-launcher.sh`.\n This launcher can use Codex Desktop's bundled runtime on a clean computer\n where `node` is not installed globally. On Windows, locate the adjacent\n `yaps-plugin-launcher.cmd` instead; for a full local plugin checkout, fall\n back to `<plugin-root>/scripts/yaps-plugin-launcher.cmd`.\n3. Run the fallback on macOS or Linux as:\n\n ```text\n sh <launcher> --action vault.status --stage reachability -- yaps --pretty vault status\n ```\n\n In Windows PowerShell, run:\n\n ```text\n & \"<launcher.cmd>\" --action vault.status --stage reachability -- yaps --pretty vault status\n ```\n\n The runner honors an explicit override, checks `PATH`, then finds the CLI\n packaged inside the installed Yaps app, and validates it with a bounded,\n read-only `status` command. Never ask the user to install a CLI, edit PATH,\n copy a token, or configure MCP.\n4. If either transport succeeds, continue with it for the task. Do not stop merely because MCP is absent; public uploaded plugins may intentionally be skills-only.\n5. If the CLI validates but MCP is unavailable, say that the CLI is working and\n the private-vault connector is unavailable; continue through the CLI fallback\n when the task permits it. Never call that state “CLI missing.” If neither\n transport can reach Yaps, repeat the runner's specific recovery guidance. If\n the current task cannot reach the local engine, direct the user to a\n local-capable session on the computer where Yaps is installed: in Claude,\n that is Claude Code or the Claude desktop app; if the task is ChatGPT web,\n browser-only, or cloud-hosted, offer\n [ChatGPT desktop](https://chatgpt.com/download/) and a new local-capable Work\n or Codex task. Do not claim Yaps is uninstalled merely because it was not\n found in the known locations.\n When its recovery code is `cli_missing`, offer\n [Yaps desktop](https://yaps.ai/download) as the direct install-or-open step;\n do not describe it as a separate CLI download.\n\nThe plugin, Yaps desktop installation, sign-in, and trial or Yaps Pro activation may happen in any order. Account or subscription changes do not require reinstalling or reconnecting the plugin. A new task is only needed when the current task began before the local Yaps capability became available.\n\n## Private operational diagnostics\n\nRun every local Yaps CLI command through the platform launcher and runner. Use a stable content-free action and one of these stages: `reachability`, `authentication`, `readiness`, `execution`, or `export`. macOS/Linux examples:\n\n```text\nsh <launcher> --action vault.search --stage execution -- yaps --pretty vault search-semantic \"<query>\" --limit 8\nsh <launcher> --action vault.get --stage execution -- yaps --pretty vault get \"<relative-path>\"\n```\n\nOn Windows, use `& \"<launcher.cmd>\"` in place of `sh <launcher>`. If the launcher or runner is unavailable but the CLI itself is reachable, continue directly; diagnostics must never block the feature. Breadcrumbs may contain only plugin identity, detected host, action, stage, outcome, duration, and a fixed safe error category. They must never contain the user's prompt or conversation, arguments, output, credentials, paths, filenames, note text, or raw errors. Never create or guess an owner marker; Yaps supplies the opaque marker used by diagnostics.\n\n## CLI discovery contract\n\nUse the bundled runner for every CLI fallback instead of searching for a binary\nor composing an application path yourself. It honors an explicit path or\n`YAPS_CLI_BINARY`, then checks `PATH`, then the verified Yaps app locations on\nmacOS, Windows, and Linux. It validates candidates with `status`, never a shell,\nand never invokes the macOS GUI executable. The MCP launcher uses this same\ncontract before resolving `yaps_mcp`, which is why it can distinguish a missing\nor invalid CLI from an unavailable private-vault connector. Both launchers\nfollow the desktop app's recommended settings path automatically. When a\nsigned-in account cache is temporarily incomplete, they safely wake the\nverified installed app and retry for a bounded time; do not ask the user to\ncopy a path or reconnect the plugin.\n\n## Transport mapping\n\nUse the MCP tool named on the left when present. In skills-only mode, use the equivalent CLI command on the right, adding `--pretty` globally when JSON needs to be inspected:\n\n```text\nvault_status yaps vault status\nvault_notes_list yaps vault list [filters]\nvault_note_get yaps vault get <path>\nvault_search yaps vault search <query> [filters]\nvault_search_semantic yaps vault search-semantic <query> [--limit N] [--mode hybrid]\nvault_note_create yaps vault create [--path P] [--title T] [--markdown-file F]\nvault_note_update yaps vault update <path> --expected-updated-at N [fields]\nvault_note_move yaps vault move <old-path> <new-path>\nvault_note_rename yaps vault rename <old-path> <new-path>\nvault_note_delete yaps vault delete <path> --confirm [--expected-title T]\nvault_open_daily_note yaps vault daily-open\nvault_create_from_template yaps vault create-from-template <template-name> <title>\nvault_note_history_list yaps vault history-list <path>\nvault_note_history_restore yaps vault history-restore <path> <snapshot-id>\nvault_note_pin yaps vault pin <path> [--set true|false]\nvault_folders_list yaps vault folders [--limit N]\nvault_tags_* yaps vault tags list|add|remove|replace|rename|delete\nvault_mentions_* yaps vault mentions list|terms\nvault_backlinks yaps vault backlinks <path>\n```\n\nRun `yaps vault <command> --help` before using an unfamiliar option. For substantial Markdown, write the proposed body to a temporary file and pass `--markdown-file`; do not risk shell quoting corruption. Remove temporary files after the command completes.\n\n## Availability and permissions\n\nThe vault is local Markdown and the AI client only receives content retrieved for the user's request. Do not bulk-read it.\n\nMCP connections start read-only. If MCP reports `Agent read denied by Yaps Agent Access policy`, give the exact path **Yaps → Settings → Agent Access** and ask the user to re-enable this client. Writes remain a separate opt-in; never change that policy yourself.\n\nThe skills-only CLI fallback is governed by the AI host's local command permissions rather than MCP Agent Access. In that mode:\n\n- Read only what the current request requires.\n- Write only when the user explicitly asks to remember, create, update, organize, restore, move, rename, tag, pin, or delete something.\n- Never infer permission for a write from a general request to search, summarize, review, or onboard.\n- Treat delete, restore, move, rename, and vault-wide tag changes as destructive and require explicit intent.\n\nIf Yaps reports no signed-in account or active entitlement, explain the exact missing step from that message and ask the user to complete it inside Yaps. Never request credentials or payment details, promise trial eligibility or duration, or offer a free-tier continuation.\n\nSafe automatic account status requires Yaps 2.3.124 or newer. On an older or\nunverifiable helper, repeat the runner's update guidance; do not run a direct\n`auth status`, approve a Keychain prompt, or invent a separate connection step.\n\n## Onboarding\n\nWhen the user asks to set up or get started:\n\n1. Resolve a working transport and run `vault_status` / `yaps vault status`. Do not read note contents during the connection check.\n2. Explain briefly that the vault is local Markdown and retrieval is request-scoped. Explain the active permission model: Agent Access for MCP, or explicit-request-only writes for the skills-only CLI fallback.\n3. If the vault is empty, say the connection works and offer exactly these choices:\n - Open Yaps desktop to create the first note; recommend this for voice capture and visual browsing.\n - Ask this AI client to capture the first memory.\n4. Otherwise offer exactly these choices:\n - Review my five most recently updated notes.\n - Search my memory for a topic or question.\n - Capture something new.\n5. After the chosen action, cite the note title and path and say clearly whether anything changed.\n\n## Retrieval workflow\n\n1. Search narrowly with semantic search when meaning matters, or lexical search for names, exact phrases, tags, and paths.\n2. Retrieve only promising notes; do not bulk-read the vault when a focused query will do.\n3. Distinguish vault evidence from inference. Cite each material vault claim using the returned note title and relative path. Say when evidence conflicts or may be stale.\n4. Use backlinks, mentions, folders, or tags only when relationships materially help.\n\n## Capture and safe edits\n\n- When the user says “remember this,” create or update a durable note rather than merely acknowledging it.\n- Prefer the daily note for journal-like capture and templates when the user identifies one.\n- Preserve the user's wording. Add only lightweight structure that improves retrieval.\n- Search by title and key phrase before creating a likely duplicate.\n- Read a note immediately before updating it. Pass its `updated_at` value as `expected_updated_at` so concurrent edits are never silently overwritten.\n- Make the smallest requested change and preserve unrelated content, frontmatter, links, and formatting.\n- If a stale-write guard fails, retrieve the new version, reconcile visibly, and ask when the merge is ambiguous.\n- For delete, include `--confirm` only after explicit intent and use `--expected-title` when available.\n\n## Generalist Yaps mode\n\nMemory is the default focus, not a boundary around what it can do. When the user explicitly asks for another Yaps workflow, use the same resolved `yaps_cli` and follow its help. The full local surface includes settings, auth, feature setup, speech/TTS, subtitles, meetings, captions, media conversion, audio cleaning, translation, history, and local usage. Do not broaden into these workflows without a request.\n\n```text\nstatus\nsettings list|get|set|unset\nauth status|usage|billing\nfeatures list|dictation|cleanup|reading|subtitles|auto-captions\nvault status|list|get|create|update|move|rename|delete|search|search-semantic|daily-open|create-from-template|history-list|history-restore|pin|folders|tags|mentions|backlinks\nspeech synthesize (alias: tts)\nsrt generate\nmeeting transcribe|show|correct|assign|rename-speaker|export\ncaptions styles|create|show|correct|replace|split|merge|style|reset|render|verify\nmedia extract-audio|remove-background|generate-image\naudio clean\ntranslate\nhistory-list\nusage-local\n```\n\n## Friendly completion and discovery\n\nLead with the outcome, cite the affected note title and path, and state whether anything changed. Do not dump raw JSON or internal tool names. After a successful task, a compact **More with Yaps** section may offer up to three relevant next actions. Skip it after a failure, a decline, or a request for a terse result.\n"
}SHA-256 of public snapshot: 89d3c32b4e91d72172a7cf6f71b044b8496c693d6807c30306b00cefa9281250