[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-marketplace-hatawong-claude-recap-en":3,"guides-for-hatawong-claude-recap":362,"similar-k17944zm3ehfvm4ntncyz1dzyx86nc6v-en":363},{"_creationTime":4,"_id":5,"children":6,"community":50,"display":51,"evaluation":56,"identity":250,"isFallback":234,"parentExtension":252,"providers":253,"relations":260,"repo":261,"tags":359,"workflow":360},1778688322101.8252,"k17944zm3ehfvm4ntncyz1dzyx86nc6v",[7],{"_creationTime":8,"_id":9,"community":10,"display":12,"identity":17,"providers":22,"relations":43,"tags":45,"workflow":46},1778688322101.8254,"k17b9bmvrv1a5e41w678q1yvrh86m81g",{"reviewCount":11},0,{"description":13,"installMethods":14,"name":15,"sourceUrl":16},"Topic-based automatic memory for Claude Code — never lose context across sessions or compactions.",{"claudeCode":15},"claude-recap","https://github.com/hatawong/claude-recap",{"basePath":18,"githubOwner":19,"githubRepo":15,"locale":20,"slug":15,"type":21},"","hatawong","en","plugin",{"evaluate":23,"extract":37},{"promptVersionExtension":24,"promptVersionScoring":25,"score":26,"tags":27,"targetMarket":35,"tier":36},"3.0.0","4.4.0",99,[28,29,30,31,32,33,34],"memory","persistence","hooks","context-management","local-storage","bash","nodejs","global","verified",{"commitSha":38,"license":39,"plugin":40},"HEAD","MIT",{"mcpCount":11,"provider":41,"skillCount":42},"classify",4,{"parentExtensionId":5,"repoId":44},"kd78y3gm1ky53msejxede6b4x986nqyc",[33,31,30,32,28,34,29],{"evaluatedAt":47,"extractAt":48,"updatedAt":49},1778688364899,1778688322101,1778688560725,{"reviewCount":11},{"description":52,"installMethods":53,"name":55,"sourceUrl":16},"Topic-based automatic memory for Claude Code",{"claudeCode":54},"hatawong/claude-recap","claude-recap-marketplace",{"_creationTime":57,"_id":58,"extensionId":5,"locale":20,"result":59,"trustSignals":232,"workflow":248},1778688340017.969,"kn74qrr5bv7mfdtfytjs804z1586ma9v",{"checks":60,"evaluatedAt":206,"extensionSummary":207,"features":208,"nonGoals":214,"promptVersionExtension":218,"promptVersionScoring":25,"purpose":219,"rationale":220,"score":221,"summary":222,"tags":223,"targetMarket":35,"tier":36,"useCases":227},[61,66,69,72,76,79,83,87,90,93,97,101,104,108,111,114,117,120,123,126,130,134,138,142,146,149,152,155,159,162,165,168,171,174,177,181,185,189,193,197,200,203],{"category":62,"check":63,"severity":64,"summary":65},"Practical Utility","Problem relevance","pass","The description clearly states the problem of Claude Code forgetting context across sessions and compactions.",{"category":62,"check":67,"severity":64,"summary":68},"Unique selling proposition","The extension offers significant value beyond default LLM behavior by providing automatic topic archival, cross-session memory, and compaction recovery, which are not default features.",{"category":62,"check":70,"severity":64,"summary":71},"Production readiness","The extension provides a complete lifecycle solution for memory management, from session start to archival and recovery, with clear installation and uninstall instructions.",{"category":73,"check":74,"severity":64,"summary":75},"Scope","Single responsibility principle","The extension focuses on a single domain: managing Claude Code's conversational memory through topic-based archival and retrieval.",{"category":73,"check":77,"severity":64,"summary":78},"Description quality","The displayed description accurately and concisely reflects the extension's core functionality as described in the README.",{"category":80,"check":81,"severity":64,"summary":82},"Invocation","Scoped tools","The extension utilizes narrow, verb-noun tools such as `/remember`, `/save-topic`, and `/list-topics` which are descriptive and specific.",{"category":84,"check":85,"severity":64,"summary":86},"Documentation","Configuration & parameter reference","Configuration options are clearly documented in the README, including the default value for MEMORY_HOME and explanations for their use.",{"category":73,"check":88,"severity":64,"summary":89},"Tool naming","Tool names like `/remember`, `/save-topic`, and `/list-topics` are descriptive and follow a consistent verb-noun pattern.",{"category":73,"check":91,"severity":64,"summary":92},"Minimal I/O surface","Input parameters for commands like `/remember` (key-value pairs) and output (Markdown files, structured JSONL for internal use) are minimal and focused on the stated task.",{"category":94,"check":95,"severity":64,"summary":96},"License","License usability","The extension is licensed under the MIT license, clearly indicated in the README and the LICENSE file.",{"category":98,"check":99,"severity":64,"summary":100},"Maintenance","Commit recency","The last commit was on March 6, 2026, which is within the last 3 months.",{"category":98,"check":102,"severity":64,"summary":103},"Dependency Management","The extension has minimal dependencies (bash, Node.js 18+) and no complex third-party libraries requiring frequent updates or vulnerability checks.",{"category":105,"check":106,"severity":64,"summary":107},"Security","Secret Management","The extension operates locally and does not handle or expose any secrets; its storage is in `~/.memory/`.",{"category":105,"check":109,"severity":64,"summary":110},"Injection","The extension appears to treat all loaded data as local files and does not fetch external content as instructions.",{"category":105,"check":112,"severity":64,"summary":113},"Transitive Supply-Chain Grenades","The extension uses local Node.js scripts and bash hooks; there is no runtime fetching of remote code or data that could be compromised.",{"category":105,"check":115,"severity":64,"summary":116},"Sandbox Isolation","The extension primarily operates within `~/.memory/` for storage and uses local scripts, avoiding changes outside the project or user's home directory.",{"category":105,"check":118,"severity":64,"summary":119},"Sandbox escape primitives","No evidence of detached-process spawns or retry loops around denied tool calls in the provided scripts.",{"category":105,"check":121,"severity":64,"summary":122},"Data Exfiltration","The extension operates locally and stores data in `~/.memory/` without any outbound calls for telemetry or data submission.",{"category":105,"check":124,"severity":64,"summary":125},"Hidden Text Tricks","The bundled content (README, scripts, LICENSE) appears free of hidden steering tricks or obfuscated characters.",{"category":127,"check":128,"severity":64,"summary":129},"Hooks","Opaque code execution","The provided scripts (`dev-register.sh`, example hooks) are plain bash and Node.js code and not obfuscated.",{"category":131,"check":132,"severity":64,"summary":133},"Portability","Structural Assumption","The extension uses configurable paths for storage (`~/.memory/`) and makes no assumptions about user project structure outside of what Claude Code itself provides.",{"category":135,"check":136,"severity":64,"summary":137},"Trust","Issues Attention","There are 3 open issues and 2 closed issues in the last 90 days, indicating active maintenance and responsiveness.",{"category":139,"check":140,"severity":64,"summary":141},"Versioning","Release Management","The extension has a clear versioning scheme with GitHub release tags and a `version` field in `marketplace.json`.",{"category":143,"check":144,"severity":64,"summary":145},"Code Execution","Validation","The extension uses basic input validation for commands and arguments, and output is primarily structured Markdown or JSONL for local storage.",{"category":105,"check":147,"severity":64,"summary":148},"Unguarded Destructive Operations","The extension primarily manages local files for memory storage and preferences; no destructive operations are performed without user interaction or clear intent.",{"category":143,"check":150,"severity":64,"summary":151},"Error Handling","The provided scripts appear to have basic error handling, and the use of local files means errors are unlikely to be opaque or unrecoverable.",{"category":143,"check":153,"severity":64,"summary":154},"Logging","The extension's actions are primarily captured by the transcript and stored in local Markdown files, serving as an audit trail.",{"category":156,"check":157,"severity":64,"summary":158},"Compliance","GDPR","The extension operates locally on user data and does not submit personal data to any third party.",{"category":156,"check":160,"severity":64,"summary":161},"Target market","The extension's functionality is general and not tied to any specific geographic or legal jurisdiction; targetMarket is global.",{"category":131,"check":163,"severity":64,"summary":164},"Runtime stability","The extension relies on standard bash and Node.js, making it portable across POSIX-like systems, and does not assume a specific editor or shell.",{"category":84,"check":166,"severity":64,"summary":167},"README","The README is comprehensive, well-structured, and clearly states the extension's purpose and functionality.",{"category":73,"check":169,"severity":64,"summary":170},"Tool surface size","The extension exposes a small number of tools (`/remember`, `/save-topic`, `/list-topics`) well within the target range.",{"category":80,"check":172,"severity":64,"summary":173},"Overlapping near-synonym tools","The exposed tools (`/remember`, `/save-topic`, `/list-topics`) have distinct and non-overlapping functionalities.",{"category":84,"check":175,"severity":64,"summary":176},"Phantom features","All features described in the README, such as topic archival and compaction recovery, are implemented via the provided scripts and hooks.",{"category":178,"check":179,"severity":64,"summary":180},"Install","Installation instruction","The README provides clear installation instructions for both the recommended plugin system and manual setup, including a copy-paste example.",{"category":182,"check":183,"severity":64,"summary":184},"Errors","Actionable error messages","The extension's local operation and clear scripting suggest that errors would be clearly reported and actionable.",{"category":186,"check":187,"severity":64,"summary":188},"Execution","Pinned dependencies","The extension specifies Node.js 18+ and uses bash scripts, with no complex third-party dependencies that would typically require pinning.",{"category":73,"check":190,"severity":191,"summary":192},"Dry-run preview","not_applicable","The extension is primarily focused on local file management and memory persistence, not state-changing operations that would require a dry-run mode.",{"category":194,"check":195,"severity":191,"summary":196},"Protocol","Idempotent retry & timeouts","The extension operates locally on files and does not involve network calls or state-changing operations that require idempotency or timeouts.",{"category":156,"check":198,"severity":64,"summary":199},"Telemetry opt-in","The extension operates locally and does not emit any telemetry by default, adhering to an opt-in principle.",{"category":73,"check":201,"severity":64,"summary":202},"Theme declaration","The marketplace README clearly states a specific curation theme: 'Topic-based automatic memory for Claude Code'.",{"category":139,"check":204,"severity":64,"summary":205},"Per-entry version metadata","The `marketplace.json` entry for this plugin specifies a `version: \"1.0.0\"`.",1778688339762,"This extension provides automatic topic-based memory management for Claude Code, saving conversations and preferences locally in Markdown files. It features automatic topic archival, context injection at session start, and recovery from context compactions, with a `/remember` skill for persisting preferences.",[209,210,211,212,213],"Automatic topic archival with summaries","Cross-session memory injection","Context compaction recovery via cold-reading transcripts","Persist preferences with the `/remember` skill","Local storage in Markdown files",[215,216,217],"Replacing Claude Code's core functionality","Providing cloud-based storage or synchronization","Managing memory for tools or plugins outside of Claude Code","3.1.0","To prevent Claude Code from losing context across sessions or during context compactions by automatically saving and retrieving conversational topics and user preferences.","All checks passed with a verified tier, indicating high quality and trustworthiness.",100,"A high-quality extension for managing Claude Code's memory context.",[28,224,225,29,226],"context","cli","automation",[228,229,230,231],"Maintaining long-term project context across multiple Claude Code sessions","Ensuring Claude Code remembers specific preferences or instructions","Recovering crucial information after a context compaction event","Automating the saving and retrieval of conversational topics",{"codeQuality":233,"collectedAt":235,"documentation":236,"maintenance":239,"security":246,"testCoverage":247},{"hasLockfile":234},false,1778688324291,{"descriptionLength":237,"readmeSize":238},44,7301,{"closedIssues90d":240,"forks":241,"hasChangelog":242,"manifestVersion":243,"openIssues90d":241,"pushedAt":244,"stars":245},2,3,true,"1.0.0",1772785245000,31,{"hasNpmPackage":234,"license":39,"smitheryVerified":234},{"hasCi":234,"hasTests":242},{"updatedAt":249},1778688340018,{"basePath":18,"githubOwner":19,"githubRepo":15,"locale":20,"slug":15,"type":251},"marketplace",null,{"evaluate":254,"extract":256},{"promptVersionExtension":218,"promptVersionScoring":25,"score":221,"tags":255,"targetMarket":35,"tier":36},[28,224,225,29,226],{"commitSha":38,"marketplace":257,"plugin":259},{"name":55,"pluginCount":258},1,{"mcpCount":11,"provider":41,"skillCount":11},{"repoId":44},{"_creationTime":262,"_id":44,"identity":263,"providers":264,"workflow":355},1778688317050.7341,{"githubOwner":19,"githubRepo":15,"sourceUrl":16},{"classify":265,"discover":337,"github":340},{"commitSha":38,"extensions":266},[267,280,303,313,321,329],{"basePath":18,"description":52,"displayName":55,"installMethods":268,"rationale":269,"selectedPaths":270,"source":279,"sourceLanguage":20,"type":251},{"claudeCode":54},"marketplace.json at .claude-plugin/marketplace.json",[271,274,276],{"path":272,"priority":273},".claude-plugin/marketplace.json","mandatory",{"path":275,"priority":273},"README.md",{"path":277,"priority":278},"LICENSE","high","rule",{"basePath":18,"description":13,"displayName":15,"installMethods":281,"license":39,"rationale":282,"selectedPaths":283,"source":279,"sourceLanguage":20,"type":21},{"claudeCode":15},"plugin manifest at .claude-plugin/plugin.json",[284,286,287,288,291,293,295,297,299,301],{"path":285,"priority":273},".claude-plugin/plugin.json",{"path":275,"priority":273},{"path":277,"priority":278},{"path":289,"priority":290},"skills/ignore-topic/SKILL.md","medium",{"path":292,"priority":290},"skills/list-topics/SKILL.md",{"path":294,"priority":290},"skills/remember/SKILL.md",{"path":296,"priority":290},"skills/save-topic/SKILL.md",{"path":298,"priority":278},"hooks/hooks.json",{"path":300,"priority":278},"hooks/session-start.sh",{"path":302,"priority":278},"hooks/stop.sh",{"basePath":304,"description":305,"displayName":306,"installMethods":307,"rationale":308,"selectedPaths":309,"source":279,"sourceLanguage":20,"type":312},"skills/ignore-topic","Use when the user wants to ignore, skip, or exclude specific topics from being archived. Triggers on \"ignore topic\", \"don't archive\", \"skip topic\", \"stop remembering\", \"list ignored topics\", \"remove ignore rule\".","ignore-topic",{"claudeCode":54},"SKILL.md frontmatter at skills/ignore-topic/SKILL.md",[310],{"path":311,"priority":273},"SKILL.md","skill",{"basePath":314,"description":315,"displayName":316,"installMethods":317,"rationale":318,"selectedPaths":319,"source":279,"sourceLanguage":20,"type":312},"skills/list-topics","Use when the user asks about topics discussed in the current session, wants to see a topic list, or asks what has been talked about.","list-topics",{"claudeCode":54},"SKILL.md frontmatter at skills/list-topics/SKILL.md",[320],{"path":311,"priority":273},{"basePath":322,"description":323,"displayName":324,"installMethods":325,"rationale":326,"selectedPaths":327,"source":279,"sourceLanguage":20,"type":312},"skills/remember","Use when the user wants to persistently remember something across sessions (e.g., \"always use bun\", \"never auto-commit\", \"my name is Alex\"). Also use when you detect a clear user preference or constraint worth persisting.","remember",{"claudeCode":54},"SKILL.md frontmatter at skills/remember/SKILL.md",[328],{"path":311,"priority":273},{"basePath":330,"description":331,"displayName":332,"installMethods":333,"rationale":334,"selectedPaths":335,"source":279,"sourceLanguage":20,"type":312},"skills/save-topic","Use when the user wants to save or checkpoint topic progress, persist current discussion state, or save all topics before ending a session.","save-topic",{"claudeCode":54},"SKILL.md frontmatter at skills/save-topic/SKILL.md",[336],{"path":311,"priority":273},{"sources":338},[339],"manual",{"closedIssues90d":240,"description":13,"forks":241,"license":39,"openIssues90d":241,"pushedAt":244,"readmeSize":238,"stars":245,"topics":341},[342,343,344,33,345,346,347,348,31,349,350,351,352,353,354],"agent-memory","ai-memory","anthropic","claude","claude-code","claude-code-hooks","claude-code-plugin","developer-tools","llm-tools","open-source","productivity","session-management","shell",{"classifiedAt":356,"discoverAt":357,"extractAt":358,"githubAt":358,"updatedAt":356},1778688321667,1778688317050,1778688319676,[226,225,224,28,29],{"evaluatedAt":249,"extractAt":48,"updatedAt":361},1778688561034,[],[364,388,415,444],{"_creationTime":365,"_id":366,"community":367,"display":368,"identity":374,"providers":376,"relations":381,"tags":383,"workflow":384},1778698056313.1506,"k17cgjbmysktxzsg0ve8mbf9hd86mv0f",{"reviewCount":11},{"description":369,"installMethods":370,"name":372,"sourceUrl":373},"Plugins by Alex Newman (thedotmack)",{"claudeCode":371},"thedotmack/claude-mem","thedotmack","https://github.com/thedotmack/claude-mem",{"basePath":18,"githubOwner":372,"githubRepo":375,"locale":20,"slug":375,"type":251},"claude-mem",{"evaluate":377,"extract":379},{"promptVersionExtension":218,"promptVersionScoring":25,"score":26,"tags":378,"targetMarket":35,"tier":36},[28,224,29,346,349,352],{"commitSha":38,"marketplace":380},{"name":372,"pluginCount":11},{"repoId":382},"kd70jnxgm695az2wtf37zbqdj986mp7k",[346,224,349,28,29,352],{"evaluatedAt":385,"extractAt":386,"updatedAt":387},1778698085682,1778698056313,1778698441156,{"_creationTime":389,"_id":390,"community":391,"display":392,"identity":398,"providers":400,"relations":408,"tags":410,"workflow":411},1778696712851.9736,"k1730g2nnwga3htdfycmc8h1gd86m3cs",{"reviewCount":11},{"description":393,"installMethods":394,"name":396,"sourceUrl":397},"2x the effective context with smart weight-loss for Claude Code — prune bloated sessions, protect agent teams from compaction, monitor token usage with MCP tools",{"claudeCode":395},"Ruya-AI/cozempic","cozempic","https://github.com/Ruya-AI/cozempic",{"basePath":18,"githubOwner":399,"githubRepo":396,"locale":20,"slug":396,"type":251},"Ruya-AI",{"evaluate":401,"extract":405},{"promptVersionExtension":218,"promptVersionScoring":25,"score":221,"tags":402,"targetMarket":35,"tier":36},[224,403,346,353,404],"optimization","ai-productivity",{"commitSha":38,"marketplace":406,"plugin":407},{"name":396,"pluginCount":258},{"mcpCount":11,"provider":41,"skillCount":11},{"repoId":409},"kd79d77qmyh3826dwhk7ynx9xd86nmqm",[404,346,224,403,353],{"evaluatedAt":412,"extractAt":413,"updatedAt":414},1778696729067,1778696712852,1778696924064,{"_creationTime":416,"_id":417,"community":418,"display":419,"identity":425,"providers":429,"relations":437,"tags":439,"workflow":440},1778693511416.3645,"k17de181ddh1gjh0zdntr3qxyn86nqna",{"reviewCount":11},{"description":420,"installMethods":421,"name":423,"sourceUrl":424},"Context window optimization for AI coding agents. Sandboxes tool output, 98% reduction. 15 platforms",{"claudeCode":422},"mksglu/context-mode","context-mode","https://github.com/mksglu/context-mode",{"basePath":426,"githubOwner":427,"githubRepo":423,"locale":20,"slug":428,"type":251},".agents/plugins","mksglu","plugins",{"evaluate":430,"extract":435},{"promptVersionExtension":218,"promptVersionScoring":25,"score":221,"tags":431,"targetMarket":35,"tier":36},[224,403,432,352,433,434],"llm","code-generation","sandbox",{"commitSha":38,"marketplace":436},{"name":423,"pluginCount":11},{"repoId":438},"kd764b2fctbqg4b8j8y6xvmkvs86m29m",[433,224,432,403,352,434],{"evaluatedAt":441,"extractAt":442,"updatedAt":443},1778693535406,1778693511416,1778693816674,{"_creationTime":445,"_id":446,"community":447,"display":448,"identity":454,"providers":457,"relations":469,"tags":471,"workflow":472},1778683562157.875,"k174pnm5ch9ab6fr1etef2f2b586m74b",{"reviewCount":11},{"description":449,"installMethods":450,"name":452,"sourceUrl":453},"Persistent memory and cognitive profiling plugins for Claude Code",{"claudeCode":451},"cdeust/Cortex","cortex-plugins","https://github.com/cdeust/Cortex",{"basePath":18,"githubOwner":455,"githubRepo":456,"locale":20,"slug":456,"type":251},"cdeust","Cortex",{"evaluate":458,"extract":466},{"promptVersionExtension":218,"promptVersionScoring":25,"score":221,"tags":459,"targetMarket":35,"tier":36},[28,460,461,346,462,463,464,465],"cognitive-profiling","mcp","knowledge-graph","codebase-analysis","postgresql","pgvector",{"commitSha":38,"marketplace":467,"plugin":468},{"name":452,"pluginCount":258},{"mcpCount":11,"provider":41,"skillCount":11},{"repoId":470},"kd79gxpemvkr09a7zsb3h8kmah86nvgf",[346,463,460,462,461,28,465,464],{"evaluatedAt":473,"extractAt":474,"updatedAt":473},1778683583007,1778683562157]