โ† All skills
Tencent SkillHub ยท Productivity

Openclaw Skill

Convert PDFs into structured Markdown filesystems and hydrate them into your workspace for exploration with standard Unix tools

skill openclawclawhub Free
0 Downloads
0 Stars
0 Installs
0 Score
High Signal

Convert PDFs into structured Markdown filesystems and hydrate them into your workspace for exploration with standard Unix tools

โฌ‡ 0 downloads โ˜… 0 stars Unverified but indexed

Install for OpenClaw

Quick setup
  1. Download the package from Yavira.
  2. Extract the archive and review SKILL.md first.
  3. Import or place the package into your OpenClaw setup.

Requirements

Target platform
OpenClaw
Install method
Manual import
Extraction
Extract archive
Prerequisites
OpenClaw
Primary doc
SKILL.md

Package facts

Download mode
Yavira redirect
Package format
ZIP package
Source platform
Tencent SkillHub
What's included
README.md, SKILL.md, references/api-reference.md, references/error-handling.md, references/shelf-lifecycle.md, scripts/shelv-hydrate.sh

Validation

  • Use the Yavira download entry.
  • Review SKILL.md after the package is downloaded.
  • Confirm the extracted package contains the expected setup assets.

Install with your agent

Agent handoff

Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.

  1. Download the package from Yavira.
  2. Extract it into a folder your agent can access.
  3. Paste one of the prompts below and point your agent at the extracted folder.
New install

I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.

Upgrade existing

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. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.

Trust & source

Release facts

Source
Tencent SkillHub
Verification
Indexed source record
Version
1.0.3

Documentation

ClawHub primary doc Primary doc: SKILL.md 11 sections Open source page

Shelv

Shelv converts PDF documents (contracts, books, research papers, regulations) into structured Markdown filesystems. Upload a PDF, wait for processing, then hydrate the result into your workspace as real files you can explore with ls, cat, grep, and find. API base URL: https://api.shelv.dev Auth: Authorization: Bearer $SHELV_API_KEY on every request. Get your API key at shelv.dev โ†’ Settings โ†’ API Keys.

1. Upload a document

Upload a PDF to create a new shelf. Processing runs asynchronously. SHELF_ID=$({baseDir}/scripts/shelv-upload.sh /path/to/document.pdf --name "My Document") With options: # Use a structuring template SHELF_ID=$({baseDir}/scripts/shelv-upload.sh document.pdf --name "Q4 Contract" --template legal-contract) # Enable review mode (pause before finalizing) SHELF_ID=$({baseDir}/scripts/shelv-upload.sh document.pdf --review) # Upload and wait for processing to complete SHELF_ID=$({baseDir}/scripts/shelv-upload.sh document.pdf --wait) The script prints the shelf public ID (e.g. shf_0123456789abcdef01234567) to stdout. Available templates: book, legal-contract, academic-paper. Omit to let Shelv auto-detect structure. Inline alternative (without the script): curl -X POST "https://api.shelv.dev/v1/shelves" \ -H "Authorization: Bearer $SHELV_API_KEY" \ -F "file=@document.pdf" \ -F "name=My Document" Response (201): { "publicId": "shf_0123456789abcdef01234567", "name": "My Document", "status": "uploading", "template": null, "reviewMode": false, "pageCount": null, "createdAt": "2025-01-15T10:30:00.000Z", "updatedAt": "2025-01-15T10:30:00.000Z" }

2. Poll for processing completion

Wait for a shelf to finish processing: {baseDir}/scripts/shelv-poll-status.sh shf_0123456789abcdef01234567 The script polls GET /v1/shelves/{id} every 5 seconds and prints the current status. It exits 0 when the shelf reaches ready or review, and exits 1 on failed (with error details) or timeout (10 minutes). Processing flow: uploading โ†’ parsing โ†’ structuring โ†’ verifying โ†’ ready If review mode is enabled, the flow pauses at review instead of ready. Inline alternative: curl -s "https://api.shelv.dev/v1/shelves/$SHELF_ID" \ -H "Authorization: Bearer $SHELV_API_KEY" | jq '.status'

3. Hydrate a shelf into the workspace

Download and extract the shelf's Markdown filesystem into your workspace: {baseDir}/scripts/shelv-hydrate.sh shf_0123456789abcdef01234567 This downloads the archive, verifies its checksum, and extracts it to ~/.openclaw/workspace/shelves/<name>/. The script prints a file listing after extraction. Override the directory name: {baseDir}/scripts/shelv-hydrate.sh shf_0123456789abcdef01234567 --name my-contract Replace an existing shelf (required if the directory already exists): {baseDir}/scripts/shelv-hydrate.sh shf_0123456789abcdef01234567 --force After hydration, explore the files: ls ~/.openclaw/workspace/shelves/my-contract/ cat ~/.openclaw/workspace/shelves/my-contract/README.md find ~/.openclaw/workspace/shelves/my-contract/ -name "*.md" grep -r "force majeure" ~/.openclaw/workspace/shelves/my-contract/

