{
  "schemaVersion": "1.0",
  "item": {
    "slug": "research-library",
    "name": "Research Library",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/Jonbuckles/research-library",
    "canonicalUrl": "https://clawhub.ai/Jonbuckles/research-library",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/research-library",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=research-library",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "BUILD_LOG.md",
      "PHASE1-FINAL-METRICS.md",
      "RESEARCH-LIBRARY-SKILL.md",
      "SKILL.md",
      "TECHNICAL-NOTES.md",
      "_meta.json"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "slug": "research-library",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-08T05:00:10.878Z",
      "expiresAt": "2026-05-15T05:00:10.878Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=research-library",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=research-library",
        "contentDisposition": "attachment; filename=\"research-library-0.1.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "research-library"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/research-library"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/research-library",
    "agentPageUrl": "https://openagent3.xyz/skills/research-library/agent",
    "manifestUrl": "https://openagent3.xyz/skills/research-library/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/research-library/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Research Library Skill",
        "body": "A local-first multimedia research library for capturing, organizing, and searching hardware project knowledge."
      },
      {
        "title": "What It Does",
        "body": "Store documents — Code, PDFs, CAD files, images, schematics\nExtract automatically — Text from PDFs, EXIF from images, functions from code\nSearch intelligently — Full-text with material-type weighting (your work ranks higher than external research)\nProject isolation — Arduino separate from CNC; no contamination\nCross-reference — Link knowledge: \"this servo tuning applies to that project\"\nAsync extraction — Searches never block while OCR runs\nBackup daily — 30-day rolling snapshots"
      },
      {
        "title": "Installation",
        "body": "clawhub install research-library\n# OR\npip install /path/to/research-library"
      },
      {
        "title": "Quick Start",
        "body": "# Initialize database\nreslib status\n\n# Add a project\nreslib add ~/projects/arduino/servo.py --project arduino --material-type reference\n\n# Search\nreslib search \"servo tuning\"\n\n# Link knowledge\nreslib link 5 12 --type applies_to"
      },
      {
        "title": "CLI Commands",
        "body": "reslib add — Import documents (auto-detect + extract)\nreslib search — Full-text search with filters\nreslib get — View document details\nreslib archive / reslib unarchive — Manage documents\nreslib export — Export as JSON/Markdown\nreslib link — Create document relationships\nreslib projects — Manage projects\nreslib tags — Manage tags\nreslib status — System overview\nreslib backup / reslib restore — Snapshots\nreslib smoke_test.sh — Quick validation"
      },
      {
        "title": "Technical",
        "body": "Storage: SQLite 3.45+ with FTS5 virtual table\nExtraction: PDF (pdfplumber + OCR), images (EXIF + OCR), code (AST + regex)\nConfidence Scoring: 0.0-1.0 based on quality + source\nMaterial Weighting: Reference (1.0) vs Research (0.5)\nProject Isolation: Scoped searches, no contamination\nAsync Workers: 2-4 configurable extraction workers\nCatalog Separation: real_world vs openclaw projects\nBackup: Daily snapshots, 30-day retention"
      },
      {
        "title": "Configuration",
        "body": "Copy reslib/config.json and customize:\n\n{\n  \"db_path\": \"~/.openclaw/research/library.db\",\n  \"num_workers\": 2,\n  \"worker_timeout_sec\": 300,\n  \"max_retries\": 3,\n  \"backup_retention_days\": 30,\n  \"backup_dir\": \"~/.openclaw/research/backups\",\n  \"file_size_limit_mb\": 200,\n  \"project_size_limit_gb\": 2\n}"
      },
      {
        "title": "Integration with War Room",
        "body": "Use RL1 protocol in war room DNA:\n\nfrom reslib import ResearchDatabase, ResearchSearch\n\ndb = ResearchDatabase()\nsearch = ResearchSearch(db)\n\n# Before researching, check existing knowledge\nprior = search.search(\"servo tuning\", project=\"rc-quadcopter\")\nif prior:\n    print(f\"Found {len(prior)} prior items\")\nelse:\n    # New research needed...\n    db.add_research(title=\"...\", content=\"...\", ...)"
      },
      {
        "title": "Performance",
        "body": "All targets exceeded:\n\nOperationTargetActualPDF extraction<100ms20.6msSearch (50 docs)<100ms0.33msWorker throughput>6/sec414.69/sec"
      },
      {
        "title": "Testing",
        "body": "# Run all tests\npytest tests/\n\n# Quick smoke test\nbash reslib/smoke_test.sh\n\n# Performance tests\npytest tests/test_integration.py -v -k stress"
      },
      {
        "title": "Known Limitations (Phase 2)",
        "body": "OCR quality varies on hand-drawn sketches\nFTS5 designed for <10K documents (PostgreSQL path for scale)\nNo automatic web research gathering (manual only)\nVector embeddings ready but inactive\nCAD file parsing is metadata-only"
      },
      {
        "title": "Documentation",
        "body": "See /docs/:\n\nCLI-REFERENCE.md — All commands + examples\nEXTRACTION-GUIDE.md — How extraction works\nSEARCH-GUIDE.md — Ranking + weighting\nWORKER-GUIDE.md — Async queue details\nINTEGRATION.md — War room RL1 protocol"
      },
      {
        "title": "Phase 2 Roadmap",
        "body": "Real-world PDF calibration\nFTS5 scaling tests (10K docs)\nAuto-detection (reference vs research)\nWeb research enrichment\nVector embeddings (semantic search)\nPostgreSQL upgrade path"
      },
      {
        "title": "Building From Source",
        "body": "cd research-library\npip install -e .\npytest tests/\npython -m reslib status"
      },
      {
        "title": "Support",
        "body": "Issues? See TECHNICAL-NOTES.md for troubleshooting.\n\nProduction-ready MVP. 214 tests passing. 15K lines. Ready to use."
      }
    ],
    "body": "Research Library Skill\n\nA local-first multimedia research library for capturing, organizing, and searching hardware project knowledge.\n\nWhat It Does\nStore documents — Code, PDFs, CAD files, images, schematics\nExtract automatically — Text from PDFs, EXIF from images, functions from code\nSearch intelligently — Full-text with material-type weighting (your work ranks higher than external research)\nProject isolation — Arduino separate from CNC; no contamination\nCross-reference — Link knowledge: \"this servo tuning applies to that project\"\nAsync extraction — Searches never block while OCR runs\nBackup daily — 30-day rolling snapshots\nInstallation\nclawhub install research-library\n# OR\npip install /path/to/research-library\n\nQuick Start\n# Initialize database\nreslib status\n\n# Add a project\nreslib add ~/projects/arduino/servo.py --project arduino --material-type reference\n\n# Search\nreslib search \"servo tuning\"\n\n# Link knowledge\nreslib link 5 12 --type applies_to\n\nFeatures\nCLI Commands\nreslib add — Import documents (auto-detect + extract)\nreslib search — Full-text search with filters\nreslib get — View document details\nreslib archive / reslib unarchive — Manage documents\nreslib export — Export as JSON/Markdown\nreslib link — Create document relationships\nreslib projects — Manage projects\nreslib tags — Manage tags\nreslib status — System overview\nreslib backup / reslib restore — Snapshots\nreslib smoke_test.sh — Quick validation\nTechnical\nStorage: SQLite 3.45+ with FTS5 virtual table\nExtraction: PDF (pdfplumber + OCR), images (EXIF + OCR), code (AST + regex)\nConfidence Scoring: 0.0-1.0 based on quality + source\nMaterial Weighting: Reference (1.0) vs Research (0.5)\nProject Isolation: Scoped searches, no contamination\nAsync Workers: 2-4 configurable extraction workers\nCatalog Separation: real_world vs openclaw projects\nBackup: Daily snapshots, 30-day retention\nConfiguration\n\nCopy reslib/config.json and customize:\n\n{\n  \"db_path\": \"~/.openclaw/research/library.db\",\n  \"num_workers\": 2,\n  \"worker_timeout_sec\": 300,\n  \"max_retries\": 3,\n  \"backup_retention_days\": 30,\n  \"backup_dir\": \"~/.openclaw/research/backups\",\n  \"file_size_limit_mb\": 200,\n  \"project_size_limit_gb\": 2\n}\n\nIntegration with War Room\n\nUse RL1 protocol in war room DNA:\n\nfrom reslib import ResearchDatabase, ResearchSearch\n\ndb = ResearchDatabase()\nsearch = ResearchSearch(db)\n\n# Before researching, check existing knowledge\nprior = search.search(\"servo tuning\", project=\"rc-quadcopter\")\nif prior:\n    print(f\"Found {len(prior)} prior items\")\nelse:\n    # New research needed...\n    db.add_research(title=\"...\", content=\"...\", ...)\n\nPerformance\n\nAll targets exceeded:\n\nOperation\tTarget\tActual\nPDF extraction\t<100ms\t20.6ms\nSearch (50 docs)\t<100ms\t0.33ms\nWorker throughput\t>6/sec\t414.69/sec\nTesting\n# Run all tests\npytest tests/\n\n# Quick smoke test\nbash reslib/smoke_test.sh\n\n# Performance tests\npytest tests/test_integration.py -v -k stress\n\nKnown Limitations (Phase 2)\nOCR quality varies on hand-drawn sketches\nFTS5 designed for <10K documents (PostgreSQL path for scale)\nNo automatic web research gathering (manual only)\nVector embeddings ready but inactive\nCAD file parsing is metadata-only\nDocumentation\n\nSee /docs/:\n\nCLI-REFERENCE.md — All commands + examples\nEXTRACTION-GUIDE.md — How extraction works\nSEARCH-GUIDE.md — Ranking + weighting\nWORKER-GUIDE.md — Async queue details\nINTEGRATION.md — War room RL1 protocol\nPhase 2 Roadmap\nReal-world PDF calibration\nFTS5 scaling tests (10K docs)\nAuto-detection (reference vs research)\nWeb research enrichment\nVector embeddings (semantic search)\nPostgreSQL upgrade path\nBuilding From Source\ncd research-library\npip install -e .\npytest tests/\npython -m reslib status\n\nSupport\n\nIssues? See TECHNICAL-NOTES.md for troubleshooting.\n\nProduction-ready MVP. 214 tests passing. 15K lines. Ready to use."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/Jonbuckles/research-library",
    "publisherUrl": "https://clawhub.ai/Jonbuckles/research-library",
    "owner": "Jonbuckles",
    "version": "0.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/research-library",
    "downloadUrl": "https://openagent3.xyz/downloads/research-library",
    "agentUrl": "https://openagent3.xyz/skills/research-library/agent",
    "manifestUrl": "https://openagent3.xyz/skills/research-library/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/research-library/agent.md"
  }
}