Book Id
by @gabebac
Catalog books from photos or text. Trigger on: book photo, catalog book, log book, add to library.
clawhub install book-idπ About This Skill
name: book-id description: "Catalog books from photos or text. Trigger on: book photo, catalog book, log book, add to library."
Book Cataloger
ICM Contract
| | | |---|---| | Layer 3 inputs |SOUL.md (32-property book schema) |
| Layer 4 inputs | Photo from media/inbound/ or user-provided text |
| Process | Identify book β web search OpenLibrary/Wikipedia β check for duplicates in Files/Books/ β write note β save photo β run fix-md.sh |
| Layer 4 outputs | Files/Books/Title - Author.md, photo saved to Files/Photos/Books/Title - Author.jpg β vault-push to HumanVault/Knowledge Atlas/Outside Knowledge/Books/ |STEP 0 β READ THE COVER FIRST (mandatory before anything else)
A photo was provided. Before doing anything: 1. Look at the book cover in the image 2. Read the TITLE exactly as printed on the cover 3. Read the AUTHOR exactly as printed on the cover 4. State them explicitly: "I can see: Title = X, Author = Y"
If you cannot read the cover clearly β say "I cannot read the cover. Please send a clearer photo." DO NOT proceed. NEVER catalog a book you have not confirmed from the image. NEVER guess or substitute another book.
NON-NEGOTIABLE: WRITE ALL 32 PROPERTIES
Every single one of the 32 properties below MUST appear in the output, in exact order. Empty value = leave blank after the colon. DO NOT omit any property line. A note with missing properties is BROKEN. Obsidian will silently fail.
WRONG β omitting unknowns:
type: book
title: The Stranger
author:
- "Camus, Albert"
tags:
- book
WRONG β inline arrays:
author: ["Camus, Albert"]
tags: [book, fiction]
RIGHT β all 32 properties, 2-space indent lists, blanks included:
type: book
title: The Stranger
subtitle:
original_title: L'Γtranger
author:
- "Camus, Albert"
translator:
publisher: Vintage International
year: 1989
year_original: 1942
edition:
isbn_13: "9780679720201"
isbn_10:
pages: 123
language: English
original_language: French
format: Paperback
series:
genre:
- fiction
category:
subjects:
- absurdism
audience: Adult
condition:
status: owned
rating:
cover: https://covers.openlibrary.org/b/isbn/9780679720201-L.jpg
date_added: 2026-04-22
wikipedia: https://en.wikipedia.org/wiki/The_Stranger_(Camus_novel)
goodreads: https://www.goodreads.com/book/show/49552.The_Stranger
openlibrary: https://openlibrary.org/works/OL46933W
aliases:
cssclass: book
tags:
- book
- fiction
- author/camus
WRITE THE BODY SECTION TOO. Do not skip it. The body section is mandatory.
WORKFLOW
1. READ THE COVER β state title and author explicitly (Step 0 above) 2. Web search: title + author on OpenLibrary, Wikipedia, Goodreads 3. Check workspace/Files/Books/ for duplicates (title + author match) 4. If duplicate: tell Pooh. If new: write file. 5. Save to:workspace/Files/Books/Title - Author.md (filename format: Title first, then Author, ASCII only)
Save photo: cp "/home/node/.openclaw/media/inbound/[FILE]" "/home/node/.openclaw/workspace/Files/Photos/Books/Title - Author.jpg"
6. Run: bash /home/node/.openclaw/workspace/fix-md.sh "[FILEPATH]"
7. Reply with the full file path and a one-line summary
8. Ask: "Push to vault? (yes/no)" β do NOT push unless Pooh confirmsFRONTMATTER TEMPLATE - COPY EXACTLY
type: book title: "Book Title" subtitle: original_title: author: - "LastName, FirstName" translator: publisher: year: 1956 year_original: edition: isbn_13: isbn_10: pages: 147 language: Spanish original_language: format: Paperback series: genre: - "Fiction" - "Philosophy" category: subjects: - "French literature" audience: Adult condition: status: owned rating: cover: date_added: 2026-04-06 wikipedia: goodreads: openlibrary: aliases: cssclass: book tags: - book - fiction - author/camus
BODY TEMPLATE - COPY EXACTLY
Title
By [[LastName, FirstName]] Published YEAR by Publisher Format Paperback | Language Spanish
Synopsis
2-3 sentences about the book from web search.
About the Author
[[LastName, FirstName]] 1-2 sentence bio from web search.
Details
| Field | Value | | --- | --- | | Publisher | Name | | Pages | 000 | | Language | Language | | Format | Format | | ISBN | 0000000000000 |
Themes
Keywords: theme1, theme2, theme3.
Personal Notes
Photo: [[Photos/Books/Title - Author.jpg]]
Quotes
Related
CRITICAL REMINDERS
Title - Author.md format β Title first, then Author. ASCII only, no accents.