[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6P6FSW7J2P40CDZGFTBYC6W":3,"skill-same:01M6P6FSW7J2P40CDZGFTBYC6W":92},{"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":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":71,"commitSha":72,"skillDirectory":73,"forksCount":74,"repositoryHtmlUrl":75,"repositoryHomepageUrl":6,"ownerHtmlUrl":76,"ownerBlogUrl":77,"ownerDescription":6,"updatedAt":78,"install":79,"resources":91},"01M6P6FSW7J2P40CDZGFTBYC6W","session-compression",null,"Produces updated memory artifacts by compressing a session's key decisions, changes, and context into the structured memory garden. Use when: \"compress this session\", \"save context\", \"end of session\", \"update memory\", \"wrap up\".","DojoGenesis\u002Fgateway","DojoGenesis","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F273886418?v=4","01M6P54RXMD3TZ2082Z3Z4JMQP","Cruz Morales (TresPies)","01M6P54S269YR0ZZZ96WGQM439",2,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FDojoGenesis\u002Fgateway\u002Fblob\u002Fmain\u002Fplugins\u002Fwisdom-garden\u002Fskills\u002Fsession-compression\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"session compression","compression","session","memory garden","directory","path","sonnet","STRING","end","memories","files","up","context","text","compress","markdown","open","save","update","memory","2026-11-10 10:12:30",false,"---\nname: session-compression\nmodel: sonnet\ndescription: \"Produces updated memory artifacts by compressing a session's key decisions, changes, and context into the structured memory garden. Use when: \\\"compress this session\\\", \\\"save context\\\", \\\"end of session\\\", \\\"update memory\\\", \\\"wrap up\\\".\"\ncategory: wisdom-garden\ntriggers:\n  - \"compress this session\"\n  - \"save context\"\n  - \"end of session\"\n  - \"update memory\"\n  - \"wrap up\"\ntier: 1\nagents:\n  - \"primary\"\ntool_dependencies:\n  - \"file_system\"\n\ninputs:\n  - name: memory_path\n    type: string\n    description: Path to the memory directory containing MEMORY.md and memory files\n    required: true\noutputs:\n  - name: compression_report\n    type: text\n    format: markdown\n    description: Summary of memories updated, created, and open items carried forward\n---\n# Session Compression Skill\n\n## Philosophy\n\nMemory is not a log — it is a garden. Session compression distills what happened into what matters for future sessions. The goal is not to record every action but to preserve the decisions, insights, and context that would otherwise be lost when the conversation ends. Good compression makes the next session start faster; bad compression creates noise that slows it down.\n\n## When to Use\n\n- At the end of every substantial work session (3+ meaningful changes)\n- After architectural decisions that affect future work\n- When switching between major project areas\n- Before a long break between sessions\n\n## Workflow\n\n### Phase 1: Gather Changes\n1. Run `git diff` and `git status` across the parent repo and all active sub-repos\n2. Identify files changed, tests run, and their outcomes\n3. Note any tools or services configured or reconfigured\n\n### Phase 2: Extract Decisions\n1. Identify key decisions made during the session — architectural choices, convention changes, approach pivots\n2. For each decision, capture the *why* (not just the *what*)\n3. Identify any outstanding issues, blockers, or unresolved friction\n\n### Phase 3: Update Memory\n1. Check existing memory files for entries that need updating based on this session's work\n2. For each key insight or decision:\n   - If an existing memory covers this topic, update it in place\n   - If it's genuinely new, create a new memory file with proper frontmatter (name, description, type)\n3. Update MEMORY.md index if any files were added or removed\n4. Update the \"Open Items\" section in MEMORY.md with current state\n\n### Phase 4: Report\nOutput a summary: memories updated, memories created, open items carried forward\n\n## Output\n\nThe skill produces:\n1. Updated or new memory files with YAML frontmatter\n2. An updated MEMORY.md index\n3. A compression summary listing what was persisted\n\n## Examples\n\n**After a gateway refactor session:**\n```\n\u002Fcompress\n> Updated: project_gateway_consolidation_plan.md (17→16 modules)\n> Created: seed_two_handler_trap.md (new pattern discovered)\n> Open items: protocol merge (2→1) still pending\n> MEMORY.md: 142 lines (under 200 limit)\n```\n\n**After a debugging session with no architectural changes:**\n```\n\u002Fcompress\n> Updated: project_dojochat.md (v0.4 syntax highlighting shipped)\n> No new memories needed — fix was mechanical\n> Open items unchanged\n```\n\n## Edge Cases\n\n- **Session with no meaningful changes**: Report \"no compression needed\" rather than creating empty memories\n- **Memory file conflicts**: If two sessions update the same memory, merge by keeping the more recent facts and preserving the *why*\n- **MEMORY.md approaching 200 lines**: Consolidate related entries or inline short memories before adding new links\n- **Relative dates in user messages**: Always convert to absolute dates when saving (\"Thursday\" becomes \"2026-04-10\")\n- **Session that only read code**: Reading sessions rarely produce memories — only save if a non-obvious insight was discovered\n\n## Anti-Patterns\n\n- **Saving session logs as memory**: Memory files are not activity reports. \"Read 5 files and ran 3 tests\" is not a memory.\n- **Duplicate memories**: Always check existing files before creating new ones. Update, don't duplicate.\n- **Saving code patterns as memory**: If it's derivable from the code itself, it doesn't belong in memory.\n- **Overly verbose descriptions**: Memory descriptions are used for relevance matching. Keep them specific and under 150 characters.\n- **Forgetting to update Open Items**: Stale open items cause future sessions to chase resolved issues.\n","# Session Compression Skill\n\n## Philosophy\n\nMemory is not a log — it is a garden. Session compression distills what happened into what matters for future sessions. The goal is not to record every action but to preserve the decisions, insights, and context that would otherwise be lost when the conversation ends. Good compression makes the next session start faster; bad compression creates noise that slows it down.\n\n## When to Use\n\n- At the end of every substantial work session (3+ meaningful changes)\n- After architectural decisions that affect future work\n- When switching between major project areas\n- Before a long break between sessions\n\n## Workflow\n\n### Phase 1: Gather Changes\n1. Run `git diff` and `git status` across the parent repo and all active sub-repos\n2. Identify files changed, tests run, and their outcomes\n3. Note any tools or services configured or reconfigured\n\n### Phase 2: Extract Decisions\n1. Identify key decisions made during the session — architectural choices, convention changes, approach pivots\n2. For each decision, capture the *why* (not just the *what*)\n3. Identify any outstanding issues, blockers, or unresolved friction\n\n### Phase 3: Update Memory\n1. Check existing memory files for entries that need updating based on this session's work\n2. For each key insight or decision:\n   - If an existing memory covers this topic, update it in place\n   - If it's genuinely new, create a new memory file with proper frontmatter (name, description, type)\n3. Update MEMORY.md index if any files were added or removed\n4. Update the \"Open Items\" section in MEMORY.md with current state\n\n### Phase 4: Report\nOutput a summary: memories updated, memories created, open items carried forward\n\n## Output\n\nThe skill produces:\n1. Updated or new memory files with YAML frontmatter\n2. An updated MEMORY.md index\n3. A compression summary listing what was persisted\n\n## Examples\n\n**After a gateway refactor session:**\n```\n\u002Fcompress\n> Updated: project_gateway_consolidation_plan.md (17→16 modules)\n> Created: seed_two_handler_trap.md (new pattern discovered)\n> Open items: protocol merge (2→1) still pending\n> MEMORY.md: 142 lines (under 200 limit)\n```\n\n**After a debugging session with no architectural changes:**\n```\n\u002Fcompress\n> Updated: project_dojochat.md (v0.4 syntax highlighting shipped)\n> No new memories needed — fix was mechanical\n> Open items unchanged\n```\n\n## Edge Cases\n\n- **Session with no meaningful changes**: Report \"no compression needed\" rather than creating empty memories\n- **Memory file conflicts**: If two sessions update the same memory, merge by keeping the more recent facts and preserving the *why*\n- **MEMORY.md approaching 200 lines**: Consolidate related entries or inline short memories before adding new links\n- **Relative dates in user messages**: Always convert to absolute dates when saving (\"Thursday\" becomes \"2026-04-10\")\n- **Session that only read code**: Reading sessions rarely produce memories — only save if a non-obvious insight was discovered\n\n## Anti-Patterns\n\n- **Saving session logs as memory**: Memory files are not activity reports. \"Read 5 files and ran 3 tests\" is not a memory.\n- **Duplicate memories**: Always check existing files before creating new ones. Update, don't duplicate.\n- **Saving code patterns as memory**: If it's derivable from the code itself, it doesn't belong in memory.\n- **Overly verbose descriptions**: Memory descriptions are used for relevance matching. Keep them specific and under 150 characters.\n- **Forgetting to update Open Items**: Stale open items cause future sessions to chase resolved issues.\n",{"name":5,"tier":49,"model":30,"agents":50,"inputs":52,"outputs":58,"category":62,"triggers":63,"description":7,"tool_dependencies":69},1,[51],"primary",[53],{"name":54,"type":55,"required":56,"description":57},"memory_path","string",true,"Path to the memory directory containing MEMORY.md and memory files",[59],{"name":60,"type":37,"format":39,"description":61},"compression_report","Summary of memories updated, created, and open items carried forward","wisdom-garden",[64,65,66,67,68],"compress this session","save context","end of session","update memory","wrap up",[70],"file_system","main","ff07df5fd8f75762c2a131e6e26d297e8ae403ee","plugins\u002Fwisdom-garden\u002Fskills\u002Fsession-compression",0,"https:\u002F\u002Fgithub.com\u002FDojoGenesis\u002Fgateway","https:\u002F\u002Fgithub.com\u002FDojoGenesis","dojogenesis.com","2026-10-25 22:59:58",{"source":8,"skillName":5,"commands":80,"prompt":90,"zipAvailable":56},[81,84,87],{"tool":82,"command":83},"npx","npx skills add DojoGenesis\u002Fgateway --skill session-compression",{"tool":85,"command":86},"bunx","bunx skills add DojoGenesis\u002Fgateway --skill session-compression",{"tool":88,"command":89},"pnpm","pnpm dlx skills add DojoGenesis\u002Fgateway --skill session-compression","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FDojoGenesis\u002Fgateway\u002Fblob\u002Fmain\u002Fplugins\u002Fwisdom-garden\u002Fskills\u002Fsession-compression\u002FSKILL.md",[],[93,112,123,131,172,197],{"skillNo":94,"name":95,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":101,"publishedAt":44},"01M6P6J0WYSD1MTGA3ZX6MGGZ5","kata-test-echo","https:\u002F\u002Fgithub.com\u002FDojoGenesis\u002Fgateway\u002Fblob\u002Fmain\u002Fserver\u002Ftestdata\u002Fkata\u002Fskills\u002Fkata-test-echo\u002FSKILL.md",[98],{"categoryNo":99,"categoryName":100,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[102,103,104,105,106,107,108,109,110,111],"kata test echo","Echo","test","json","v1","output","input","structured","contracts","schema",{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":119,"publishedAt":44},"01M6P6HQJNGG4WPZW0DEWMAY2N","kata-plain","An ordinary prose skill; not dispatchable.","https:\u002F\u002Fgithub.com\u002FDojoGenesis\u002Fgateway\u002Fblob\u002Fmain\u002Fserver\u002Ftestdata\u002Fkata\u002Fskills\u002Fkata-plain\u002FSKILL.md",[118],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[120,121,122],"kata plain","prose skill","prose",{"skillNo":124,"name":125,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":126,"categories":127,"keywords":128,"publishedAt":44},"01M6P6HH6Y7K8K6606MF7VZ1HB","kata-broken","https:\u002F\u002Fgithub.com\u002FDojoGenesis\u002Fgateway\u002Fblob\u002Fmain\u002Fserver\u002Ftestdata\u002Fkata\u002Fskills\u002Fkata-broken\u002FSKILL.md",[],[129,130,109,110,103,111,105,104,108,106,107],"kata broken","broken",{"skillNo":132,"name":133,"nameZh":6,"description":134,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":135,"categories":136,"keywords":151,"publishedAt":44},"01M6P6GW520QJ03A6K7Y5PWJ52","voice-before-structure","Read the project's design language and philosophy before writing structural artifacts. Ground manifests, READMEs, and descriptions in the project's voice, not boilerplate. Use when creating manifests or READMEs for established projects, writing ecosystem-level documentation, building plugin descriptions or marketplace metadata, or authoring metadata that carries a project's identity. Trigger phrases: 'write the manifest', 'create a README', 'describe this plugin', 'ground yourself in the philosophy', 'ecosystem-level work'.","https:\u002F\u002Fgithub.com\u002FDojoGenesis\u002Fgateway\u002Fblob\u002Fmain\u002Fplugins\u002Fwisdom-garden\u002Fskills\u002Fvoice-before-structure\u002FSKILL.md",[137,140,143,148],{"categoryNo":138,"categoryName":139,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":141,"categoryName":142,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":144,"categoryName":145,"taxonomyType":146,"taxonomyTypeDesc":147},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",{"categoryNo":149,"categoryName":150,"taxonomyType":146,"taxonomyTypeDesc":147},"01JBSEEDCAT000000000000036","内容创作者",[152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171],"voice before structure","structure","voice","manifests","ecosystem","false","authoring","structural","project","artifact","philosophy","design","writing","identity","documentation","create","projects","work","read","write",{"skillNo":173,"name":174,"nameZh":6,"description":175,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":176,"categories":177,"keywords":179,"publishedAt":44},"01M6P6GMNA4HJ4D5RRM3BQZ73M","system-prompt-archaeology","Produces a named ADA disposition preset (YAML) and a layered behavioral analysis (structural decomposition + evidence-cited classifications) from a system prompt. Use when: \"analyze this system prompt\", \"extract disposition from prompt\", \"reverse-engineer agent behavior\", \"what patterns does this prompt use\", \"build a preset from this prompt\".","https:\u002F\u002Fgithub.com\u002FDojoGenesis\u002Fgateway\u002Fblob\u002Fmain\u002Fplugins\u002Fwisdom-garden\u002Fskills\u002Fsystem-prompt-archaeology\u002FSKILL.md",[178],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[180,181,182,183,184,185,159,186,187,188,189,190,191,192,193,194,31,30,195,196],"system prompt archaeology","system prompt","prompt","system","behavioral","classify","decomposition","wisdom","patterns","engineer","decompose","evidence","ada","analyze","analysis","true","reverse",{"skillNo":198,"name":199,"nameZh":6,"description":200,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":201,"categories":202,"keywords":204,"publishedAt":44},"01M6P6G2D70T9R00HX6K154X5Y","session-lifecycle-automation","Designs and configures all three loops of solo-operator session automation — session bookends, background maintenance agents, and a delegation flywheel. Use when setting up a new workspace, recovering from the 44% zero-artifact session leak, or preparing to scale delegation across multiple concurrent agents.","https:\u002F\u002Fgithub.com\u002FDojoGenesis\u002Fgateway\u002Fblob\u002Fmain\u002Fplugins\u002Fwisdom-garden\u002Fskills\u002Fsession-lifecycle-automation\u002FSKILL.md",[203],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[205,206,207,208,26,39,209,28,210,211,212,213,34,161,214,215,216,217,35,218],"automation","session lifecycle automation","session lifecycle","lifecycle","configure","config","delegation","audit","SET","solo","across","scheduled","loops","template"]