← 返回 Skills 市场
Book Capture Obsidian
作者
Ricardo Almeida
· GitHub ↗
· v1.2.1
361
总下载
1
收藏
1
当前安装
11
版本数
在 OpenClaw 中安装
/install book-capture-obsidian
功能描述
Capture and normalize book metadata into Obsidian Markdown notes from photos or Goodreads CSV exports. Use for barcode and OCR ISBN extraction, metadata enri...
使用说明 (SKILL.md)
Book Capture Obsidian
Execute this workflow to add or migrate books into an Obsidian vault.
Workflow
- Ask the user for the destination Obsidian vault path if missing.
- Read
references/configuration.mdand set environment variables. - Choose one mode:
- Photo ingest with
scripts/ingest_photo.py - Goodreads CSV migration with
scripts/migrate_goodreads_csv.py
- Photo ingest with
- For Goodreads migration, prefer
--group-by-shelfand Google enrichment enabled. - Upsert notes with
scripts/upsert_obsidian_note.py. - Refresh the dashboard with
scripts/generate_dashboard.py. - Run validation and security checks:
sh scripts/run_ci_local.shsh scripts/security_scan_no_pii.sh
Required References
references/configuration.mdfor runtime settings and portabilityreferences/data-contracts.mdfor normalized schema and output contractsreferences/migration-runbook.mdfor Goodreads import sequencereferences/troubleshooting.mdfor extraction and merge failures
Operating Rules
- Require explicit vault destination (
BOOK_CAPTURE_VAULT_PATHor--vault-path) before bulk writes. - Prefer barcode extraction first; use OCR as fallback.
- Keep filenames human-readable (
Title - Author (Publisher, Year)). - Keep
shelfas property and include tagbookin all notes. - Use shared compact series tags (for example
theexpanse,harrypotter) when volume metadata exists; avoid separate series hub notes. - Preserve user notes section during updates.
- Keep outputs deterministic and idempotent for repeated runs.
- Do not store secrets or personal identifiers in generated artifacts.
- Simplified frontmatter: keep only
title,author,publisher,year,isbn_10,isbn_13,cover,shelf,source,source_url,tags. Removepublished_date,genre,status,date_started,date_read,needs_review,goodreads_book_id.
安全使用建议
This skill appears to do what it claims, but be aware of the practical implications before running it: it will read and write files in whatever Obsidian vault path you provide, so point it to a test or backed-up vault when doing bulk migrations. It will also make outbound HTTP requests to Google Books and OpenLibrary (optionally using BOOK_CAPTURE_GOOGLE_API_KEY). Ensure required Python packages and optional binaries (zbarimg, tesseract) are installed in your environment. The registry metadata did not declare the environment variables the skill expects — review references/configuration.md and set BOOK_CAPTURE_VAULT_PATH (or pass --vault-path) and other controls deliberately. If you have sensitive content in your vault, run a dry-run first and inspect script output before performing bulk writes.
功能分析
Type: OpenClaw Skill
Name: book-capture-obsidian
Version: 1.2.1
The skill bundle is a legitimate tool for managing book metadata in Obsidian, supporting photo ingestion, Goodreads CSV migration, and dashboard generation. It demonstrates high security awareness by including a path-traversal check (_is_within_vault in upsert_obsidian_note.py) to prevent writing files outside the designated vault and a dedicated security script (security_scan_no_pii.sh) that checks for leaked API keys and sensitive local paths. While the test suite (test_isbn.py) uses an unusual dynamic discovery mechanism to find and execute functions by scanning parent directories, there is no evidence of malicious intent, and the overall architecture is well-documented and aligned with its stated purpose.
能力评估
Purpose & Capability
The name/description (photo/CSV -> Obsidian notes) matches the included scripts: ISBN extraction (barcode/OCR), metadata resolution (Google Books / OpenLibrary), upsert into vault, and dashboard generation. Binary subprocess usage (zbarimg, tesseract) and network requests to public metadata APIs are expected for this purpose.
Instruction Scope
Runtime instructions and SKILL.md accurately refer to the included scripts. The workflow requires reading references/*.md, running the scripts, and writing Markdown files into the user-provided Obsidian vault path. The scripts also perform outbound HTTP requests to Google Books and OpenLibrary and may invoke local CLI tools (zbarimg, tesseract). There is no evidence the instructions attempt to read unrelated system secrets, other skills' config, or exfiltrate data to hidden endpoints, but the agent will have filesystem write access to the vault and network access to external APIs during normal operation.
Install Mechanism
There is no automated install spec (instruction-only), and dependencies are listed in requirements.txt. Nothing is downloaded from arbitrary URLs or installed from unknown release hosts. The requirement to pip-install packages and to have external binaries available is normal for this kind of tool.
Credentials
The registry lists no required env vars but the SKILL.md and references/configuration.md expect several environment variables (vault path, optional GOOGLE API key, barcode/OCR toggles, timeouts, etc.). Those env vars are proportional to the functionality; the only credential-like variable is an optional BOOK_CAPTURE_GOOGLE_API_KEY for Google Books quota/stability. No unrelated secrets or service credentials are requested.
Persistence & Privilege
The skill is not always-enabled and does not request elevated platform privileges. It writes only to user-specified vault paths and does not modify other skills or global agent config. Autonomous invocation is allowed by default (normal) but not combined with other privilege escalations.
如何使用
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install book-capture-obsidian - 安装完成后,直接呼叫该 Skill 的名称或使用
/book-capture-obsidian触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.2.1
Enhance photo import richness: semantic tag inference, optional related-links generation, canonical filename pattern Title - Author (Publisher, Year), and docs alignment with simplified frontmatter schema.
v1.2.0
Major metadata quality update: simplified frontmatter (year-only date), removed redundant fields (goodreads_book_id/genre/published_date/status/date_started/date_read/needs_review), richer semantic tags, improved synopsis handling, and related-links generation to Library + 5. Learnings.
v1.0.1
Simplified frontmatter schema: removed date_started, date_read, goodreads_book_id, genre, published_date, status, needs_review. Rich tags system as primary taxonomy. Updated templates, tests, and docs.
v1.1.6
Switch generated frontmatter from cover_image to cover for Pretty Properties compatibility.
v1.1.5
Fix packaging consistency: add requirements and CI/security scripts, clarify config semantics, and enforce vault-bounded writes.
v1.1.4
Add optional Google Books API key support and quota controls for reliable bulk enrichment.
v1.1.3
Improve OpenLibrary fallback by reading linked works metadata for richer fields when Google is unavailable.
v1.1.2
Use Sinopse section label, Portuguese fallback synopsis text, and update migration docs/template.
v1.1.1
Add concise fallback summaries when API descriptions are missing.
v1.1.0
Improve note quality, shelf property support, series linking, and Google enrichment controls with retry/delay.
v1.0.0
Initial release: photo ingest, Goodreads migration, dashboard generation, QA tests, security scanner.
元数据
常见问题
Book Capture Obsidian 是什么?
Capture and normalize book metadata into Obsidian Markdown notes from photos or Goodreads CSV exports. Use for barcode and OCR ISBN extraction, metadata enri... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 361 次。
如何安装 Book Capture Obsidian?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install book-capture-obsidian」即可一键安装,无需额外配置。
Book Capture Obsidian 是免费的吗?
是的,Book Capture Obsidian 完全免费(开源免费),可自由下载、安装和使用。
Book Capture Obsidian 支持哪些平台?
Book Capture Obsidian 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Book Capture Obsidian?
由 Ricardo Almeida(@ricardodpalmeida)开发并维护,当前版本 v1.2.1。
推荐 Skills