kdp/skills/kdp-audit/SKILL.md
Audit a book manuscript against Amazon KDP requirements: interior formatting, cover specs, metadata, and genre-specific checks. Handles technical books (LaTeX, math), fiction, and nonfiction. Produces a structured gap report with Critical and Warnings sections plus automation suggestions.
npx skillsauth add queelius/claude-anvil kdp-auditInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Audit a book manuscript against Amazon KDP (Kindle Direct Publishing) requirements and produce a structured gap report. This skill evaluates interior formatting, cover specs, metadata completeness, and genre-specific requirements (technical vs. fiction).
Identify manuscript files and format. Look for these file types in the current directory or specified path:
Primary manuscript formats (Glob tool):
.tex files (LaTeX manuscripts, common for technical books).docx files (Microsoft Word, common for fiction/nonfiction).epub files (eBook source).md files (Markdown manuscripts).pdf files (final output).kpf files (Kindle Create project)Manuscript type classification:
If no manuscript is found, ask the user which file to audit.
Read .claude/kdp.local.md if it exists (Read tool). Extract the kdp configuration section and author metadata from YAML frontmatter. The config may include:
kdp:
trim_size: "6x9"
paper_type: "white"
binding: "paperback"
genre: "technical"
target_page_count: 300
author:
name: "Author Name"
bio: "Brief author bio"
If the file is missing, inform the user and offer to create one from the template at ${CLAUDE_PLUGIN_ROOT}/docs/user-config-template.md.
Verify the manuscript meets KDP interior requirements. Full specs are in ${CLAUDE_PLUGIN_ROOT}/docs/kdp-reference.md (Interior Formatting section); read it and check the manuscript against:
0.375" + page_count / 1000 * 0.125"), outside at least 0.25", gutter at least 0.5" for 150+ pagesVerify covers meet KDP requirements. Full specs are in ${CLAUDE_PLUGIN_ROOT}/docs/kdp-reference.md (Cover Requirements section).
Find cover files (Glob tool): cover*.jpg, cover*.jpeg, cover*.tiff, ebook-cover.* for eBook; paperback-cover.pdf, full-cover.pdf, cover-print.* for paperback.
Verify dimensions (Bash tool):
identify (ImageMagick) is available: identify -format "%wx%h" cover.jpgfile cover.jpg often reports dimensionspage_count * 0.002252" (white paper) or 0.0025" (cream)Cover content requirements: title readable at thumbnail size, author name present, high contrast, no prohibited content. Report actual vs. required dimensions. If cover files are absent, flag as a critical gap.
Verify all required listing metadata exists in the manuscript or in .claude/kdp.local.md. Full field specs and constraints are in ${CLAUDE_PLUGIN_ROOT}/docs/kdp-reference.md (Metadata section).
Grep manuscript front matter and the user config for:
Flag missing fields so the user can provide them via the KDP dashboard.
If manuscript is technical (LaTeX, math-heavy, code listings):
LaTeX compilation (Bash tool):
cd /path/to/manuscript && pdflatex -interaction=nonstopmode manuscript.tex
Verify compilation succeeds with no critical errors.
Math rendering:
\usepackage{amsmath} or equivalentCode listings:
listings or minted package usageIndex and bibliography:
\printindex and \bibliography{} commands present\index{}).bib file exists and is referencedmakeindex and bibtex successfullyCheck for eBook-specific issues that affect Kindle rendering and KDP acceptance.
EPUB validation (Glob tool, Bash tool):
.epub files exist in the projectepubcheck is available (which epubcheck), run it on the EPUB file and report resultsepubcheck is not installed, note it as a recommendation and list common EPUB issues to manually check:
.md or .docx source files do, recommend conversion via Pandoc before audit:
pandoc manuscript.md -o manuscript.epub --toc --metadata title="Book Title"
Check for issues that specifically break on Kindle devices:
Footnotes (Grep tool):
\footnote in LaTeX source, or footnote markers in DOCX/HTMLWide tables (Grep tool):
Complex CSS (Grep tool):
Large images (Bash tool):
ls -la on image files or identify if ImageMagick is availableIf manuscript is fiction or narrative nonfiction:
Chapter structure (Grep tool):
Front matter order validation (Grep/Read tools):
Back matter order validation (Grep/Read tools):
Scene breaks and formatting:
* * * or similar (not just blank lines)Scene break consistency (Grep tool):
* * *, all ---, all ###, etc.)Special elements:
Use the template at ${CLAUDE_PLUGIN_ROOT}/docs/audit-report-template.md as the skeleton. Populate findings from the preceding steps. Omit sections that do not apply (for example, the Fiction checklist for a technical book).
After presenting the report, offer to fix issues that can be automated:
geometry packageFor complete KDP requirements and the audit output structure:
${CLAUDE_PLUGIN_ROOT}/docs/kdp-reference.md for KDP formatting, cover, metadata, and submission specifications${CLAUDE_PLUGIN_ROOT}/docs/audit-report-template.md for the gap report skeletontools
This skill should be used when the user asks about research directions, open problems, future work, or follow-up research from the academic literature. Trigger phrases include "open problems in X", "what's next for Y", "future work for paper Z", "research directions on T", "salient follow-up research", "what should I work on next in", "find me follow-up research unrelated to my prior work", "broad survey of W", "neglected directions in V". Routes the request to the right Vista MCP tool, reads back the structured paper sections, and synthesizes research directions in the conversation.
testing
Discover latent themes in the metafunctor corpus. Use when the user wants to find implicit through-lines across their blog posts, surface recurring ideas they have not consciously framed as a series, or get candidate themes for a synthesis post. Reads titles, descriptions, and tags; proposes 3 themes that connect 4+ posts each, each with a single-sentence through-line. Output is a proposal, not a draft. Trigger phrases include "find themes in my posts", "what threads connect my writing", "latent themes in my corpus", "scribe".
development
Use when drafting prose sections for a bookwright (technical non-fiction) project. Encodes the Bernoulli-textbook workflow: atom-outward design, deferral discipline, running threads, page budgets, Path A subagent pattern, header comment block convention.
testing
Use when drafting or executing a paired notebook for a bookwright chapter. Covers when notebooks are required vs optional, numerical-sanity-target convention, exec-from-fresh-kernel requirement, and stack-specific execution commands (Jupyter/R Markdown/Quarto).