sage-memory
by Kerem Gok · ★ 5 · updated yesterday
Keeps project and global memories in SQLite through a shared local daemon, hands the model the entries that match its file tool calls, prompts and subagent tasks, and saves new ones with a haiku consolidator after each main-loop turn.
Install
/plugin marketplace add KilimcininKorOglu/claude-code-mods/plugin install sage-memory@kilimcininkoroglu-modsThen run /reload-plugins or start a new session. Requires Claude Code 2.1.287+.
What it hooks into
From an automated scan with claude plugin validate, not a security review. Mods run with your permissions; read the code before installing.
- Events
session.starttool.describetool.checktool.callprompt.sectionclassic.SessionStartsession.compactprompt.contextprompt.attachmentclassic.PostToolBatchprompt.submitagent.spawnturn.completesession.endcommand.runui.renderui.closeturn.start- API calls
$.clock.after$.clock.every$.clock.now$.command.register$.env.get$.fs.read$.http.fetch$.model.complete$.process.run$.session.cwd$.session.id$.session.usage$.sidebar.set$.store.get$.store.set$.tool.call$.tool.register- Draws
Pane- Can see
/"^mcp__sage-memory__"/ callsthe system promptclassic hookscompaction/"^(Read|Grep|Glob|LSP|Edit|Write|NotebookEdit|MultiEdit|mcp__(?!sage-memory__).+)$"/ callsevery promptsubagent spawns/"^(Edit|Write|NotebookEdit|MultiEdit)$"/ callsBash calls- Reach
- level 3 of 3 other: $.sidebar.setnetworkruns processesdrives Claudereads filesreads env varspersists state
Origin
- How it got here
- Automated scan of public GitHub repos, via the CC0 dataset awesome-claude-code-mods (scan of ).
- Repository
- github.com/KilimcininKorOglu/claude-code-mods
- Path in repo
plugins/sage-memory- Author
- Kerem Gok @KilimcininKorOglu
- License
- MIT
- First published
- Last pushed
- First listed here
- On X
- Mentioned in 4 posts on X
Name and description come from the mod's own manifest. We link to the code; we don't host it, and it stays under its author's license.
Posts about this repo
claude code'a deneysel olarak gelen fonksiyonel hook olayı hoşuma gitti. CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1 claude şeklinde aktif edebiliyorsunuz. opus'a hazırlattığım limit-watch eklentisinin toplatığı istatistiklere göre haftalık limitim, limitlerin resetlenmesinden ortalama 1 gün önce bitecekmiş mesela. bunun yanında gemini'yi kullanan bir çok md hazırlattım. advisor, compact gibi konularda topu gemini'ye attırarak haftalık limit kullanımlarını rahatlatmaya çalışıyorum. benim hazırlattığım function hooks destekleri mod'ların olduğu repo: https://github.com/KilimcininKorOglu/claude-code-mods
yeni mod: error-poke bazen api hatasından dolayı hata alıp duruyordu. böyle durumlarda mod otomatik devam etmesini sağlıyor. { "env": { "CLAUDE_CODE_ENABLE_FUNCTION_HOOKS": "1" } } ile desteği aktif ettikten sonra kurabilirsiniz: claude plugin marketplace add KilimcininKorOglu/claude-code-mods claude plugin install error-poke@kilimcininkoroglu-mods repo: https://github.com/KilimcininKorOglu/claude-code-mods/tree/main/plugins/error-poke
claude code modlarım artık status line'ı ve transcript'i kirletmiyor. sidebar: modların paylaştığı tek bir pane, iki katman. üstte duran durum, altta akan bulgular. en yeni üstte, pane dolunca en eski gider. api açık, her mod aynı yere yazar: await $.sidebar.set({ consumer: 'my-mod', key: 'src/users.ts', title: 'sql built from strings', lines: [{ text: 'src/users.ts:12', kind: 'warn' }], until: 'stream', }) until: 'session' üstte durur, until: 'stream' akışa düşer. set false dönerse sidebar kapalı demektir, modun kendi satırına geri döner. sidebar kurulu değilse çağrı hata verir, try/catch yeter. yani bağımlılık yok, modun tek başına da çalışır. button da koyabilirsin. basınca senin slash command'ını çalıştırır. ben kendi modlarımı bağladım. sen kendi modunu bağlayabilirsin. readme: https://github.com/kilimcininkoroglu/claude-code-mods/tree/main/plugins/sidebar
claude code sidebar mod sidebar: a single shared pane for mods, with two layers. the status stays at the top, while findings flow below it. newest items appear first, and when the pane fills up, the oldest ones are removed. the api is open, so every mod writes to the same place: await $.sidebar.set({ consumer: 'my-mod', key: 'src/users.ts', title: 'sql built from strings', lines: [{ text: 'src/users.ts:12', kind: 'warn' }], until: 'stream', }) until: 'session' stays at the top, while until: 'stream' goes into the flow. if set returns false, the sidebar is disabled, so the mod falls back to its own line. if the sidebar isn't installed, the call throws an error, so a try/catch is enough. in other words, there's no dependency, and the mod still works on its own. you can also add a button. when clicked, it runs your slash command. i've connected my own mods. you can connect yours. readme: https://github.com/kilimcininkoroglu/claude-code-mods/tree/main/plugins/sidebar
More from KilimcininKorOglu/claude-code-mods
action-pin
KilimcininKorOglu/claude-code-mods
After an edit that adds a GitHub Actions step pinned to a tag or a branch, names the commit SHA to write instead, from the GitHub API.
ask-autopick
KilimcininKorOglu/claude-code-mods
Picks the recommended option of a question that waited unanswered for a set time, so a session you left does not stop. Off until you turn it on.
bash-diet
KilimcininKorOglu/claude-code-mods
Shrinks each Bash result before the model reads it: per-command filters for git, test runners, linters, package managers, containers and file tools, the full output kept in a file.
bg-tasks
KilimcininKorOglu/claude-code-mods
Shows the background shell tasks of the session on the status line or in the shared sidebar, with the oldest one's age, and stops one from the /bg-tasks pane.
bughunt
KilimcininKorOglu/claude-code-mods
Runs proof-driven bug hunt rounds with /bughunt: each round proves one bug with a failing command the mod runs itself, fixes it, and proves the fix, and the loop stops on a blocked or unverified round. /bughunt collab runs a read-only scanner, planner and critic in sequence.
cache-warm
KilimcininKorOglu/claude-code-mods
Keeps the 1-hour prompt cache warm for a window you set, or with no end in every session under always, with one cache-shared fork per idle stretch and one keep-warm message after a resume, arms a window for you after a paid cold write, and shows the cache state, the cold price and this session's cold writes.
commit-cadence
KilimcininKorOglu/claude-code-mods
Names the uncommitted files to you at the end of each turn, and tells the model at the next prompt to commit each finished piece as it lands.
config-parse
KilimcininKorOglu/claude-code-mods
Parses each JSON, YAML, TOML or .env file an Edit or Write touches, notes a parse error at once instead of at the next build, and says so again when a later edit fixes it.
context-restore
KilimcininKorOglu/claude-code-mods
Hands a skill or command call the current text of its file when the file changed on disk after the session loaded it, and hands the model a rules file or the global CLAUDE.md that changed on disk.
contract-watch
KilimcininKorOglu/claude-code-mods
After the model changes a function signature with Edit, adds the callers ripwire finds to the Edit's result, so the model fixes them before the build does.
council
KilimcininKorOglu/claude-code-mods
Asks a council of models about a hard problem, when the model calls its tool or you run /council : Claude models, and Gemini models when gemini-core has a key, answer in parallel, and the model of the session writes one verdict from their answers.
dep-sentinel
KilimcininKorOglu/claude-code-mods
Checks each package the model installs against its registry and OSV.dev, and stops a missing, brand-new, look-alike, outdated or vulnerable one, naming the latest version.