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.
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:
# 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
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:
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:
- Go to https://console.cloud.google.com/
- Create project and enable Gmail API
- Create OAuth 2.0 Client ID (Desktop app)
- 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:
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:
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.jsonand 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
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
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).
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".
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".
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.
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.
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.
Didn't find tool you were looking for?