Markdown Article Formatter
JimLiu/baoyu-skills
Reformats plain text or Markdown articles with frontmatter, a title, a summary, headings, bold, lists and code blocks, and saves a separate formatted copy.
Read, write, and edit EPUB2/EPUB3 ebooks as an EPUB file format expert.
$ npx skills add magnus919/agent-skills --skill epub -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install magnus919/agent-skills epub --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/magnus919/agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/epub .claude/skills/epub && rm -rf skills-srcUse ~/.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/
Install the "epub" agent skill from https://github.com/magnus919/agent-skills/tree/main/epub into .claude/skills/epub/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "epub", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/magnus919/agent-skills/tree/main/epubType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add magnus919/agent-skills --skill epub -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install magnus919/agent-skills epub --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/magnus919/agent-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/epub .agents/skills/epub && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "epub" agent skill from https://github.com/magnus919/agent-skills/tree/main/epub into .agents/skills/epub/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "epub", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add magnus919/agent-skills --skill epub -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install magnus919/agent-skills epub --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/magnus919/agent-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/epub .cursor/skills/epub && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "epub" agent skill from https://github.com/magnus919/agent-skills/tree/main/epub into .cursor/skills/epub/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "epub", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/magnus919/agent-skills.git --path epub--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add magnus919/agent-skills --skill epub -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install magnus919/agent-skills epub --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/magnus919/agent-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/epub .gemini/skills/epub && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "epub" agent skill from https://github.com/magnus919/agent-skills/tree/main/epub into .gemini/skills/epub/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "epub", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install magnus919/agent-skills epubInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add magnus919/agent-skills --skill epub -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/magnus919/agent-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/epub .github/skills/epub && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "epub" agent skill from https://github.com/magnus919/agent-skills/tree/main/epub into .github/skills/epub/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "epub", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add magnus919/agent-skills --skill epub -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install magnus919/agent-skills epub --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/magnus919/agent-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/epub .opencode/skills/epub && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "epub" agent skill from https://github.com/magnus919/agent-skills/tree/main/epub into .opencode/skills/epub/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "epub", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
epubRead, write, and edit EPUB2/EPUB3 ebooks as an EPUB file format expert.
Epub is an agent skill from magnus919/agent-skills. Read, write, and edit EPUB2/EPUB3 ebooks as an EPUB file format expert. Extract text, metadata, structure, and knowledge from EPUB files for enrichment or memory. Create valid EPUBs from scratch. Validate against the EPUB specification. Use when the user mentions epub, ebook, EPUB file, ebook format, read epub, write epub, create ebook, extract from epub, epub to text, or ebook structure. Do not use this skill for unrelated requests; route to the nearest named specialist.
Its SKILL.md is about 4.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 27 other files, including scripts and reference files (for example `README.md`, `evals/evals.json` and `references/accessibility.md`). Compatibility notes: Python 3.8+ required. Core scripts use EbookLib (pip install EbookLib) for reading and creating EPUBs. Optional epublib (pip install epublib) for…
It sits in Documents & Office. The repository describes itself as: Curated collection of AI agent skills for Hermes and other agent frameworks. The licence is MIT.
Read from SKILL.md and the folder at commit 22b4723. It shows what the files ask for, not the result of running them.
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.
Ships 5 files in scripts/, which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
idpf.orgFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
EPUB_LLM_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Python 3.8+ required. Core scripts use EbookLib (pip install EbookLib) for reading and creating EPUBs. Optional epublib (pip install epublib) for non-intrusive editing. beautifulsoup4 (pip install beautifulsoup4) for text extraction. Optional LLM mode via EPUB_LLM_URL + EPUB_LLM_KEY env vars (any OpenAI-compatible provider). EPUBCheck (Java, optional) for authoritative validation. Portable across all AgentSkills-compatible harnesses — scripts are platform-agnostic.
From compatibility in the SKILL.md frontmatter.
Epub loads about 4.4k tokens when it runs, and up to ~18k if it reads all its reference files. Until then it costs about 120 tokens; SKILL.md has 1,546 words of instructions outside code blocks.
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.
The automated check found no risky patterns in SKILL.md.
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); the scripts in this folder are not scanned.
The full file from magnus919/agent-skills at commit 22b4723, republished under its MIT licence (© magnus919). 1,546 words, ~4,365 tokens.
.claude/skills/epub/SKILL.md (or your agent's skills folder). This skill also uses 24 other files; get the full folder from GitHub.Expert-level EPUB handling: read, write, edit, validate, and extract knowledge from EPUB 2 and EPUB 3 files. Ships with five Python CLI scripts and five detailed references covering the entire EPUB domain.
An EPUB file is a ZIP archive (Open Container Format, OCF) with a specific internal layout. The W3C EPUB 3.3 standard uses a "three planes" model:
| Plane | Contains | Key Rule |
|---|---|---|
| Manifest | All resources (XHTML, images, CSS, fonts) | Every file must be listed in OPF <manifest> |
| Spine | Linear reading order | Only XHTML/SVG by default; other types need fallbacks |
| Content | Resources embedded within documents | Core media types guaranteed; foreign types need fallbacks |
The package document (content.opf) holds metadata (Dublin Core), manifest
(every resource), and spine (reading order). EPUB3 uses an XHTML nav document
for navigation; EPUB2 uses .ncx XML. Both can coexist for compatibility.
Critical rules: mimetype must be the first ZIP entry, stored uncompressed.
All content documents must be well-formed XML (XHTML, not HTML5). The manifest
must list every file used in rendering. Read references/epub-format-internals.md
for the full structure reference.
| Task | Script | Notes |
|---|---|---|
| See structure, metadata, manifest, spine, TOC | epub-info | JSON output, --summary for compact |
| Extract clean reading-order text | epub-text | Per-chapter or single file |
| Create minimal valid EPUB from scratch | epub-scaffold | No dependencies needed |
| Extract facts, quotes, definitions, arguments | epub-extract-knowledge | Heuristic or LLM mode (env var auto-detect) |
| Validate against EPUB spec | epub-validate | EPUBCheck or Python fallback |
| Edit EPUB (metadata, chapters, spine, CSS) | epub-edit | v2 flagship — 8 subcommands, non-intrusive |
| Extract images | epub-images | List or extract to directory |
| Batch process multiple EPUBs | epub-batch | Wrap existing scripts across globs |
| Convert EPUB2 → EPUB3 | epub-convert | Add NAV, update NS, keep NCX |
| Diagnose & repair structural issues | epub-repair | Auto-fix common validation failures |
All scripts live in scripts/ relative to this skill's directory. Each follows
cli-builder conventions: --json for machine output, --dry-run to preview,
non-interactive, errors to stderr. Run with --help for full flag details.
scripts/epub-info book.epub --json
scripts/epub-info book.epub --summary # compact manifest
scripts/epub-info book.epub --dry-run # previewOutputs: EPUB version, metadata (title, author, language, identifier),
manifest (all items with id/href/media-type), spine (reading order),
TOC (nested structure). --summary reduces manifest to id+href+media-type.
scripts/epub-text book.epub # plain text to stdout
scripts/epub-text book.epub --json # JSON with chapter array
scripts/epub-text book.epub --chapters # one .txt per chapter
scripts/epub-text book.epub --output book.txt # single file
scripts/epub-text book.epub --format markdown # markdown outputExtracts text from spine-ordered content documents. Strips HTML tags, preserves paragraph structure. Requires beautifulsoup4. Respects spine linearity — only processes documents in the reading order.
scripts/epub-scaffold --title "My Book" --author "Jane Doe"
scripts/epub-scaffold --title "Novel" --author "Me" --chapters 12 --output novel.epub
scripts/epub-scaffold --title "Guide" --author "Me" --cover cover.jpg
scripts/epub-scaffold --title "Guide" --author "Me" --cover cover.jpg --toc-hidden --dry-runCreates a valid EPUB3 with all content inside OEBPS/ — required for Apple
Books compatibility. No external dependencies — Python stdlib only.
Cover handling: When --cover is provided, the scaffold automatically:
OEBPS/Images/cover.{ext}OEBPS/Text/cover.xhtml — an XHTML wrapper page with full-viewport CSSproperties="cover-image" on the raw image for library thumbnailsThis follows the Apple Books requirement that covers must be XHTML pages in the spine, not raw image references (raw images render as blank pages).
Nav visibility: --toc-hidden sets linear="no" on the nav spine item,
hiding it from the reading flow (still accessible via the app's built-in TOC
browser). Default is --toc-visible (nav renders as a page).
CSS: Ships OEBPS/Styles/default.css with Apple Books-compatible typography:
no deprecated page-break-before, margin: 0 on body (padding for whitespace),
proper heading hierarchy, and responsive styling.
Cover art guidance: The --cover flag accepts a pre-existing image file. If
the user does not have a cover image, offer to generate one using the agent's
image_gen capability. See references/apple-books-compatibility.md for the full
cover XHTML and CSS conventions.
scripts/epub-cover wrap book.epub --image cover.png --output with-cover.epub
scripts/epub-cover wrap book.epub --image cover.png --in-placeAdds a cover XHTML wrapper page to an EPUB that already has a cover image in its manifest. Use when the image exists but isn't rendering in Apple Books. Requires epublib.
# LLM mode — set env vars first (see references below), then run without flags:
scripts/epub-extract-knowledge book.epub --format json
scripts/epub-extract-knowledge book.epub --format atoms
scripts/epub-extract-knowledge book.epub --format memory
# Force heuristic mode (ignore env vars):
scripts/epub-extract-knowledge book.epub --no-llm --format json
# Custom prompt override:
scripts/epub-extract-knowledge book.epub --prompt "Extract all definitions" --format jsonExtracts knowledge from EPUB content: facts, definitions, key points, and arguments. Two modes, auto-selected:
EPUB_LLM_URL and EPUB_LLM_KEY env vars
are set, calls the configured LLM with the chapter text and extraction prompt.
Produces high-quality structured insights. Falls back to heuristic if the LLM
call fails.--no-llm is
passed, uses pattern matching (headings, emphasis markers, definition language,
paragraph density) to identify knowledge-bearing passages. No LLM required.Output formats: json (raw structured JSON), atoms (Obsidian vault atom
templates), memory (key-value entries suitable for agent persistence). For the
env-var configuration convention, knowledge-type detection table, LLM prompt
design, and sink options by platform, load
references/llm-config-and-extraction.md.
scripts/epub-edit info book.epub --json
scripts/epub-edit metadata book.epub --title "New Title" --output out.epub
scripts/epub-edit add-chapter book.epub --content new.xhtml --after chapter3 --output out.epub
scripts/epub-edit remove-chapter book.epub --id chapter5 --output out.epub
scripts/epub-edit reorder-spine book.epub --order chapter3,chapter1,chapter2 --dry-run
scripts/epub-edit rename-resource book.epub --from Images/old.jpg --to Images/new.jpg
scripts/epub-edit inject-css book.epub --css dark.css --output out.epub
scripts/epub-edit update-manifest book.epub --output out.epubNon-intrusive EPUB editing via epublib. Eight subcommands covering the full
edit surface. Never overwrites original — defaults to --output out.epub;
use --in-place to commit. All subcommands support --json, --dry-run.
scripts/epub-images book.epub --list --json # list all images
scripts/epub-images book.epub --extract images/ # extract all to directory
scripts/epub-images book.epub --type cover --extract . # cover image onlyscripts/epub-batch extract-text "books/*.epub" --output texts/
scripts/epub-batch validate "books/*.epub" --json
scripts/epub-batch metadata "books/*.epub" --set-author "Author" --output-dir fixed/
scripts/epub-batch info "books/*.epub" --jsonscripts/epub-convert old.epub --output new-v3.epub
scripts/epub-convert old.epub --validate --jsonscripts/epub-repair broken.epub --diagnose --json # list fixable issues
scripts/epub-repair broken.epub --output fixed.epub # auto-fixscripts/epub-validate book.epub --json
scripts/epub-validate book.epub --dry-runTries EPUBCheck (Java JAR) first for authoritative validation. Falls back to pure-Python structural checks: mimetype position/compression/content, container.xml parseability, OPF schema, manifest completeness, spine reference integrity, required metadata, and NAV document presence.
Before executing a multi-step EPUB pipeline, discover what tools are available on your agent platform — this skill is portable, and the exact pipeline shape depends on your harness's capabilities. The protocol: enumerate your tools (file write, web access, subagents, cron, persistent memory, vector DB, vault, LLM), classify them against the pipeline stages (Ingest → Parse → Extract → Format → Sink), construct a pipeline from available pieces, and propose the plan to the user before executing.
See references/agent-capability-discovery.md for the full protocol with the
stage map and worked example pipelines for different platforms (full agent
with vault + RAG, minimal terminal-only harness, and batch multi-file runs).
# 1. Scaffold the EPUB
scripts/epub-scaffold --title "My Book" --author "Me" --chapters 3 --output book.epub
# 2. Use epublib (Python) to inject real content into each chapter
# See references/tutorials-and-guides.md for the editing patternscripts/epub-images book.epub --extract images/# Update metadata
scripts/epub-edit metadata book.epub --title "New Title" --output revised.epub
# Add a chapter
scripts/epub-edit add-chapter book.epub --content new.xhtml --output expanded.epub
# Inject dark theme
scripts/epub-edit inject-css book.epub --css dark.css --output dark.epubscripts/epub-repair broken.epub --diagnose --json # see what's broken
scripts/epub-repair broken.epub --output fixed.epub # auto-fixscripts/epub-batch extract-text "books/*.epub" --output texts/scripts/epub-convert old.epub --output old-v3.epub --validateApple Books on macOS/iOS enforces requirements beyond the EPUB spec; these
rules were verified by building and testing on macOS 26. The essentials: all
content lives inside OEBPS/, covers are XHTML pages in the spine (raw image
spine items render blank), body uses margin: 0 avoidance via padding, no
deprecated page-break-before, xmlns:epub only on the nav document, the raw
cover image keeps properties="cover-image", and linear="no" hides a page
(e.g., nav) from the reading flow without hiding it from the app's TOC browser.
Spine ordering patterns: no cover (nav → chapters), cover only
(cover-page → nav(linear="no") → chapters), full
(cover-page → nav → chapters; scaffold default).
Do not rely on memory for these rules — load
references/apple-books-compatibility.md for the rule-by-rule table, CSS
examples, the cover XHTML template, and validation quirks whenever you build
or repair an EPUB targeted at Apple Books.
zipfile compresses by default. Always use
ZIP_STORED for the mimetype entry. A compressed mimetype silently breaks
reading systems.<br/> not <br>). Use xmlns:epub="http://www.idpf.org/2007/ops".idref in the spine must match an id
in the manifest. Broken references cause the EPUB to fail validation.properties="nav".
Without it, reading systems may not show a table of contents.<dc:language> and xml:lang/lang
attributes on content documents. Missing language = invalid EPUB.--no-llm fallback for
extraction. Heuristic mode works surprisingly well for well-structured books.OEBPS/content.opf. Always read
container.xml to find the actual path. The root directory varies.references/epub-format-internals.md — Full structural reference (OCF, OPF,
XHTML, NCX/NAV, spine, three planes, core media types, EPUB2 vs EPUB3)references/python-libraries.md — EbookLib vs epublib comparison, code
examples, when to use which, license notesreferences/spec-and-validation.md — W3C EPUB 3.3 spec access points,
EPUBCheck usage, Ace accessibility validation, key constraints summaryreferences/tutorials-and-guides.md — Beginner to advanced guides, common
workflows, manual OPF editing, batch operations, pitfallsreferences/agent-capability-discovery.md — Protocol for probing agent tools,
constructing extraction pipelines, worked examples across platformsreferences/fixed-layout-epub.md — Fixed-layout detection and properties
(rendition:layout, orientation, spread, viewport meta)references/accessibility.md — WCAG alignment, alt text, heading hierarchy,
ARIA roles, Ace integration, accessibility metadatareferences/media-overlays.md — SMIL synchronization, audio-text pairing,
skippability/escapability, detection from manifestreferences/apple-books-compatibility.md — Apple Books rules beyond the spec:
OEBPS layout, cover XHTML wrapper, CSS conventions, spine patterns, quirksreferences/llm-config-and-extraction.md — EPUB_LLM_* env-var convention,
LLM vs heuristic extraction modes, knowledge-type detection, prompt design,
sink options by platform© magnus919, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 24 other files (scripts, references) in epub of magnus919/agent-skills.
Open the folder on GitHubat commit 22b4723
Epub 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Epub this skillmagnus919/agent-skills | 115 | — | ~4.4k | Automated safety check: Pass | MIT | |
| Markdown Article FormatterJimLiu/baoyu-skills | 27k | 6 repos | ~3.5k | Automated safety check: Pass | MIT | |
| MarkitdownImCa0/just-laws | 781 | 14 repos | ~3.2k | Automated safety check: Notes | MIT | |
| Obsidian MarkdownAtmosphere/atmosphere | 3.8k | 20 repos | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| DOCXrvdbreemen/OTGW-firmware | 207 | 33 repos | ~4.3k | Automated safety check: Pass | Proprietary | |
| Word Document Reader and WriterHKUDS/DeepTutor | 41k | — | ~2.5k | Automated safety check: Pass | Apache-2.0 |
JimLiu/baoyu-skills
Reformats plain text or Markdown articles with frontmatter, a title, a summary, headings, bold, lists and code blocks, and saves a separate formatted copy.
ImCa0/just-laws
Convert files and office documents to Markdown. An agent skill from ImCa0/just-laws.
Atmosphere/atmosphere
Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax.
rvdbreemen/OTGW-firmware
A skill your agent uses whenever the user wants to create, read, edit, or manipulate Word documents (.docx files).
HKUDS/DeepTutor
Reads, creates and edits Word .docx files with python-docx, and drops to raw OOXML for tracked changes, comments and byte-exact edits.
wasp-lang/wasp
Crosspost Wasp blog articles (MDX) to DEV.to and Medium. An agent skill from wasp-lang/wasp.
magnus919/agent-skills
Organize durable agent research outputs as summaries, analysis, and evidence dossiers.
magnus919/agent-skills
Build portable, first-person colored ASCII city engines and small GIS-derived city packs.
magnus919/agent-skills
Manage color workflows with ICC profiles, working spaces, gamut mapping, and color science.
magnus919/agent-skills
A skill your agent uses for PhD-level expertise in data science, statistics, and machine learning: rigorous statistical analysis, experimental design, causal inference, advanced modeling, research…
magnus919/agent-skills
Use Docker Compose to define, run, debug, and harden multi-container applications.
magnus919/agent-skills
Design, review, simulate, and verify FPGA logic using explicit RTL contracts, clock and reset models, CDC analysis, timing constraints, and reproducible implementation evidence.
Categories
Read, write, and edit EPUB2/EPUB3 ebooks as an EPUB file format expert. Epub is an agent skill from magnus919/agent-skills. Read, write, and edit EPUB2/EPUB3 ebooks as an EPUB file format expert.
Epub fits situations like: the user mentions epub; extract from epub; ebook structure; unrelated requests.
Run `npx skills add magnus919/agent-skills --skill epub -a claude-code`. Or copy the skill folder (epub in magnus919/agent-skills) into .claude/skills/epub in your project. Claude Code loads it when a task matches its description.
Run `npx skills add magnus919/agent-skills --skill epub -a codex`. Or copy the skill folder (epub in magnus919/agent-skills) into .agents/skills/epub in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add magnus919/agent-skills --skill epub -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/epub, .gemini/skills/epub, .github/skills/epub and .opencode/skills/epub in your project.
Going by SKILL.md and its folder, Epub needs credentials named EPUB_LLM_KEY. Our summary lists: Python 3; A credential in EPUB_LLM_KEY. Compatibility (from SKILL.md): Python 3.8+ required. Core scripts use EbookLib (pip install EbookLib) for reading and creating EPUBs. Optional epublib (pip install epublib) for non-intrusive editing. beautifulsoup4 (pip install beautifulsoup4) for text extraction. Optional LLM mode via EPUB_LLM_URL + EPUB_LLM_KEY env vars (any OpenAI-compatible provider). EPUBCheck (Java, optional) for authoritative validation. Portable across all AgentSkills-compatible harnesses — scripts are platform-agnostic..
SKILL.md names 1 domain. In commands or code: idpf.org; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Epub is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.4k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 14k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Epub: Markdown Article Formatter (JimLiu/baoyu-skills, 27k stars), Markitdown (ImCa0/just-laws, 781 stars), Obsidian Markdown (Atmosphere/atmosphere, 3.8k stars) and DOCX (rvdbreemen/OTGW-firmware, 207 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
magnus919 (a GitHub user) maintains it in magnus919/agent-skills, which has 115 GitHub stars. The repository holds 131 skills in this directory. The repository was last updated on October 10, 2026.
Source: magnus919/agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.