Add Claude Code skills memory bridge example#734
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (2)
📝 WalkthroughWalkthroughThis PR adds a complete Memanto example that demonstrates cross-skill and cross-session memory persistence for Claude Code. It includes a core implementation ( ChangesSkills Memory Bridge Example
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@examples/claudecode-skills-memanto/skill_memory_bridge.py`:
- Line 117: The default confidence values are inconsistent between the class
__init__ (default 0.82) and the from_dict() factory (uses 0.72); update
from_dict() to use the same default as __init__ by changing
payload.get("confidence", 0.72) to payload.get("confidence", 0.82) (or
alternatively update __init__ to 0.72 if you prefer that default) so both Record
construction paths use the same default confidence.
- Around line 233-241: MemantoCliBackend.recall() currently collapses all CLI
stdout into one MemoryRecord; change it to return one MemoryRecord per returned
memory preserving its memory_type, confidence, title and tags instead of a
single record. Preferably replace the CLI invocation with the SDK client call to
retrieve the structured list of memories (use the SDK method that returns the
memories list) and map each memory -> MemoryRecord(content=..., memory_type=...,
title=..., confidence=..., tags=...). If you must keep the CLI path, parse the
memanto recall stdout panels into discrete memory entries and construct a
MemoryRecord per entry (filling memory_type/confidence/tags from the parsed
fields) rather than concatenating everything into a single MemoryRecord.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 63ea2839-fabd-43d3-8810-5940115e7edc
📒 Files selected for processing (6)
examples/claudecode-skills-memanto/README.mdexamples/claudecode-skills-memanto/demo.pyexamples/claudecode-skills-memanto/requirements.txtexamples/claudecode-skills-memanto/skill_memory_bridge.pyexamples/claudecode-skills-memanto/test_skill_memory_bridge.pyexamples/claudecode-skills-memanto/validate.py
Refs #508
BountyHub: https://www.bountyhub.dev/bounty/view/3a63800c-7c18-41d2-870f-c62344f8a3fe
Summary
examples/claudecode-skills-memanto, a credential-free Claude Code skills memory bridge.before,after, andwraplifecycle hooks that distill skill summaries into typed engineering memories and inject relevant context before later skills run.MEMANTO_SKILLS_BACKEND=clipath for live Memanto CLI recall/writeback.Verification
py -3.12 demo.pypy -3.12 validate.pypy -3.12 -m unittest test_skill_memory_bridge.pypy -3.12 -m py_compile examples\claudecode-skills-memanto\skill_memory_bridge.py examples\claudecode-skills-memanto\demo.py examples\claudecode-skills-memanto\validate.py examples\claudecode-skills-memanto\test_skill_memory_bridge.pygit diff --checkShowcase
The README includes the full credential-free demo flow and commands. I have not posted an external social-media showcase yet; per the maintainer clarification in #508 (comment), technical review can proceed without an external social post, and social engagement only affects the leaderboard scoring.
Summary by CodeRabbit
New Features
Documentation
Tests