🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Book Id

by @gabebac

Catalog books from photos or text. Trigger on: book photo, catalog book, log book, add to library.

Versionv1.0.0
Downloads280
TERMINAL
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 confirms

FRONTMATTER 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

  • [[Related Book]]
  • CRITICAL REMINDERS

  • author MUST be a list: 2-space indent, dash, space, quoted name
  • genre MUST be a list: 2-space indent, dash, space, quoted genre
  • tags MUST be a list: 2-space indent, dash, space, lowercase no quotes
  • status: always "owned"
  • cssclass: always "book"
  • rating: always empty
  • year and pages: numbers only, no quotes
  • No parentheses () or brackets [] in any values
  • Filenames: Title - Author.md format β€” Title first, then Author. ASCII only, no accents.
  • Leave blank for unknown. NEVER write "Unknown"
  • ALWAYS web search before writing
  • COVER IMAGE

    1. Search: https://openlibrary.org/search.json?title=[TITLE]&author=[AUTHOR]&limit=5 2. Verify title AND author match in results 3. Build URL: https://covers.openlibrary.org/b/isbn/[ISBN]-M.jpg or /b/id/[COVER_ID]-M.jpg 4. Any size works (-S, -M, -L) β€” pick whichever is clear and available 5. Exact edition match is ideal, but a generic relevant cover is acceptable 6. ONLY use OpenLibrary URLs. NEVER Amazon, Google, or descriptions. 7. If no covers exist at all on OpenLibrary, leave cover: blank

    FORBIDDEN

  • No parentheses () or brackets [] in property values
  • No accented characters in filenames
  • No "Unknown" or "N/A" anywhere
  • No guessing. If unsure, ASK Pooh.
  • No skipping web search
  • No writing author/genre/tags as plain strings instead of lists