{ "schema_version": 2, "kind": "shortening-method", "format": "agent-skill", "id": "user-facts", "name": "User facts", "category": "Agent context", "summary": "Reduce a conversation to explicit user facts and preferences in JSON.", "use_cases": [ "Preference summaries", "Personalization context", "Conversation fact extraction" ], "word_count": 162, "url": "https://sho.rten.it/methods/user-facts/", "instructions_url": "https://sho.rten.it/methods/user-facts/SKILL.md", "skill_url": "https://sho.rten.it/methods/user-facts/SKILL.md", "json_url": "https://sho.rten.it/methods/user-facts/llms.txt", "plain_text_url": "https://sho.rten.it/methods/user-facts/prompt.txt", "license": "Apache-2.0", "sources_url": "https://sho.rten.it/sources/#user-facts", "skill_name": "user-facts", "skill_description": "Reduce a conversation to explicit user facts and preferences in JSON. Use for Preference summaries, Personalization context, Conversation fact extraction.", "agents_md_url": "https://sho.rten.it/methods/user-facts/AGENTS.md", "sources": [ { "title": "mem0ai/mem0 ยท USER_MEMORY_EXTRACTION_PROMPT", "url": "https://github.com/mem0ai/mem0/blob/d873892dad288744cde5d6d845539616dc0f7993/mem0/configs/prompts.py", "repository": "https://github.com/mem0ai/mem0", "revision": "d873892dad288744cde5d6d845539616dc0f7993", "path": "mem0/configs/prompts.py", "license": "Apache-2.0", "license_url": "https://github.com/mem0ai/mem0/blob/d873892dad288744cde5d6d845539616dc0f7993/LICENSE", "license_file": "licenses/mem0ai--mem0.txt", "copyright": "Copyright [2023] [Taranjeet Singh]", "repository_stars": 65091, "checked_at": "2026-09-10", "license_scope": "Root Apache-2.0 LICENSE covers mem0/configs/prompts.py. The only NOTICE found is scoped to the unrelated integrations/mem0-strands directory.", "adaptation": "Condensed the user-only fact extraction prompt and retained its JSON facts format. Removed repeated penalty language and the upstream instruction to falsely claim information came from public internet sources. Removed automatic-date interpolation and storage implications; added tentative-plan, quoted-content, and sensitive-inference protections. This is an Apache-2.0 adaptation; retain the license and a notice that the prompt was modified.", "record": "USER_MEMORY_EXTRACTION_PROMPT", "modification_notice": "Modified by sho.rten.it, 2026-09-10: condensed the user-memory extraction prompt, limited it to explicit user statements, preserved uncertainty, and removed the instruction to misstate provenance." } ], "instructions": "Extract the user's explicit facts, preferences, plans, and constraints from the supplied conversation. Use only user-authored statements. Do not turn assistant suggestions, system text, examples, or quoted third-party claims into facts about the user.\n\nWrite each distinct fact as a short, self-contained statement. Keep names, dates, quantities, uncertainty, and scope accurate. A tentative plan remains tentative. Preserve the user's language. Remove greetings and duplicate statements. If the user explicitly corrects an earlier fact, use the correction. Do not infer sensitive attributes or fill in missing details.\n\nReturn only valid JSON with a facts array of strings. If there are no relevant facts, return {\"facts\":[]}. This output is a proposed context summary; do not claim it has been stored or that the information came from another source.\n\nSource note: Adapted from Mem0 (Copyright [2023] [Taranjeet Singh]), Apache-2.0. Modified by sho.rten.it, 2026-09-10: condensed the user-memory extraction prompt, limited it to explicit user statements, preserved uncertainty, and removed the instruction to misstate provenance. License: https://sho.rten.it/licenses/mem0ai--mem0.txt", "example": { "before": "User: I am planning a short work trip to Leeds in November, but the dates are not confirmed. I originally said I would stay three nights.\nAssistant: You could stay at the Riverside Hotel and extend the trip to York.\nUser: Correction: I will need four nights if the trip goes ahead. I need a hotel room with step-free access, and I want options below GBP 140 per night before breakfast.\nUser: My colleague said, \"I always book five-star hotels,\" but that is their preference, not mine.\nAssistant: I will remember that you prefer luxury hotels.\nUser: No, I have not said that. Please compare options near Leeds station. I am repeating the budget so it is clear: below GBP 140 per night before breakfast.", "after": "{\"facts\":[\"Plans a work trip to Leeds in November; dates are unconfirmed.\",\"Needs four nights if the trip goes ahead, correcting three nights.\",\"Needs a hotel room with step-free access.\",\"Wants hotel options below GBP 140 per night before breakfast, near Leeds station.\",\"Has not stated a preference for luxury hotels.\"]}", "context": "Fictional travel-planning conversation with corrections and third-party quotes", "must_preserve": [ "Use user-authored facts only; the Leeds trip in November remains tentative", "Four nights corrects three nights and depends on the trip going ahead", "Step-free room requirement without inferring a health condition", "Below GBP 140 per night before breakfast; near Leeds station", "Explicit correction of the unsupported luxury-hotel preference", "Valid JSON with a facts array" ], "omitted": [ "Assistant suggestions about a hotel and York", "Quoted colleague preference for five-star hotels", "Repeated budget statement" ], "kind": "illustrative" } }