← GoodMemCONTENT HISTORY

Update to GoodMem

Snapshot Sep 30, 2026 · 23:09 UTC · version 1.0.0

Collection source: not recorded for this historical snapshot.

WHAT CHANGED · RULE-BASED ANALYSIS

First saved snapshot

No earlier snapshot is available to establish a change.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "name": "work-with-documents",
  "description": "Save original file attachments in GoodMem and later search, quote, compare, or navigate their contents. Use when the user asks to remember a shared file or work with a document already stored in GoodMem.",
  "included_files": [],
  "skill_md_contents": "---\nname: work-with-documents\ndescription: Save original file attachments in GoodMem and later search, quote, compare, or navigate their contents. Use when the user asks to remember a shared file or work with a document already stored in GoodMem.\n---\n\n# Work with documents in GoodMem\n\nWhen the user asks to save a PDF or another uploaded file, send the original file\nto GoodMem. GoodMem preserves its bytes and handles extraction and chunking.\nCreate one memory per original file, not one memory per page. Reading or\ntranscribing the attachment first is unnecessary and loses its original structure.\n\n## Ingest a shared document\n\n1. Call `goodmem_spaces_list`; reuse the matching space or create a topic-based\n   one. If setup is needed, follow Quick Start in `using-goodmem-memory` and list\n   spaces again afterward so its first space can be reused. Tell the user which\n   space you used.\n2. Call `goodmem_memories_upload` with the selected `space_id`, a unique\n   `operation_id`, and the attachment's native `file` object: `download_url` and\n   `file_id`, plus `file_name` and `mime_type` when available. Do not pass base64,\n   a local path, or extracted page text to the text-create tool.\n3. Include metadata such as `{\"type\":\"document\",\"filename\":\"<original name>\"}`\n   and the context it was shared for. Set `extract_page_images=true` when PDF\n   page images should also be retained; separate per-page uploads are unnecessary.\n4. After an interrupted response, retry with the same operation ID, file ID,\n   and other arguments. Refresh only an expired download URL. The gateway can\n   recover an accepted file without uploading it again.\n5. Keep ingesting without polling every file. Check the space in bulk with\n   `goodmem_memories_list`, then apply the processing and failure rules from\n   `using-goodmem-memory`.\n\nFollow the file-size limit advertised by the upload tool. If a known size exceeds\nit, ask for a smaller file or a split original document. If size is unknown, try\nthe upload and explain any size-limit rejection without retrying the unchanged file.\n\nIf `goodmem_memories_upload` or a usable native file object is unavailable, explain\nthat original-file upload is unavailable on this connection. Check for updated\ntools or request a fresh attachment; do not invent a download URL or silently\nswitch to transcription. Use `goodmem_memories_create` for pasted text, notes, or\nexcerpts only when the user asks to save that text. Split those text saves at\nnatural boundaries when useful, preserving source and page metadata.\n\nAn upload by itself is not permission to retain the file indefinitely. Save it to\nGoodMem when the user asks to remember, add, store, or ingest it; otherwise work\nwith the upload only for the current request.\n\n## Work with stored documents\n\n- Retrieve passages with `goodmem_memories_retrieve`; use `metadata_filter` when\n  the user identifies a filename, type, or other stored attribute.\n- Read stored text with `goodmem_memories_content`. When `truncated` is true,\n  continue with the returned `next_offset` until the needed text is read.\n  Offsets count UTF-8 bytes; use the returned value rather than a character\n  count. The native `fetch` tool returns the first page; when `truncated` is true,\n  continue with `goodmem_memories_content`, setting `memory_id` to the returned\n  `id` and `offset` to `next_offset`. `fetch` itself does not accept an offset.\n  For binary originals such as PDFs, use retrieved text passages and page\n  metadata; do not present the original binary bytes as extracted text.\n- Use `goodmem_memories_pages` to list retained page images. It does not upload\n  pages or replace the original-file upload.\n- Use `goodmem_memories_list` to see what a space contains.\n\nQuote or paraphrase the relied-on passage and name its filename. When comparing\ndocuments, attribute each claim and describe disagreements explicitly.\n\nAn original-file upload has one memory ID; older text ingestions may have several\nparts. Confirm the document and scope before calling `goodmem_memories_delete`\non the relevant memory IDs.\n"
}

SHA-256: c6c5c9faefeccd41899a776137a08f10ee2917e8ab8258b371ac87e6e1c3fa5c