book-highlights-processor

book-highlights-processor is a skill for Claude Code from jtprogru/bear-skills. It costs 78 tokens per session (963 once invoked), scanned A, original, MIT.

A converter for book highlights exported from iBooks or Zotero into Obsidian callouts, which are formatted note blocks. It gives each quote a claim-like heading and marks important phrases inside the quote.

In plain words
What is it for?
Use it to process a Markdown export of book quotes and prepare it for an Obsidian notes library.
Why use it?
It removes the need to reformat imported highlights by hand while keeping the original quote and any reader note. It does not add its own interpretation or summary.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the bear-skills plugin — 42 skills, 3 commands, 11 agents, 1 hook shipped together

Good fit Use it to process a Markdown export of book quotes and prepare it for an Obsidian notes library.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/jtprogru/bear-skills/book-highlights-processor
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add jtprogru/bear-skills --skill book-highlights-processor
Clone the repo
git clone --depth 1 https://github.com/jtprogru/bear-skills

Made for: Claude Code.

Or install bear-skills, the plugin that ships this one along with the rest of its 42 skills, 3 commands, 11 agents, 1 hook.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for book-highlights-processor

README.md
[![agentmods](https://agentmods.dev/badge/skills/jtprogru/bear-skills/book-highlights-processor/github.svg)](https://agentmods.dev/skills/jtprogru/bear-skills/book-highlights-processor)
Your own site
<a href="https://agentmods.dev/skills/jtprogru/bear-skills/book-highlights-processor"><img src="https://agentmods.dev/badge/skills/jtprogru/bear-skills/book-highlights-processor/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for book-highlights-processor

Your own site · 80×15
<a href="https://agentmods.dev/skills/jtprogru/bear-skills/book-highlights-processor"><img src="https://agentmods.dev/badge/skills/jtprogru/bear-skills/book-highlights-processor.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 78 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 963 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00078 $0.00963
Opus 5 $0.00039 $0.00481
Sonnet 5 $0.00016 $0.00193
Haiku 4.5 $0.00008 $0.00096

Measured 8d ago against content hash 92b8c3f5e1d1, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-08, from the pricing page.

Security

Grade A, and why

book-highlights-processor scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

domains/obsidian/skills/book-highlights-processor/SKILL.md · 121 lines

How it starts

The opening of the file, as written. The whole thing — 121 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Book Highlights Processor

Transform exported book highlight files into enriched Obsidian callouts with AI-generated titles and highlighted key phrases.

Input format

The markdown file from iBooks or Zotero looks like this:

---
book: Book Title
author: Author Name
language: ru
tags:
- ibook/imported
- literature
---

## 📔 Книга: Book Title

**Автор**:: Author Name
...

---

# 🔍 How I Discovered IT

- 📚
    - 🎯Quote text here, possibly several sentences or paragraphs
        - ✍️Reader's own note or commentary (optional)
    - 🎯Another quote
        - ✍️Another note

What to produce

For each 🎯 quote, output an Obsidian callout:

> [!quote] Generated Title
> Quote text with ==key phrase== and ==another key phrase== highlighted.
>
> ✍️ Reader's note text

If the quote has no ✍️ note, omit the last line.

Never add commentary of your own — no summary line before the quote, no takeaway after it. The callout carries the source's words, the reader's note and nothing else; anything explaining the quote back to the reader is the filler .agents/rules/note-density.md forbids.

How to generate the title

The title goes into the callout header and will likely become the filename of a future Obsidian atomic note. Naming style (claim-based, 4–8 words, language rules) — see .agents/rules/file-naming.md.

Draw on the ✍️ reader note as a signal of what the reader found important — that's the insight to encode in the title, not just a paraphrase of the raw quote.

Examples from SRE context:

  • "Мониторинг min/max ловит сбои, которые среднее скрывает"
  • "Fallback должен существовать даже в виде тетриса"
  • "Graceful Degradation требует нескольких уровней готовности"
  • "Ретраи без backoff превращают деградацию в катастрофу"

How to add highlights

Add ==highlight== to 2–4 phrases per quote. Choose phrases that:

  • Carry the core claim or mechanism
  • Help a reader scanning the quote instantly grasp the main point
  • Are short (3–8 words each)

Read the full file on GitHub · 121 lines

Files

What ships with it

2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 8d ago First seen · 121 lines · 78 tokens per session scan A 92b8c3f5e1d1

Subscribe to this mod's changes

book-highlights-processor is a skill published in the GitHub repository jtprogru/bear-skills (1 stars, last pushed 21d ago), licensed MIT. It adds 78 tokens to every session and 963 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

using-dinf

WHAT: the D∞ notation — the ⟨parts | Ω⟩ shape every durable teaching, framework, plan, and joke has — plus the three operators over it (FACTOR, ADJOIN, CHRISTEN) and the dinf CLI that makes the missing-closure defect machine-catchable. WHEN: when stuck; when a plan feels like unjoined parts; when two frames are…

sancovp/dinf · 118 tokens

enablement-course

Assemble an internal AI enablement course for a company's own employees, sized to where they actually are rather than where a vendor deck assumes they are. Produces the session plan, per-session content and exercises, a facilitator guide for a non-expert, and a way to tell whether it worked. Builds on the tech stack…

enalbenerraw/blanewarrene · 81 tokens

meta-tags-optimizer

Optimize title tags, meta descriptions, Open Graph, and Twitter cards for maximum click-through rate. Generates multiple A/B test variations with character counting and SERP preview. Use when asked to "optimize title tag", "write meta description", "improve CTR", "Open Graph tags", "fix my meta tags", "social media…

nowork-studio/notfair-plugin · 91 tokens

paid-ads-linkedin

Audit, diagnose, plan, and safely operate connected LinkedIn Ads accounts through the NotFair MCP, with an export-based fallback. Use for LinkedIn advertising, sponsored content, lead-generation forms, job-title or company targeting, campaign groups, creatives, conversions, lead quality, budgets, bids, or approved…

nowork-studio/notfair-plugin · 72 tokens

paid-ads-guide

Explain NotFair's paid-ads skills, installation, platform boundaries, account connections, and current product capabilities. Use for questions about how NotFair works, what it supports, how to install or connect it, plans or limits, or paid-media troubleshooting that is not an account-performance request.

nowork-studio/notfair-plugin · 63 tokens

case-interview-practice

Interactive consulting case interview practice with structured frameworks, feedback mechanisms, and progressive difficulty. Use when preparing for management consulting interviews, case competitions, or business problem-solving exercises.

travisjneuman/.claude · 39 tokens