Coding-Agent-Skills / epub-skill
CLAUDE.md4 starsChanged 25 days agoMITView on GitHub
A Claude agent skill that converts markdown documents into professional EPUB3 ebook files. This is a custom skill implementation demonstrating how to build Claude Code skills with file generation capabilities. This project uses GitHub Actions for automated releases with changelog management. Use the changelog helper script to manage entries:
- Installs packages
- Commits and pushes
3 other projects use a version of this.
Adopted by
Most recently taken up by
- I-Onlabs/claude-code-skillsword for word, first seen Oct 25, 2026
- HaZ-K/claude-skillsword for word, first seen Nov 12, 2025
- smerchek/claude-epub-skillword for word, first seen Oct 18, 2025
Other versions3 projects use a version of this.
Word for word · 3
- smerchek/claude-epub-skill★ 158100% same
- I-Onlabs/claude-code-skills★ 4100% same
- HaZ-K/claude-skills★ 0100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository169 other files it gives its agents.
- linear-cli-skill/CLAUDE.mdCLAUDE.md
- AgentDB Advanced FeaturesSkill
- AgentDB Learning PluginsSkill
- AgentDB Memory PatternsSkill
- AgentDB Performance OptimizationSkill
- AgentDB Vector SearchSkill
- agent-evalSkill
- agentic-jujutsuSkill
- agile-product-ownerSkill
- ai-tool-pickerSkill
- algorithmic-artSkill
- api-connectorSkill
- api-design-patternsSkill
- architecture-diagram-creatorSkill
- article-extractorSkill
- aws-agentic-aiSkill
- aws-cdk-developmentSkill
- aws-cost-operationsSkill
- aws-serverless-edaSkill
- biogeobearsSkill
- brainstormingSkill
- brand-guidelinesSkill
- canvas-designSkill
- capa-officerSkill
- ceo-advisorSkill
- changelog-generatorSkill
- code-auditorSkill
- codebase-documenterSkill
- code-executionSkill
- code-explainerSkill
- code-refactorSkill
- code-reviewerSkill
- code-transferSkill
- content-creatorSkill
- content-research-writerSkill
- conversation-analyzerSkill
- csv-data-summarizerSkill
- cto-advisorSkill
- d3-vizSkill
- dashboard-creatorSkill
- defense-in-depthSkill
- deploy-itSkill
- developer-growth-analysisSkill
- dispatching-parallel-agentsSkill
- doc-coauthoringSkill
- docxSkill
- domain-name-brainstormerSkill
- dwa-councilSkill
- error-fixerSkill
- escalation-reasoningSkill
- evaluator-optimizerSkill
- executing-plansSkill
- extract-from-pdfsSkill
- fda-consultant-specialistSkill
- feature-planningSkill
- file-operationsSkill
- file-organizerSkill
- finishing-a-development-branchSkill
- firebase-buddySkill
- flowchart-creatorSkill
- The first 60 shown.
The file
Show its rules and text
We split this CLAUDE.md into the rules it gives an agent
24 rules. About 0 are common, 15 are distinctive, and 9 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈15
Distinctive · estimate
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 45
Must include YAML frontmatter with name and description
- Distinctive: line 48
Document all supported features and edge cases
- Very specific: line 51
Keep dependencies minimal and well-documented in requirements.txt
- Distinctive: line 57
Create standalone test file that validates all major functionality
- Distinctive: line 58
Test edge cases: empty content, special characters, long documents
- Distinctive: line 59
Verify output file quality and standards compliance
- Very specific: line 65
Processing Scripts: Put core logic in scripts/ directory
- Very specific: line 66
Configuration: Use YAML frontmatter in SKILL.md for metadata
- Very specific: line 67
Resources: Keep static assets (CSS, templates) in resources/ (if needed)
- Distinctive: line 71
Always validate output file format compliance
- Distinctive: line 72
Use well-established libraries (e.g., ebooklib for EPUB)
- Distinctive: line 74
Test generated files in target applications (e.g., Apple Books, Kindle)
- Very specific: line 85
Update markdown_processor.py to parse the new element
- Very specific: line 86
Update CSS in epub_generator.py to style it properly
- Very specific: line 87
Add test cases in test_epub_skill.py
- Very specific: line 88
Update documentation in README.md and SKILL.md
- Distinctive: line 92
Test in multiple EPUB readers (Apple Books, Calibre, etc.)
- Distinctive: line 93
Ensure responsive design for different screen sizes
- Distinctive: line 126
Use the changelog helper script to manage entries:
- Distinctive: line 152
When ready to release, prepare the changelog:
- Distinctive: line 185
Check that version exists in CHANGELOG.md
- Distinctive: line 187
Run tests to ensure quality
- Distinctive: line 189
Create GitHub release with tag (e.g., v1.1.0)
- Distinctive: line 194
If needed, you can create releases manually:
≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Markdown to EPUB Skill - Development Guide
Project Overview
A Claude agent skill that converts markdown documents into professional EPUB3 ebook files. This is a custom skill implementation demonstrating how to build Claude Code skills with file generation capabilities.
Quick Start
Setup
# Install dependencies
pip install -r markdown-to-epub/requirements.txt
# Test the skill
python test_epub_skill.pyUsage
from markdown_to_epub.scripts.epub_generator import create_epub_from_markdown
create_epub_from_markdown(
markdown_content,
output_path="output.epub",
title="My Book",
author="Author Name"
)Project Structure
markdown-to-epub/
├── SKILL.md # Skill definition with YAML frontmatter
├── requirements.txt # Python dependencies (ebooklib, markdown2)
├── scripts/
│ ├── markdown_processor.py # Markdown parsing & structure extraction
│ └── epub_generator.py # EPUB file creation & formatting
test_epub_skill.py # Test suiteClaude Skills Development Guidelines
Skill Definition (SKILL.md)
- Must include YAML frontmatter with
nameanddescription - Description should be clear and actionable for Claude to understand when to use the skill
- Include detailed usage examples showing input formats and expected outputs
- Document all supported features and edge cases
Python Implementation
- Keep dependencies minimal and well-documented in
requirements.txt - Separate concerns: parsing logic vs. file generation
- Handle edge cases gracefully (empty input, malformed markdown, etc.)
- Include comprehensive error handling and validation
Testing
- Create standalone test file that validates all major functionality
- Test edge cases: empty content, special characters, long documents
- Verify output file quality and standards compliance
- Make tests runnable without external dependencies
Development Best Practices
Code Organization
- Processing Scripts: Put core logic in
scripts/directory - Configuration: Use YAML frontmatter in SKILL.md for metadata
- Resources: Keep static assets (CSS, templates) in
resources/(if needed) - Tests: Standalone test files at project root
File Generation
- Always validate output file format compliance
- Use well-established libraries (e.g., ebooklib for EPUB)
- Include proper metadata (title, author, language, date)
- Test generated files in target applications (e.g., Apple Books, Kindle)
Documentation
- README.md: User-facing documentation with examples
- SKILL.md: Claude-readable skill definition and usage
- REFERENCE.md: Technical implementation details (optional)
- CLAUDE.md: Development guidelines (this file)
Common Development Tasks
Adding New Markdown Features
- Update
markdown_processor.pyto parse the new element - Update CSS in
epub_generator.pyto style it properly - Add test cases in
test_epub_skill.py - Update documentation in README.md and SKILL.md
Improving EPUB Styling
- Modify CSS in
create_styled_chapter()function - Test in multiple EPUB readers (Apple Books, Calibre, etc.)
- Ensure responsive design for different screen sizes
- Validate EPUB3 compliance
Testing Changes
# Run test suite
python test_epub_skill.py
# Test generated EPUB manually
python -c "
from markdown_to_epub.scripts.epub_generator import create_epub_from_markdown
create_epub_from_markdown('# Test\n\nContent', 'test.epub', 'Test', 'Author')
"
open test.epub # macOS - opens in default EPUB readerPublishing the Skill
Local Testing and Building
# Run local publish script to test packaging
bash publish.sh
# This creates dist/markdown-to-epub-skill.zipRelease Process
This project uses GitHub Actions for automated releases with changelog management.
1. Add Changes to Changelog
Use the changelog helper script to manage entries:
# Add a new feature
python changelog-helper.py add "Support for nested lists in markdown" --type added
# Add a bug fix
python changelog-helper.py add "Fix table rendering in Apple Books" --type fixed
# Add a breaking change
python changelog-helper.py add "Update minimum Python version to 3.9" --type changed
# Show current unreleased changes
python changelog-helper.py showAvailable change types:
added- New featureschanged- Changes to existing functionalitydeprecated- Soon-to-be removed featuresremoved- Removed featuresfixed- Bug fixessecurity- Security improvements
2. Prepare Release
When ready to release, prepare the changelog:
# Move unreleased changes to new version
python changelog-helper.py release 1.1.0
# This will:
# - Create a new version section in CHANGELOG.md with today's date
# - Move all unreleased entries to that version
# - Clear the unreleased section
# - Update version comparison links3. Commit and Trigger Release
# Commit the changelog
git add CHANGELOG.md
git commit -m "chore: prepare release 1.1.0"
git push
# Trigger the GitHub Action release workflow:
# 1. Go to Actions tab on GitHub
# 2. Select "Release" workflow
# 3. Click "Run workflow"
# 4. Enter version number (e.g., 1.1.0)
# 5. Optionally mark as pre-release4. Automated Release Steps
The GitHub Action will automatically:
- Validate version format (semver)
- Check that version exists in CHANGELOG.md
- Extract release notes from changelog
- Run tests to ensure quality
- Build the skill package (zip file)
- Create GitHub release with tag (e.g., v1.1.0)
- Attach the zip file as a release artifact
Manual Release (Alternative)
If needed, you can create releases manually:
# Build the package
bash publish.sh
# Create git tag
git tag -a v1.1.0 -m "Release version 1.1.0"
git push origin v1.1.0
# Upload dist/markdown-to-epub-skill.zip to GitHub release manuallyVersion Numbering
Follow Semantic Versioning:
- MAJOR (1.0.0 → 2.0.0): Breaking changes
- MINOR (1.0.0 → 1.1.0): New features, backwards compatible
- PATCH (1.0.0 → 1.0.1): Bug fixes, backwards compatible
Pre-releases
For beta/RC versions:
# Prepare pre-release
python changelog-helper.py release 2.0.0-beta.1
# Mark as pre-release in GitHub Action
# version: 2.0.0-beta.1
# prerelease: true (checked)Resources
- Skills Documentation: https://docs.claude.com/en/docs/agents-and-tools/agent-skills/overview
- EPUB 3 Standard: https://www.w3.org/publishing/epub32/
- ebooklib Documentation: https://docs.sourcefabric.org/projects/ebooklib/
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

