Agent skill

Kindle

by heartleo in heartleo/zlib

Send a downloaded book file to a Kindle via the zlib CLI, and walk the user through the one-time SMTP/Amazon setup it needs.

MITAuto-check: notesDocuments & Office

Install Kindle

skills CLI
$ npx skills add heartleo/zlib --skill kindle -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install heartleo/zlib kindle --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/heartleo/zlib.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/zlib/skills/kindle .claude/skills/kindle && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
kindle
GitHub stars
674
Token cost
~1.4k tokens
SKILL.md length
638 words
Files
1
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

Send a downloaded book file to a Kindle via the zlib CLI, and walk the user through the one-time SMTP/Amazon setup it needs.

  • Works in 4 steps: Ask for the Kindle receive address.… → Ask for the sender email. Remind them it… → Derive SMTP from the sender domain —… → …
  • The user wants to deliver an ebook to their Kindle
  • SKILL.md covers Preflight, Send — zlib kindle send, First check the config and Configuring Kindle delivery —…, plus 1 more section
  • Calls go

What it does

Kindle is an agent skill from heartleo/zlib. Send a downloaded book file to a Kindle via the zlib CLI, and walk the user through the one-time SMTP/Amazon setup it needs. Use when the user wants to deliver an ebook to their Kindle, configure Kindle delivery, or fix a failed Kindle send.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Documents & Office, covering Transactional email. It works with OpenAI, Google Gemini, Go and Gmail. The repository describes itself as: A command-line tool for Z-Library. Search, download, send to Kindle, and integrate with AI agents. The licence is MIT.

When your agent uses it

  • The user wants to deliver an ebook to their Kindle
  • Configure Kindle delivery
  • Fix a failed Kindle send

Example prompts

  • “/kindle”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Ask for the Kindle receive address. "What's your Kindle address (xxx@kindle.com)? Find it under Amazon → Manage Your Content and Devices →…
  2. Ask for the sender email. Remind them it must be on Amazon's approved-sender list (same Personal Document Settings page) — otherwise…
  3. Derive SMTP from the sender domain — gmail.com → smtp.gmail.com:587, outlook/hotmail → smtp-mail.outlook.com:587, qq.com →…
  4. Set the SMTP app password — the user edits the env file directly. Never ask for, paste, or echo the password in the chat, and never put it…

What it can do on your machine

Read from SKILL.md and the folder at commit 6a299fd. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • go

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Kindle loads about 1.4k tokens when it runs. Until then it costs about 62 tokens; SKILL.md has 638 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~62
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:42
    ads `ZLIB_SMTP_PWD` from `~/.config/zlib/.env` at startup. Prepare the file and hand the user the exact path plus a one-
  • NoteMentions a .env fileSKILL.md:50
    [ -f ~/.config/zlib/.env ] || printf '# zlib secrets — one KEY=value per line\nZLIB_SMTP_PWD=\n' > ~/.config/zlib/.en
  • NoteMentions a .env fileSKILL.md:51
    chmod 600 ~/.config/zlib/.env
  • NoteMentions a .env fileSKILL.md:52
    en and edit: $(cd ~/.config/zlib && pwd)/.env"
  • NoteMentions a .env fileSKILL.md:60
    $envFile = Join-Path $configDir '.env'
  • NoteMentions a .env fileSKILL.md:70
    - macOS: `open -t ~/.config/zlib/.env`
  • NoteMentions a .env fileSKILL.md:71
    - Linux: `${EDITOR:-nano} ~/.config/zlib/.env`
  • NoteMentions a .env fileSKILL.md:80
    ed missing after editing `~/.config/zlib/.env`** — check no stale `ZLIB_SMTP_PWD` in a *working-directory* `.env` is ove

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from heartleo/zlib at commit 6a299fd, republished under its MIT licence (© heartleo). 638 words, ~1,365 tokens.

