- Created
src/learnbase/core/to_learn_manager.py(408 lines)- Single markdown file management
- Table and section parsing
- CRUD operations with status support
- Atomic file writes
- Migration from old file system
- Created
src/learnbase/tools/to_learn.py(280 lines)- 6 tool handlers following existing patterns
- Proper error handling and logging
- Formatted TextContent responses
- Updated
src/learnbase/mcp_server.py- Registered 6 new MCP tools
- Added tool dispatch logic
- Initialized ToLearnManager singleton
- Updated
src/learnbase/tools/__init__.py- Added imports for new handlers
- Created migration script
scripts/migrate_to_learn.py - Successfully migrated 7 existing files
- Moved old files to
~/.learnbase/to_learn_archived_20260125_232936/ - Created migration log at
~/.learnbase/to_learn_migration.log
- add_to_learn - Add topics to learning list
- list_to_learn - List topics with status filtering
- get_to_learn - Get detailed topic information
- update_to_learn - Update notes, status, or context
- update_to_learn_status - Change topic status
- remove_to_learn - Archive completed topics
New files created:
~/.learnbase/
├── to_learn.md # Single file for all topics
├── to_learn_archived_20260125_232936/ # Old files backed up
└── to_learn_migration.log # Migration summary
Code files created:
src/learnbase/
├── core/
│ └── to_learn_manager.py # Core manager (408 lines)
└── tools/
└── to_learn.py # MCP tool handlers (280 lines)
Scripts created:
scripts/
├── migrate_to_learn.py # Migration script
├── test_to_learn.py # Test script
└── cleanup_to_learn.py # Formatting cleanup
Documentation created:
docs/
└── TO_LEARN_TOOLS.md # Complete tool documentation
- ✓ All 7 files migrated successfully
- ✓ No migration errors
- ✓ Old files safely archived
- ✓ Add quick topic
- ✓ Add detailed topic
- ✓ List topics
- ✓ Update status
- ✓ Update notes
- ✓ Get topic
- ✓ Archive topic
- ✓ Clean markdown structure
- ✓ Proper table formatting
- ✓ Status counts accurate
- ✓ Archive section working
Topics in system:
- Quick capture: 0
- Detailed topics: 8
- 7 migrated from old system
- 1 test topic ("Test Detailed Topic")
- Archived: 1 (test topic)
All topics set to: to-learn status (ready for you to organize)
"I'd like to learn about WebSockets later"
→ Uses add_to_learn(topic="WebSockets", context="Mentioned in conversation")
"What topics do I have to learn?"
→ Uses list_to_learn()
"I'm starting to learn about WebSockets"
→ Uses update_to_learn_status(topic="WebSockets", status="in-progress")
"I've finished learning about WebSockets"
→ Uses update_to_learn_status(topic="WebSockets", status="learned")
→ Then remove_to_learn(topic="WebSockets") # Moves to archive
- Separate from review notes: To-learn topics are distinct from LearnBase spaced repetition notes
- Complementary workflow:
- Add topic to learn →
add_to_learn - Research and learn
- Create review note →
add_note(spaced repetition) - Archive learning topic →
remove_to_learn
- Add topic to learn →
Not implemented yet, but could be added:
- Priority field (high/medium/low)
- Search by keyword in topic names
- Filter by date range
- Link to related LearnBase notes
- Export to CSV/JSON
- Tags for categorization
- Full tool documentation:
docs/TO_LEARN_TOOLS.md - Original plan:
~/.claude-account1/plans/dreamy-weaving-brooks.md - This summary:
IMPLEMENTATION_SUMMARY.md
- Single file simplicity - Easy to scan, edit, and version control
- Quick capture - "I'd like to learn about that later" → instant save
- Status tracking - Know what you're learning vs. planning to learn
- Archive history - Record of what you've learned
- Manual editable - Works in Obsidian or any text editor
- Git-friendly - Single file diffs instead of multiple files