Agent skill

send-to-kindle

Send documents to Kindle via email. Use when user wants to send files to Kindle, read documents on Kindle, transfer ebooks, or send PDFs/EPUBs to their e-reader.

Stars 0
Forks 0

Install this agent skill to your Project

npx add-skill https://github.com/josh-cooper/.claude/tree/main/skills/send-to-kindle

SKILL.md

Send to Kindle

Send documents to a Kindle device via Gmail API.

Supported Formats

PDF, DOC, DOCX, TXT, RTF, HTM, HTML, PNG, GIF, JPG, JPEG, BMP, EPUB

Pre-flight Checks

Before sending, verify setup is complete. Run these checks:

bash
# Check all prerequisites at once
cd ~/.claude/skills/send-to-kindle && \
[ -d venv ] && source venv/bin/activate && python -c "import googleapiclient; import google_auth_oauthlib" 2>/dev/null && echo "Dependencies: OK" || echo "Dependencies: MISSING (run venv setup)" && \
[ -n "$KINDLE_EMAIL" ] && echo "KINDLE_EMAIL: $KINDLE_EMAIL" || echo "KINDLE_EMAIL: MISSING" && \
[ -f credentials/credentials.json ] && echo "OAuth credentials: OK" || echo "OAuth credentials: MISSING" && \
[ -f credentials/token.json ] && echo "Auth token: OK" || echo "Auth token: MISSING (run auth.py)"

If Setup Incomplete

If any check shows MISSING, help the user complete setup:

Dependencies missing

bash
cd ~/.claude/skills/send-to-kindle && python3 -m venv venv && source venv/bin/activate && pip install -r scripts/requirements.txt

KINDLE_EMAIL missing

Ask the user for their Kindle email address, then instruct them to set it:

bash
export KINDLE_EMAIL="<their-email>@kindle.com"

Remind them to add this to their shell profile (~/.zshrc or ~/.bashrc) for persistence.

Find Kindle email at: Amazon > Manage Your Content and Devices > Preferences > Personal Document Settings

OAuth credentials missing

Guide them through Google Cloud Console setup:

  1. Go to https://console.cloud.google.com/
  2. Create project and enable Gmail API
  3. Create OAuth 2.0 Client ID (Desktop app)
  4. Download JSON and save as ~/.claude/skills/send-to-kindle/credentials/credentials.json

See README.md in the skill directory for detailed steps.

First-time authentication

Once credentials.json exists:

bash
cd ~/.claude/skills/send-to-kindle && source venv/bin/activate && python scripts/auth.py

This opens a browser for Google sign-in.

Approved sender

User's Gmail must be added to Kindle's approved senders list in Amazon account settings.

Sending a Document

Once setup is verified:

bash
cd ~/.claude/skills/send-to-kindle && source venv/bin/activate && python scripts/send_to_kindle.py "<file_path>"

Note: If the file path contains special characters (;, ©, commas, etc.), copy the file to a simpler filename first to avoid shell escaping issues.

Report success or failure to user.

Troubleshooting

  • Auth error / "Insufficient Permission": Delete ~/.claude/skills/send-to-kindle/credentials/token.json and re-run auth.py to re-authenticate with correct scopes
  • Not delivered: Gmail must be in Kindle's approved senders list
  • File too large: Must be under 25MB
  • File not found with special characters: Copy file to a simpler filename without ;, ©, or other special characters

Expand your agent's capabilities with these related and highly-rated skills.

josh-cooper/.claude

prompting

Write processing-minimal, expressive task specifications for prompts/agents. Produces spec.md, identifies the context layer (slots + tools), then assembles a prompt anatomy (Goal/Return format/Warnings/Context/Tools).

0 0
Explore
josh-cooper/.claude

clio-clustering

Build a complete data clustering and visualization pipeline from any data source. Use when the user wants to analyze patterns in text data (GitHub issues, Slack messages, support tickets, code reviews, forum posts, customer feedback, etc.), cluster similar items, or build an interactive visualization to explore the patterns. Triggers on: "cluster", "analyze patterns", "group similar", "clio-style", "pattern analysis", "visualize clusters", "find themes", "topic modeling", "semantic clustering".

0 0
Explore
josh-cooper/.claude

voice-agent

Add OpenAI Realtime API voice agent to a Next.js presentation. Use when adding voice interactivity, realtime audio, AI presenter, or voice navigation to slides. Triggers on "voice agent", "realtime API", "audio presentation", "AI presenter", "voice navigation".

0 0
Explore
josh-cooper/.claude

monitor-pr-checks

Monitor GitHub PR checks until they complete. Use when the user asks to watch, monitor, or track PR checks, CI status, or wait for CI to pass.

0 0
Explore
josh-cooper/.claude

react-best-practices

React and Next.js performance optimization guidelines from the React community. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.

0 0
Explore
mattpocock/skills

edit-article

Edit and improve articles by restructuring sections, improving clarity, and tightening prose. Use when user wants to edit, revise, or improve an article draft.

111,310 9,758
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results