360 Secure SkillHub
360 安全技能中心

Book Capture Obsidian

从图书照片(条码优先、OCR 兜底)或 Goodreads CSV 导出中提取并规范化图书元数据,补全后按统一 schema 幂等写入 Obsidian 图书笔记,并生成书库仪表盘;附带迁移、校验与 PII 安全检查脚本。

ricardodpalmeida
ricardodpalmeida
热度 58.76
最近更新 2026-05-11 17:29:02
分类:知识依赖:代码执行 / 读写文件 / 第三方 API应用场景:笔记整理 / 数据处理 / 自动化脚本 / 工作流 ...

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add book-capture-obsidian
Metadata
name
book-capture-obsidian
description
Capture and normalize book metadata into Obsidian Markdown notes from photos or Goodreads CSV exports. Use for barcode and OCR ISBN extraction, metadata enrichment, idempotent note upsert, bulk migration, and dashboard generation.

Book Capture Obsidian

Execute this workflow to add or migrate books into an Obsidian vault.

Workflow

  1. Ask the user for the destination Obsidian vault path if missing.
  2. Read references/configuration.md and set environment variables.
  3. Choose one mode:
    • Photo ingest with scripts/ingest_photo.py
    • Goodreads CSV migration with scripts/migrate_goodreads_csv.py
  4. For Goodreads migration, prefer --group-by-shelf and Google enrichment enabled.
  5. Upsert notes with scripts/upsert_obsidian_note.py.
  6. Refresh the dashboard with scripts/generate_dashboard.py.
  7. Run validation and security checks:
    • sh scripts/run_ci_local.sh
    • sh scripts/security_scan_no_pii.sh

Required References

  • references/configuration.md for runtime settings and portability
  • references/data-contracts.md for normalized schema and output contracts
  • references/migration-runbook.md for Goodreads import sequence
  • references/troubleshooting.md for extraction and merge failures

Operating Rules

  • Require explicit vault destination (BOOK_CAPTURE_VAULT_PATH or --vault-path) before bulk writes.
  • Prefer barcode extraction first; use OCR as fallback.
  • Keep filenames human-readable (Title - Author (Publisher, Year)).
  • Keep shelf as property and include tag book in 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. Remove published_date, genre, status, date_started, date_read, needs_review, goodreads_book_id.