4. List and browse existing shelves

List all shelves: curl -s "https://api.shelv.dev/v1/shelves?page=1&limit=20" \ -H "Authorization: Bearer $SHELV_API_KEY" | jq '.data[] | {publicId, name, status}' Get the file tree (flat JSON map of path โ†’ content): curl -s "https://api.shelv.dev/v1/shelves/$SHELF_ID/tree" \ -H "Authorization: Bearer $SHELV_API_KEY" | jq '.files | keys[]' Response shape: { "shelfPublicId": "shf_0123456789abcdef01234567", "name": "My Contract", "fileCount": 8, "files": { "README.md": "# My Contract\n...", "clauses/force-majeure.md": "# Force Majeure\n..." } }

5. Read individual files without hydration

Read a single file by path (useful for targeted lookups without downloading the full archive): curl -s "https://api.shelv.dev/v1/shelves/$SHELF_ID/files/README.md" \ -H "Authorization: Bearer $SHELV_API_KEY" curl -s "https://api.shelv.dev/v1/shelves/$SHELF_ID/files/clauses/force-majeure.md" \ -H "Authorization: Bearer $SHELV_API_KEY" Returns raw Markdown content (text/markdown).

Workspace Conventions

Hydrated shelves live at: ~/.openclaw/workspace/shelves/{name}/ The {name} is derived from the shelf's display name (lowercased, spaces and special characters replaced with hyphens). Override with --name when hydrating. If a directory already exists at the target path, the script will refuse to overwrite it unless --force is passed. After hydration, use standard Unix tools to explore: # List all files find ~/.openclaw/workspace/shelves/{name}/ -type f # Read a specific file cat ~/.openclaw/workspace/shelves/{name}/README.md # Search across all files grep -r "keyword" ~/.openclaw/workspace/shelves/{name}/ # Count files find ~/.openclaw/workspace/shelves/{name}/ -type f | wc -l

Async Operations

Shelf processing is asynchronous. After uploading, the shelf progresses through: uploading โ†’ parsing โ†’ structuring โ†’ verifying โ†’ ready Use the poll script to wait for completion: {baseDir}/scripts/shelv-poll-status.sh $SHELF_ID If the shelf reaches failed, the error message and failed step are printed. You can retry: curl -X POST "https://api.shelv.dev/v1/shelves/$SHELF_ID/retry" \ -H "Authorization: Bearer $SHELV_API_KEY" For review mode shelves, approve to finalize: curl -X POST "https://api.shelv.dev/v1/shelves/$SHELF_ID/approve" \ -H "Authorization: Bearer $SHELV_API_KEY" Or regenerate the structure: curl -X POST "https://api.shelv.dev/v1/shelves/$SHELF_ID/regenerate" \ -H "Authorization: Bearer $SHELV_API_KEY"

Status-Gated Endpoint Matrix

Not all endpoints are available in every status. The archive, tree, and file endpoints require ready or review: EndpointProcessingreviewreadyfailedGET /v1/shelves/{id}YesYesYesYesGET .../treeNoYesYesNoGET .../files/*NoYesYesNoGET .../archive-urlNoYesYesNoPOST .../approveNoYesNoNoPOST .../regenerateNoYesNoNoPOST .../retryNoNoNoYes A 409 Conflict is returned if you call an endpoint outside its allowed statuses.

Rate Limits

ScopeLimitReads (GET)120 requests / minWrites (POST/DELETE)20 requests / minShelf creation10 / hour On 429 Too Many Requests, back off and retry after the indicated period.

Reference Pointers

For detailed API documentation, error codes, and lifecycle diagrams, see: {baseDir}/references/api-reference.md โ€” Full endpoint docs and response shapes {baseDir}/references/shelf-lifecycle.md โ€” Status flow, review mode, template behavior {baseDir}/references/error-handling.md โ€” Error codes, retry strategies

Category context

Workflow acceleration for inboxes, docs, calendars, planning, and execution loops.

Source: Tencent SkillHub

Largest current source with strong distribution and engagement signals.

Package contents

Included in package
5 Docs1 Scripts
  • SKILL.md Primary doc
  • README.md Docs
  • references/api-reference.md Docs
  • references/error-handling.md Docs
  • references/shelf-lifecycle.md Docs
  • scripts/shelv-hydrate.sh Scripts