Download SKILL.mdSave it as .claude/skills/kindle/SKILL.md (or your agent's skills folder).
name
kindle
description
Send a downloaded book file to a Kindle via the zlib CLI, and walk the user through the one-time SMTP/Amazon setup it needs. Use when the user wants to deliver an ebook to their Kindle, configure Kindle delivery, or fix a failed Kindle send.
license
MIT

Kindle delivery

Deliver an already-downloaded file to the user's Kindle through the zlib CLI, and handle the one-time configuration it depends on. To find or download the book first, use the zlib skill; this skill takes it from a local file to the Kindle.

Preflight

Confirm that zlib is on PATH with the current shell (command -v zlib on POSIX or Get-Command zlib in PowerShell). Sending itself doesn't need a Z-Library session, only Kindle config. If the binary is missing, tell the user to install it with go install github.com/heartleo/zlib/cmd/zlib@latest.

Send — zlib kindle send <file>

Always pass the file path — bare zlib kindle send opens an interactive file picker you can't answer. With a path and no terminal it sends directly and exits, printing success or a clear SMTP error:

bash
zlib kindle send ./books/dune.epub

zlib download <id> --send-to-kindle delivers in one step once Kindle is configured.

First check the config

Before sending, read ~/.config/zlib/kindle.json and check ZLIB_SMTP_PWD. If the file is missing, holds placeholder-looking values (e.g. mykindle@kindle.com, sender@gmail.com), or the password is unset, run the setup walkthrough below before sending. If it looks configured, just send and relay the result.

Configuring Kindle delivery — walk the user through it in conversation

Guide the user step by step — ask one question at a time and wait for each answer, then write the non-secret config with the available filesystem or shell tool. The user only edits the secret env file in step 4.

  1. Ask for the Kindle receive address. "What's your Kindle address (xxx@kindle.com)? Find it under Amazon → Manage Your Content and Devices → Preferences → Personal Document Settings." It must be the Amazon-assigned address, not their normal email.

  2. Ask for the sender email. Remind them it must be on Amazon's approved-sender list (same Personal Document Settings page) — otherwise Amazon silently drops the file even though SMTP reports success.

  3. Derive SMTP from the sender domain — gmail.com → smtp.gmail.com:587, outlook/hotmail → smtp-mail.outlook.com:587, qq.com → smtp.qq.com:587, 163.com → smtp.163.com:465; anything else, ask. Then write the config yourself (create the directory if needed):

    json
    // ~/.config/zlib/kindle.json
    {"to":"<kindle-address>","from":"<sender-email>","smtp_host":"<host>","smtp_port":<port>}
  4. Set the SMTP app password — the user edits the env file directly. Never ask for, paste, or echo the password in the chat, and never put it on a command line. zlib reads ZLIB_SMTP_PWD from ~/.config/zlib/.env at startup. Prepare the file and hand the user the exact path plus a one-click open command, then wait for them to confirm they saved it.

    Create the file (if missing) with a template line and print its absolute path. Use the commands for the current shell.

    POSIX shell:

    bash
    mkdir -p ~/.config/zlib
    [ -f ~/.config/zlib/.env ] || printf '# zlib secrets — one KEY=value per line\nZLIB_SMTP_PWD=\n' > ~/.config/zlib/.env
    chmod 600 ~/.config/zlib/.env
    echo "Open and edit: $(cd ~/.config/zlib && pwd)/.env"

    PowerShell:

    powershell
    $configDir = Join-Path $env:USERPROFILE '.config\zlib'
    New-Item -ItemType Directory -Force $configDir | Out-Null
    $envFile = Join-Path $configDir '.env'
    if (-not (Test-Path $envFile)) {
      Set-Content -Encoding utf8 $envFile "# zlib secrets — one KEY=value per line`nZLIB_SMTP_PWD="
    }
    $envFile

    Tell the user to set ZLIB_SMTP_PWD=<app-password> on its own line and save. It must be an app password, not the account password — for Gmail: enable 2FA, generate at https://myaccount.google.com/apppasswords (16 chars; strip spaces). Give them a ready open command for their OS:

    • Windows: notepad "$env:USERPROFILE\.config\zlib\.env"
    • macOS: open -t ~/.config/zlib/.env
    • Linux: ${EDITOR:-nano} ~/.config/zlib/.env
Show full SKILL.md (169 more words)Show less

Once the config and the saved password are in place, run the send and relay the result.

Errors

  • 535 / 454 SMTP error — almost always a real account password (or none) instead of an app password, or the sender isn't allowed. Re-check step 4.
  • SMTP connection timeout — the network can't reach the SMTP host (e.g. Gmail blocked). ZLIB_PROXY does not cover SMTP (it's a direct connection); the user needs a system-level VPN/TUN, or should switch to a reachable provider (QQ/163). Probe with Test-NetConnection <host> -Port <port> in PowerShell or timeout 8 bash -c 'echo > /dev/tcp/<host>/<port>' on POSIX.
  • "Sent" but nothing arrives — the sender email isn't on Amazon's approved-sender list (step 2).
  • Password reported missing after editing ~/.config/zlib/.env — check no stale ZLIB_SMTP_PWD in a working-directory .env is overriding it (working-dir wins over the global file); have the user fix whichever file applies. Older zlib builds load only the working-directory .env, so on those the user must put ZLIB_SMTP_PWD= in the .env of the directory the command runs in, and should upgrade.

© heartleo, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/zlib/skills/kindle of heartleo/zlib.

Open the folder on GitHubat commit 6a299fd

