kindle

Sync highlights & notes from your Kindle library (read.amazon.com/notebook) into per-book vault pages.

6 stars

Best use case

kindle is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Sync highlights & notes from your Kindle library (read.amazon.com/notebook) into per-book vault pages.

Teams using kindle should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/kindle/SKILL.md --create-dirs "https://raw.githubusercontent.com/lmorchard/decafclaw/main/contrib/skills/kindle/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/kindle/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How kindle Compares

Feature / AgentkindleStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Sync highlights & notes from your Kindle library (read.amazon.com/notebook) into per-book vault pages.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Kindle sync

You are syncing my Kindle highlights & notes from `read.amazon.com/notebook` into per-book vault pages under `agent/pages/kindle/`. Do it now — don't ask for confirmation.

Argument: `$ARGUMENTS`

## How to run

**Empty argument** — call `kindle_sync_all` and summarize the result. This is the path taken by both the daily 5am UTC scheduled run and bare `!kindle` / `/kindle` invocations.

**Non-empty argument** — single-book mode:

1. Call `kindle_list_books` to fetch the library.
2. If `<arg>` looks like an ASIN (10 alphanumeric characters, all-caps, typically starting with `B0`), call `kindle_sync_book(asin=<arg>)` directly.
3. Otherwise treat `<arg>` as a title substring. Lowercase-substring match against each book's title.
   - **Exactly one match:** call `kindle_sync_book(asin=<that book's asin>)`.
   - **Multiple matches:** list them as `<asin> · <title>` and tell me to re-invoke with a specific ASIN. Do NOT pick one yourself.
   - **Zero matches:** respond with `No book matching '<arg>' in your Kindle library`.
4. Summarize the result of the sync.

## Notes about behavior

- The `kindle_sync_all` tool short-circuits with `kindle skill disabled; skipping` when the scheduled run hits it with `skills.kindle.enabled = False`. That gate doesn't apply to user-invoked runs — you should sync regardless.
- If a fetch fails with a 401/403 or returns 0 books unexpectedly, the cookies have probably expired or the deployed host's IP isn't authenticated. Surface a message telling me to re-export `cookies.txt` from a logged-in browser session and place it at the configured path.
- Per-book pages at `agent/pages/kindle/*.md` are fully agent-owned. **Do not** manually edit them — they're overwritten on every sync. Cross-links and prose summaries belong on a separate hand-curated page (e.g., `agent/pages/<book>-notes.md` that wiki-links to the agent page).

Related Skills

vault

6
from lmorchard/decafclaw

Unified knowledge base — shared Obsidian-compatible vault for curated pages, journal entries, and user notes

tabstack

6
from lmorchard/decafclaw

Your primary tool for any web, PDF, or research task. More powerful than web_fetch — prefer this for all research, web reading, and data extraction. Triggers on: 'tell me about,' 'what is,' 'look up,' 'find out,' 'research,' 'summarize this article,' 'read this PDF,' 'check this site,' 'what does this page say,' 'extract data from,' 'find the price on,' 'compare X vs Y,' 'is it true that,' or any URL/link. Handles JavaScript-heavy websites, PDFs, structured data extraction, content transformation, multi-source research with citations, and multi-step browser automation.

project

6
from lmorchard/decafclaw

Structured project workflow: brainstorm, spec, plan, execute multi-step tasks

postmortem

6
from lmorchard/decafclaw

Structured blameless analysis of what went wrong in this conversation — identifies root causes and proposes minimal, specific fixes

newsletter

6
from lmorchard/decafclaw

Compose and deliver a narrative newsletter summarizing autonomous agent activity in the window.

mcp

6
from lmorchard/decafclaw

Admin tools for inspecting and restarting connected MCP servers — status, resources, prompts. Does NOT expose tools provided by MCP servers; those appear as mcp__server__tool and are fetched via tool_search.

ingest

6
from lmorchard/decafclaw

Fetch a URL, workspace file, or attachment and integrate its content into the vault — one primary page plus cross-linked updates to related pages

health

6
from lmorchard/decafclaw

Show agent diagnostic status — process, MCP, heartbeat, tools, embeddings

garden

6
from lmorchard/decafclaw

Vault gardening sweep — merge, link, split, and tidy agent pages

dream

6
from lmorchard/decafclaw

Review recent journal entries and conversations, distill insights into vault pages

claude_code

6
from lmorchard/decafclaw

Delegate coding tasks to Claude Code as a subagent. Use when asked to fix bugs, add features, refactor code, write tests, review code, or do any work that requires reading and editing files in a codebase. Triggers on: 'fix this bug', 'add a feature', 'refactor', 'write a test', 'review this code', 'update the config', 'clean up', or any request involving code changes in a repository.

background

6
from lmorchard/decafclaw

Start, monitor, and stop long-running background processes (servers, watchers, builds). Returns immediately with a job ID you can poll for output.