← Back to Skills Marketplace
ckchzh

Ebook

by BytesAgain2 · GitHub ↗ · v2.0.0 · MIT-0
cross-platform ⚠ suspicious
226
Downloads
0
Stars
2
Active Installs
1
Versions
Install in OpenClaw
/install ebook
Description
Manage ebook collections, track reading progress, and export highlights using bash and Python. Use when cataloging books, logging reading sessions, or organi...
README (SKILL.md)

Ebook — Digital Book Collection & Reading Tracker

A comprehensive ebook management tool for cataloging digital books, tracking reading progress, managing highlights and annotations, rating and reviewing books, and exporting your library. All data is stored locally in JSONL format for portability and privacy.

Prerequisites

  • Python 3.6+
  • Bash 4+

Data Storage

All ebook records, reading sessions, highlights, and reviews are stored in ~/.ebook/data.jsonl. Each record is a JSON object with fields including id, type (book, session, highlight, review), title, author, format, pages, progress, created_at, and additional type-specific fields.

Commands

Run via: bash scripts/script.sh \x3Ccommand> [options]

Command Description
add Add a new ebook to the collection with title, author, format, and page count
list List all ebooks in the collection with optional filters by author, format, or status
search Search ebooks by title, author, tag, or keyword across all fields
update Update metadata for an existing ebook (title, author, tags, status)
delete Remove an ebook from the collection by ID
read Log a reading session with start page, end page, and duration
progress Show reading progress for a specific book or all books
highlight Add a highlighted passage or annotation linked to a book and page
review Add or update a rating (1-5 stars) and review text for a book
stats Show reading statistics: total books, pages read, time spent, averages
export Export the library or highlights to JSON, CSV, or Markdown format
help Show usage information
version Print the tool version

Usage Examples

# Add a new ebook
bash scripts/script.sh add --title "Deep Work" --author "Cal Newport" --format epub --pages 296 --tags "productivity,focus"

# List all books
bash scripts/script.sh list

# List only unread books
bash scripts/script.sh list --status unread

# Search by author
bash scripts/script.sh search --author "Newport"

# Search by keyword
bash scripts/script.sh search --query "productivity"

# Update book metadata
bash scripts/script.sh update --id abc123 --status reading --tags "self-help,focus"

# Delete a book
bash scripts/script.sh delete --id abc123

# Log a reading session (30 minutes, pages 1-45)
bash scripts/script.sh read --id abc123 --start-page 1 --end-page 45 --duration 30

# Check progress
bash scripts/script.sh progress --id abc123

# Add a highlight
bash scripts/script.sh highlight --id abc123 --page 42 --text "The key to developing deep work is..."

# Write a review
bash scripts/script.sh review --id abc123 --rating 5 --text "Transformative book on focused work"

# View reading stats
bash scripts/script.sh stats

# Export library to markdown
bash scripts/script.sh export --format md --output library.md

# Export highlights to CSV
bash scripts/script.sh export --format csv --type highlights --output highlights.csv

Output Format

list and search return formatted tables to stdout. progress shows a progress bar with percentage. stats returns a summary with totals and averages. export writes to the specified file and confirms the path. All metadata commands return JSON.

Notes

  • Supported ebook formats: epub, pdf, mobi, azw3, txt, djvu.
  • Book statuses: unread, reading, finished, abandoned, wishlist.
  • Reading sessions are linked to books by ID; multiple sessions per book are supported.
  • Highlights include page number, text content, and optional color tag.
  • The stats command calculates: total books, books by status, total pages read, total reading time, average pages per session, and reading streak.
  • Export formats: json (full data), csv (tabular), md (Markdown with headers and lists).
  • All IDs are auto-generated 8-character hex strings.

Powered by BytesAgain | bytesagain.com | [email protected]

Usage Guidance
This skill appears to be a simple local ebook manager that stores data under ~/.ebook/data.jsonl and does not request network access or credentials. Before installing or running: (1) review the full scripts/script.sh file yourself (the provided listing was truncated in the prompt) to confirm there are no hidden network calls or commands you don't expect; (2) back up any existing ~/.ebook/data.jsonl to avoid accidental overwrite; (3) run the script in a sandbox/container if you want to test behavior before using it on real data; and (4) if you plan to export files, verify export paths to avoid overwriting important files.
Capability Analysis
Type: OpenClaw Skill Name: ebook Version: 2.0.0 The skill bundle provides legitimate ebook management functionality but contains two notable security vulnerabilities. In `scripts/script.sh`, arguments are passed to Python via a newline-delimited environment variable (`SKILL_ARGV`), which is susceptible to argument injection if an input contains newline characters. Additionally, the `export` command in the Python logic (within `scripts/script.sh`) accepts a user-provided `--output` path and writes to it without sanitization, which could be exploited to overwrite sensitive system files if the AI agent is manipulated.
Capability Assessment
Purpose & Capability
Name/description (ebook manager, reading tracker, export highlights) align with the provided files. The script implements add/list/search/update/delete/read/progress/highlight/review/stats/export and stores data under ~/.ebook/data.jsonl, which is appropriate for the stated purpose.
Instruction Scope
SKILL.md tells the agent to run bash scripts/script.sh and documents expected behavior. The embedded Python code operates only on the local data file (~/.ebook/data.jsonl) and command-line args; there are no instructions to read unrelated system files, environment variables, or send data to external endpoints in the visible code.
Install Mechanism
No install spec is provided (instruction-only behavior plus a script file). Nothing is downloaded or installed by the skill itself, minimizing install-time risk.
Credentials
The skill declares no required environment variables or credentials. The script only uses $HOME to place its data directory; no unexpected secrets or unrelated service credentials are requested.
Persistence & Privilege
The skill is not forced-always (always:false) and does not declare any system-wide configuration changes. It persists only its own data under ~/.ebook and writes exported files as requested by the user.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install ebook
  3. After installation, invoke the skill by name or use /ebook
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v2.0.0
Domain-specific upgrade
Metadata
Slug ebook
Version 2.0.0
License MIT-0
All-time Installs 2
Active Installs 2
Total Versions 1
Frequently Asked Questions

What is Ebook?

Manage ebook collections, track reading progress, and export highlights using bash and Python. Use when cataloging books, logging reading sessions, or organi... It is an AI Agent Skill for Claude Code / OpenClaw, with 226 downloads so far.

How do I install Ebook?

Run "/install ebook" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Ebook free?

Yes, Ebook is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Ebook support?

Ebook is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Ebook?

It is built and maintained by BytesAgain2 (@ckchzh); the current version is v2.0.0.

💬 Comments