Compare with similar skills

Kindle next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Kindle compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Kindle this skillheartleo/zlib674—~1.4kAutomated safety check: NotesMIT
Jtackanner/jta133—~2.4kAutomated safety check: NotesMIT
Md2docxYorick-Ryu/deep-share144—~1.9kAutomated safety check: PassCustom licence
Paper ReviewRapidAI/MaClaw147—~1kAutomated safety check: PassMIT
Review DocsFranciscoMoretti/chat-js1.2k—~201Automated safety check: PassApache-2.0
AI Provenance Mark Removerguillaumemeyer/watermarks-remover24k—~4.9kAutomated safety check: PassMIT

Similar skills

  • Jta

    ckanner/jta

    Translate JSON i18n files to multiple languages with AI-powered quality optimization.

    133 GitHub stars~2.4k tokensUpdated 11 mo ago
    Frontend & DesignAuto-check: notes
  • Md2docx

    Yorick-Ryu/deep-share

    Convert Markdown to Word (DOCX) documents. An agent skill from Yorick-Ryu/deep-share.

    144 GitHub stars~1.9k tokensUpdated 5 days ago
    Documents & OfficeAuto-check passed
  • Paper Review

    RapidAI/MaClaw

    论文深度解读 Skill — 下载论文PDF → LLM深度解读(问题/创新点/方法原理/实验分析)→ PDF图片提取 → 生成组会PPT → 生成解读音频MP3。端到端学术论文解读工具。

    147 GitHub stars~1k tokensUpdated today
    Documents & OfficeAuto-check passed
  • Review Docs

    FranciscoMoretti/chat-js

    Review and fix ChatJS Blume documentation and MDX files. An agent skill from FranciscoMoretti/chat-js.

    1.2k GitHub stars~201 tokensUpdated yesterday
    Documents & OfficeAuto-check passed
  • AI Provenance Mark Remover

    guillaumemeyer/watermarks-remover

    Strips AI provenance marks from text and files: invisible Unicode, statistical text watermarks via rewriting, and C2PA, EXIF or XMP metadata across common formats.

    24k GitHub stars~4.9k tokensUpdated yesterday
    Documents & OfficeAuto-check passed
  • Embeddings via 9Router

    decolua/9router

    Generates vector embeddings through the 9Router /v1/embeddings endpoint, using models from providers such as OpenAI, Gemini, Mistral and Voyage for RAG and semantic search.

    31k GitHub stars~604 tokensUpdated yesterday
    AI & LLM EngineeringAuto-check passed

More from heartleo/zlib

  • Zlib

    heartleo/zlib

    Search and download books from Z-Library. An agent skill from heartleo/zlib.

    674 GitHub stars~3.3k tokensUpdated 2 days ago
    Auto-check: notes

Questions about Kindle

What does Kindle do?

Send a downloaded book file to a Kindle via the zlib CLI, and walk the user through the one-time SMTP/Amazon setup it needs. Kindle is an agent skill from heartleo/zlib. Send a downloaded book file to a Kindle via the zlib CLI, and walk the user through the one-time SMTP/Amazon setup it needs.

When should I use Kindle?

Kindle fits situations like: the user wants to deliver an ebook to their Kindle; configure Kindle delivery; fix a failed Kindle send.

How do I install Kindle in Claude Code?

Run `npx skills add heartleo/zlib --skill kindle -a claude-code`. Or copy the skill folder (plugins/zlib/skills/kindle in heartleo/zlib) into .claude/skills/kindle in your project. Claude Code loads it when a task matches its description.

How do I install Kindle in Codex?

Run `npx skills add heartleo/zlib --skill kindle -a codex`. Or copy the skill folder (plugins/zlib/skills/kindle in heartleo/zlib) into .agents/skills/kindle in your project. Codex loads it when a task matches its description.

Can I use Kindle in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add heartleo/zlib --skill kindle -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/kindle, .gemini/skills/kindle, .github/skills/kindle and .opencode/skills/kindle in your project.

What does Kindle need to run?

Going by SKILL.md and its folder, Kindle needs the command-line tools its instructions call (go).

Does Kindle access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Kindle safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Kindle use?

Kindle is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Kindle use?

About 1.4k tokens (SKILL.md is roughly 5.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Kindle?

Skills that share tags, products or a category with Kindle: Jta (ckanner/jta, 133 stars), Md2docx (Yorick-Ryu/deep-share, 144 stars), Paper Review (RapidAI/MaClaw, 147 stars) and Review Docs (FranciscoMoretti/chat-js, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Kindle?

heartleo (a GitHub user) maintains it in heartleo/zlib, which has 674 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 7, 2026.

Source: heartleo/zlib on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.