Research Library
by @jonbuckles
Local-first multimedia research library for hardware projects. Capture code, CAD, PDFs, images. Search with material-type weighting. Project isolation with cross-references. Async extraction. Backup + restore.
clawhub install research-libraryπ About This Skill
name: research-library description: Local-first multimedia research library for hardware projects. Capture code, CAD, PDFs, images. Search with material-type weighting. Project isolation with cross-references. Async extraction. Backup + restore. version: 0.1.0 author: Sage (for Jon Buckles) license: MIT tags: - knowledge-management - research - hardware - documentation - sqlite - fts5 repository: https://github.com/[user]/research-library keywords: - library - search - extraction - project-management - knowledge-base
Research Library Skill
A local-first multimedia research library for capturing, organizing, and searching hardware project knowledge.
What It Does
Installation
clawhub install research-library
OR
pip install /path/to/research-library
Quick Start
# Initialize database
reslib statusAdd a project
reslib add ~/projects/arduino/servo.py --project arduino --material-type referenceSearch
reslib search "servo tuning"Link knowledge
reslib link 5 12 --type applies_to
Features
CLI Commands
reslib add β Import documents (auto-detect + extract)reslib search β Full-text search with filtersreslib get β View document detailsreslib archive / reslib unarchive β Manage documentsreslib export β Export as JSON/Markdownreslib link β Create document relationshipsreslib projects β Manage projectsreslib tags β Manage tagsreslib status β System overviewreslib backup / reslib restore β Snapshotsreslib smoke_test.sh β Quick validationTechnical
Configuration
Copy reslib/config.json and customize:
{
"db_path": "~/.openclaw/research/library.db",
"num_workers": 2,
"worker_timeout_sec": 300,
"max_retries": 3,
"backup_retention_days": 30,
"backup_dir": "~/.openclaw/research/backups",
"file_size_limit_mb": 200,
"project_size_limit_gb": 2
}
Integration with War Room
Use RL1 protocol in war room DNA:
from reslib import ResearchDatabase, ResearchSearchdb = ResearchDatabase()
search = ResearchSearch(db)
Before researching, check existing knowledge
prior = search.search("servo tuning", project="rc-quadcopter")
if prior:
print(f"Found {len(prior)} prior items")
else:
# New research needed...
db.add_research(title="...", content="...", ...)
Performance
All targets exceeded:
| Operation | Target | Actual | |-----------|--------|--------| | PDF extraction | <100ms | 20.6ms | | Search (50 docs) | <100ms | 0.33ms | | Worker throughput | >6/sec | 414.69/sec |
Testing
# Run all tests
pytest tests/Quick smoke test
bash reslib/smoke_test.shPerformance tests
pytest tests/test_integration.py -v -k stress
Known Limitations (Phase 2)
Documentation
See /docs/:
CLI-REFERENCE.md β All commands + examplesEXTRACTION-GUIDE.md β How extraction worksSEARCH-GUIDE.md β Ranking + weightingWORKER-GUIDE.md β Async queue detailsINTEGRATION.md β War room RL1 protocolPhase 2 Roadmap
Building From Source
cd research-library
pip install -e .
pytest tests/
python -m reslib status
Support
Issues? See TECHNICAL-NOTES.md for troubleshooting.
*Production-ready MVP. 214 tests passing. 15K lines. Ready to use.*
π‘ Examples
# Initialize database
reslib statusAdd a project
reslib add ~/projects/arduino/servo.py --project arduino --material-type referenceSearch
reslib search "servo tuning"Link knowledge
reslib link 5 12 --type applies_to
βοΈ Configuration
Copy reslib/config.json and customize:
{
"db_path": "~/.openclaw/research/library.db",
"num_workers": 2,
"worker_timeout_sec": 300,
"max_retries": 3,
"backup_retention_days": 30,
"backup_dir": "~/.openclaw/research/backups",
"file_size_limit_mb": 200,
"project_size_limit_gb": 2
}