[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71JR2PG6KES4E030EVY1JJ4":3,"skill-same:01M71JR2PG6KES4E030EVY1JJ4":89},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":29,"linkOnly":30,"markdownContent":31,"markdownBody":32,"frontMatter":33,"refName":34,"commitSha":35,"skillDirectory":36,"forksCount":37,"repositoryHtmlUrl":38,"repositoryHomepageUrl":6,"ownerHtmlUrl":39,"ownerBlogUrl":40,"ownerDescription":41,"updatedAt":42,"install":43,"resources":56},"01M71JR2PG6KES4E030EVY1JJ4","universal-memory",null,"Operational hub for using Universal Memory context, facts, host sync, and skills lifecycle.","YanAmorelli\u002Funiversal-memory","YanAmorelli","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F73948655?v=4","01M71JQYECQ185WC2PS2PCGQCW","Yan Liao Amorelli","01M71JQYF08VM2TKF1A7EDVPG9",6,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FYanAmorelli\u002Funiversal-memory\u002Fblob\u002Fmain\u002Fskills\u002Funiversal-memory\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28],"universal memory","memory","operational","for","hub","lifecycle","sync","host","context","facts","2026-11-10 10:12:30",false,"---\nname: \"universal-memory\"\ndescription: \"Operational hub for using Universal Memory context, facts, host sync, and skills lifecycle.\"\n---\n\n# Universal Memory\n\n## Purpose\n\nUniversal Memory (`umem`) is the repository memory and skill layer. This skill is the\nsingle UMEM guide and router: use it to load current memory context, interpret UMEM\nstate, decide whether deeper instructions are needed, and route directly to the focused\nreference for the task.\n\nKeep this as one guide-style skill. Do not split UMEM into separate skills for startup,\nfacts, host sync, or skill lifecycle work unless the user explicitly approves that design\nchange.\n\n## Desired Outcomes\n\n- Agents begin repository work with current UMEM context and relevant active skills.\n- Users get behavior informed by durable project facts and global preferences without\n  host files becoming memory dumps.\n- Memory mutations are deliberate, safe, scoped correctly, and synced when they should\n  affect future host instructions.\n- References are loaded only on demand, preserving Agent Skills progressive disclosure.\n\n## Data Sources\n\n- `.umem\u002F` project storage and generated project skills.\n- `AGENTS.md` and `CLAUDE.md` managed UMEM bootstrap instructions.\n- CLI output from `umem bootstrap` and targeted read or mutation commands.\n- MCP tool results when available; treat them as equivalent automation surfaces over the\n  CLI behavior contract.\n- `references\u002F` files in this skill for deeper task-specific procedures.\n\n## Mandatory Startup\n\nAt the start of a work session or conversation, load UMEM context before planning,\nediting, investigating, reviewing, or activating another workflow:\n\n```bash\numem bootstrap --format json\n```\n\nThen inspect any relevant active skill:\n\n```bash\numem skills detail \u003Cskill-id-or-name> --format json\n```\n\nPrefer MCP `bootstrap()` when it is available; otherwise use the CLI command above. Use the\nCLI examples in the references as the canonical behavior contract.\n\n## Workflow And State Interpretation\n\n- If bootstrap reports UMEM unavailable or the project uninitialized, say so explicitly and\n  continue without external memory instead of inventing context.\n- Treat `data.context` as active repository guidance for the current\n  work session.\n- Do not wait for the user to say \"use UMEM\" before loading context for the current repository.\n- Treat global context as cross-project user preference; do not let it override explicit\n  project constraints or user instructions for the current task.\n- Explicit user instructions always override remembered context.\n- Treat `data.skills.list` as discovery metadata. Inspect only relevant active skills with\n  `skills detail`, and load deeper skill files only when the current task calls for them.\n- Do not repeat the full startup sequence on every user message in the same conversation;\n  query only the specific UMEM state needed after the initial preflight.\n- Preserve relative paths in specs, docs, code, and reports.\n\n## Latent Skill Decision Loop\n\n- During substantial work and before the final response, consider whether you observed a\n  repeated, durable workflow that would help future agents.\n- If a reusable methodology, checklist, transformation, review pattern, or domain workflow\n  recurs, call `track_latent_skill` or `umem skills track` with a short name,\n  description, tags, and a sanitized evidence summary.\n- If the user explicitly asks to create a new skill from scratch, use direct\n  `create_skill` or `umem skills create`; do not create a latent candidate first.\n- If the user points to an existing local or native skill directory, use\n  `import_skill` or `umem skills import \u003Cpath>`; do not recreate it with `create`,\n  `track`, `promote`, or `generate`.\n- If no durable repeated workflow was observed, do not call `track_latent_skill` just to\n  satisfy a checklist.\n- Never track secrets, raw logs, raw prompts, private customer data, uncertain patterns, or\n  one-off preferences as latent skill evidence. Route durable preferences to memory facts.\n- Never persist stack traces, transient task progress, or unverified assumptions.\n\n## Reference Routing\n\n- For startup, health, context loading, and active-skill discovery, read\n  [startup and context](references\u002Fstartup-and-context.md).\n- For remembering, listing, and purging facts, read\n  [memory facts](references\u002Fmemory-facts.md).\n- For skill creation, import, sync, latent tracking, proposal, generation, listing,\n  detail, activation, deactivation, and update, read\n  [skills lifecycle](references\u002Fskills-lifecycle.md).\n- For host instruction setup, validation, and sync, read\n  [host instructions sync](references\u002Fhost-instructions-sync.md).\n- For CLI\u002FMCP payload parity and error behavior, read\n  [CLI\u002FMCP parity](references\u002Fcli-mcp-parity.md).\n- For durable recording rules, security guardrails, and final response footer behavior,\n  read [guardrails and recording](references\u002Fguardrails-and-recording.md).\n\n## Response And Recording Constraints\n\n- Keep host instruction files compact; they should point to UMEM, not store memory dumps.\n- Record only curated, durable facts or skills. Do not persist raw logs, secrets,\n  credentials, transient steps, or uncertain information.\n- Use project scope for repository-specific knowledge and global scope for cross-project\n  user preferences.\n- After any memory mutation that should affect host instructions, run host sync with\n  apply enabled.\n- Before the final response, decide whether a durable fact, skill pattern, architectural\n  decision, or obsolete memory should be recorded or cleaned up.\n- End the final response with either `[UMEM: Remembered \"...\"]` or\n  `[UMEM: No new facts\u002Fskills to record]`.\n","# Universal Memory\n\n## Purpose\n\nUniversal Memory (`umem`) is the repository memory and skill layer. This skill is the\nsingle UMEM guide and router: use it to load current memory context, interpret UMEM\nstate, decide whether deeper instructions are needed, and route directly to the focused\nreference for the task.\n\nKeep this as one guide-style skill. Do not split UMEM into separate skills for startup,\nfacts, host sync, or skill lifecycle work unless the user explicitly approves that design\nchange.\n\n## Desired Outcomes\n\n- Agents begin repository work with current UMEM context and relevant active skills.\n- Users get behavior informed by durable project facts and global preferences without\n  host files becoming memory dumps.\n- Memory mutations are deliberate, safe, scoped correctly, and synced when they should\n  affect future host instructions.\n- References are loaded only on demand, preserving Agent Skills progressive disclosure.\n\n## Data Sources\n\n- `.umem\u002F` project storage and generated project skills.\n- `AGENTS.md` and `CLAUDE.md` managed UMEM bootstrap instructions.\n- CLI output from `umem bootstrap` and targeted read or mutation commands.\n- MCP tool results when available; treat them as equivalent automation surfaces over the\n  CLI behavior contract.\n- `references\u002F` files in this skill for deeper task-specific procedures.\n\n## Mandatory Startup\n\nAt the start of a work session or conversation, load UMEM context before planning,\nediting, investigating, reviewing, or activating another workflow:\n\n```bash\numem bootstrap --format json\n```\n\nThen inspect any relevant active skill:\n\n```bash\numem skills detail \u003Cskill-id-or-name> --format json\n```\n\nPrefer MCP `bootstrap()` when it is available; otherwise use the CLI command above. Use the\nCLI examples in the references as the canonical behavior contract.\n\n## Workflow And State Interpretation\n\n- If bootstrap reports UMEM unavailable or the project uninitialized, say so explicitly and\n  continue without external memory instead of inventing context.\n- Treat `data.context` as active repository guidance for the current\n  work session.\n- Do not wait for the user to say \"use UMEM\" before loading context for the current repository.\n- Treat global context as cross-project user preference; do not let it override explicit\n  project constraints or user instructions for the current task.\n- Explicit user instructions always override remembered context.\n- Treat `data.skills.list` as discovery metadata. Inspect only relevant active skills with\n  `skills detail`, and load deeper skill files only when the current task calls for them.\n- Do not repeat the full startup sequence on every user message in the same conversation;\n  query only the specific UMEM state needed after the initial preflight.\n- Preserve relative paths in specs, docs, code, and reports.\n\n## Latent Skill Decision Loop\n\n- During substantial work and before the final response, consider whether you observed a\n  repeated, durable workflow that would help future agents.\n- If a reusable methodology, checklist, transformation, review pattern, or domain workflow\n  recurs, call `track_latent_skill` or `umem skills track` with a short name,\n  description, tags, and a sanitized evidence summary.\n- If the user explicitly asks to create a new skill from scratch, use direct\n  `create_skill` or `umem skills create`; do not create a latent candidate first.\n- If the user points to an existing local or native skill directory, use\n  `import_skill` or `umem skills import \u003Cpath>`; do not recreate it with `create`,\n  `track`, `promote`, or `generate`.\n- If no durable repeated workflow was observed, do not call `track_latent_skill` just to\n  satisfy a checklist.\n- Never track secrets, raw logs, raw prompts, private customer data, uncertain patterns, or\n  one-off preferences as latent skill evidence. Route durable preferences to memory facts.\n- Never persist stack traces, transient task progress, or unverified assumptions.\n\n## Reference Routing\n\n- For startup, health, context loading, and active-skill discovery, read\n  [startup and context](references\u002Fstartup-and-context.md).\n- For remembering, listing, and purging facts, read\n  [memory facts](references\u002Fmemory-facts.md).\n- For skill creation, import, sync, latent tracking, proposal, generation, listing,\n  detail, activation, deactivation, and update, read\n  [skills lifecycle](references\u002Fskills-lifecycle.md).\n- For host instruction setup, validation, and sync, read\n  [host instructions sync](references\u002Fhost-instructions-sync.md).\n- For CLI\u002FMCP payload parity and error behavior, read\n  [CLI\u002FMCP parity](references\u002Fcli-mcp-parity.md).\n- For durable recording rules, security guardrails, and final response footer behavior,\n  read [guardrails and recording](references\u002Fguardrails-and-recording.md).\n\n## Response And Recording Constraints\n\n- Keep host instruction files compact; they should point to UMEM, not store memory dumps.\n- Record only curated, durable facts or skills. Do not persist raw logs, secrets,\n  credentials, transient steps, or uncertain information.\n- Use project scope for repository-specific knowledge and global scope for cross-project\n  user preferences.\n- After any memory mutation that should affect host instructions, run host sync with\n  apply enabled.\n- Before the final response, decide whether a durable fact, skill pattern, architectural\n  decision, or obsolete memory should be recorded or cleaned up.\n- End the final response with either `[UMEM: Remembered \"...\"]` or\n  `[UMEM: No new facts\u002Fskills to record]`.\n",{"name":5,"description":7},"main","9874620e900eb700ff5442a48907088c3da88e15","skills\u002Funiversal-memory",0,"https:\u002F\u002Fgithub.com\u002FYanAmorelli\u002Funiversal-memory","https:\u002F\u002Fgithub.com\u002FYanAmorelli","https:\u002F\u002Famorelliaoyan.com","AI developer building useful things, breaking a few along the way, and proudly supporting the greatest soccer team in the\r\n  world: Club de Regatas Vasco da Gam","2026-11-07 02:48:55",{"source":8,"skillName":5,"commands":44,"prompt":54,"zipAvailable":55},[45,48,51],{"tool":46,"command":47},"npx","npx skills add YanAmorelli\u002Funiversal-memory --skill universal-memory",{"tool":49,"command":50},"bunx","bunx skills add YanAmorelli\u002Funiversal-memory --skill universal-memory",{"tool":52,"command":53},"pnpm","pnpm dlx skills add YanAmorelli\u002Funiversal-memory --skill universal-memory","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FYanAmorelli\u002Funiversal-memory\u002Fblob\u002Fmain\u002Fskills\u002Funiversal-memory\u002FSKILL.md",true,[57,63,69,73,77,81,85],{"path":58,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":61,"sourceHtmlUrl":62},"assets\u002Fagents-md-bootstrap.md","ASSET","资产文件",570,"https:\u002F\u002Fgithub.com\u002FYanAmorelli\u002Funiversal-memory\u002Fblob\u002Fmain\u002Fskills\u002Funiversal-memory\u002Fassets\u002Fagents-md-bootstrap.md",{"path":64,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":67,"sourceHtmlUrl":68},"references\u002Fcli-mcp-parity.md","REFERENCE","参考文档",5779,"https:\u002F\u002Fgithub.com\u002FYanAmorelli\u002Funiversal-memory\u002Fblob\u002Fmain\u002Fskills\u002Funiversal-memory\u002Freferences\u002Fcli-mcp-parity.md",{"path":70,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":71,"sourceHtmlUrl":72},"references\u002Fguardrails-and-recording.md",2759,"https:\u002F\u002Fgithub.com\u002FYanAmorelli\u002Funiversal-memory\u002Fblob\u002Fmain\u002Fskills\u002Funiversal-memory\u002Freferences\u002Fguardrails-and-recording.md",{"path":74,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":75,"sourceHtmlUrl":76},"references\u002Fhost-instructions-sync.md",1813,"https:\u002F\u002Fgithub.com\u002FYanAmorelli\u002Funiversal-memory\u002Fblob\u002Fmain\u002Fskills\u002Funiversal-memory\u002Freferences\u002Fhost-instructions-sync.md",{"path":78,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":79,"sourceHtmlUrl":80},"references\u002Fmemory-facts.md",2980,"https:\u002F\u002Fgithub.com\u002FYanAmorelli\u002Funiversal-memory\u002Fblob\u002Fmain\u002Fskills\u002Funiversal-memory\u002Freferences\u002Fmemory-facts.md",{"path":82,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":83,"sourceHtmlUrl":84},"references\u002Fskills-lifecycle.md",20854,"https:\u002F\u002Fgithub.com\u002FYanAmorelli\u002Funiversal-memory\u002Fblob\u002Fmain\u002Fskills\u002Funiversal-memory\u002Freferences\u002Fskills-lifecycle.md",{"path":86,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":87,"sourceHtmlUrl":88},"references\u002Fstartup-and-context.md",1950,"https:\u002F\u002Fgithub.com\u002FYanAmorelli\u002Funiversal-memory\u002Fblob\u002Fmain\u002Fskills\u002Funiversal-memory\u002Freferences\u002Fstartup-and-context.md",[90,104,112,117],{"skillNo":91,"name":92,"nameZh":6,"description":93,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":96,"publishedAt":29},"01M71JR7WQ4ZNJ4R2NYGG12YEA","Review Helper","Review implementation changes safely.","https:\u002F\u002Fgithub.com\u002FYanAmorelli\u002Funiversal-memory\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskills\u002Fvalid-review-helper\u002FSKILL.md",[],[97,98,99,100,101,102,103],"review","review helper","helper","review implementation","review changes","changes","implementation",{"skillNo":105,"name":106,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":108,"categories":109,"keywords":110,"publishedAt":29},"01M71JR71TJRF1JWZM0XXBCVCT","Broken Helper","Incomplete skill.","https:\u002F\u002Fgithub.com\u002FYanAmorelli\u002Funiversal-memory\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskills\u002Finvalid-placeholder\u002FSKILL.md",[],[99,106,111],"broken",{"skillNo":113,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":114,"categories":115,"keywords":116,"publishedAt":29},"01M71JR52QNPVWXNVX6W75YJ9X","https:\u002F\u002Fgithub.com\u002FYanAmorelli\u002Funiversal-memory\u002Fblob\u002Fmain\u002Fsrc\u002Funiversal_memory\u002Fresources\u002Fskills\u002Funiversal-memory\u002FSKILL.md",[],[20,19,23,28,27,26,25,24,22,21],{"skillNo":118,"name":119,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":127,"publishedAt":29},"01M71JR06K3YMPRTQDDSQ4XN0D","use-universal-memory","https:\u002F\u002Fgithub.com\u002FYanAmorelli\u002Funiversal-memory\u002Fblob\u002Fmain\u002F.umem\u002Fskills\u002Fuse-universal-memory\u002FSKILL.md",[122],{"categoryNo":123,"categoryName":124,"taxonomyType":125,"taxonomyTypeDesc":126},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[128,20,129,130,131,132,22,24,133,134,135,21,136,137,28,138,139,26,140,141],"use","use universal memory","recording","conversation","planning","project","session","learned","work","with","when","preferences","knowledge","implementing"]