Agent skill

Whitepaper

by adobe in adobe/skills

Creates professional PDF whitepapers from Markdown files. An agent skill from adobe/skills.

Apache-2.0Auto-check: notesDocuments & Office

Install Whitepaper

skills CLI
$ npx skills add adobe/skills --skill whitepaper -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install adobe/skills whitepaper --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/adobe/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/aem/project-management/skills/whitepaper .claude/skills/whitepaper && rm -rf skills-src

Use ~/.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/

Facts

Skill name
whitepaper
GitHub stars
195
Token cost
~2.5k tokens
SKILL.md length
909 words
Files
4
Skills in repo
105
Repo updated
First seen
Licence
Apache-2.0

At a glance

Creates professional PDF whitepapers from Markdown files. An agent skill from adobe/skills.

  • Works in 6 steps: Determine Input and Output → Install Dependencies (if missing) → Copy Template to Output Directory → …
  • The user wants to create a whitepaper
  • SKILL.md covers Assets, CRITICAL: FULLY AUTOMATIC…, Usage and Frontmatter Reference, plus 4 more sections
  • Calls brew, apt-get and pandoc; reaches github.com

What it does

Whitepaper is an agent skill from adobe/skills. Creates professional PDF whitepapers from Markdown files. Use when the user wants to create a whitepaper, technical document, or PDF with professional formatting and typography.

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files (for example `.releaserc.json`, `CHANGELOG.md` and `package.json`).

It sits in Documents & Office, covering Report writing, PDF and Typography. The repository describes itself as: Adobe Skills for Agents. The licence is Apache-2.0.

When your agent uses it

  • The user wants to create a whitepaper
  • Technical document
  • PDF with professional formatting and typography

Example prompts

  • “Use the whitepaper skill to create professional PDF whitepapers from Markdown files. An agent skill from adobe/skills”
  • “/whitepaper”

Requirements

  • Pre-approved tools (allowed-tools): Read, Write, Edit, Bash

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Determine Input and Output
  2. Install Dependencies (if missing)
  3. Copy Template to Output Directory
  4. Run Pandoc
  5. Clean Up (MANDATORY - DO NOT SKIP)
  6. Report Result

What it can do on your machine

Read from SKILL.md and the folder at commit cbc9952. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Edit
    • Bash

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • brew
    • apt-get
    • pandoc
    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Whitepaper loads about 2.5k tokens when it runs. Until then it costs about 47 tokens; SKILL.md has 909 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~47
When it runs · the whole SKILL.md, loaded when a task matches
~2.5k

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.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteRuns commands with sudoSKILL.md:72
    " = "Darwin" ] && brew install pandoc || sudo apt-get update && sudo apt-get install -y pandoc
  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Write, Edit, Bash

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from adobe/skills at commit cbc9952, republished under its Apache-2.0 licence (© adobe). 909 words, ~2,512 tokens.

Download SKILL.mdSave it as .claude/skills/whitepaper/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
whitepaper
description
Creates professional PDF whitepapers from Markdown files. Use when the user wants to create a whitepaper, technical document, or PDF with professional formatting and typography.
allowed-tools
Read, Write, Edit, Bash
license
Apache-2.0
metadata.argument-hint
[input.md] [output.pdf]
metadata.version
1.0.0

Professional PDF Generator

This skill converts Markdown files into professionally typeset PDF whitepapers using pandoc and typst.

Assets

The skill includes (located in the plugin's root directory):

  • Typst template: templates/whitepaper.typ
  • Source Sans 3 fonts: fonts/ — variable fonts supporting all weights (open source from Google Fonts)
  • Source Code Pro fonts: fonts/ (Regular, Bold, Italic, Bold Italic) — used for code blocks and inline code

Plugin Root: The plugin root is determined dynamically (see Step 2.5 below)

Typography Hierarchy
ElementWeightStyle
Headlines (H1)Black (900)Large, tight tracking
Section headlines (H2)Bold (700)Blue accent line
Subheads (H3, H4)Bold (700)Medium size
Body copyRegular (400)Justified, comfortable leading
CodeSource Code ProMonospace

CRITICAL: FULLY AUTOMATIC EXECUTION

THIS SKILL RUNS COMPLETELY UNATTENDED. DO NOT:

  • Ask "Should I proceed?" before generating PDF
  • Ask "Should I delete these files?" before cleanup
  • Ask "Is this okay?" at any step
  • Wait for user confirmation between steps
  • Pause to show intermediate results
  • Request permission for file operations

REQUIRED BEHAVIOR:

  • Execute all steps sequentially without stopping
  • Generate PDF immediately when invoked
  • Delete ALL source files immediately after PDF is created
  • Only communicate with user AFTER everything is complete
  • Report final result: "PDF created: [path]"

If you find yourself about to ask the user a question during PDF generation or cleanup, STOP and just execute the operation instead.

Usage

When the user asks to create a PDF, follow these steps:

1. Determine Input and Output
  • Parse $ARGUMENTS for the input markdown file and optional output PDF path
  • If no output path is given, use the same name as the input with a .pdf extension
  • If no input is given, ask the user which markdown file to convert
  • Check the file's YAML frontmatter (see "Frontmatter Reference" below). If title is missing, ask the user for a title before proceeding. If date is missing, default to today's date.
2. Install Dependencies (if missing)

Run for each missing tool — the script auto-detects the platform:

bash
OS=$(uname -s)
# pandoc
command -v pandoc >/dev/null 2>&1 || {
  [ "$OS" = "Darwin" ] && brew install pandoc || sudo apt-get update && sudo apt-get install -y pandoc
}
# typst
command -v typst >/dev/null 2>&1 || {
  [ "$OS" = "Darwin" ] && brew install typst || {
    curl -fsSL https://github.com/typst/typst/releases/latest/download/typst-x86_64-unknown-linux-musl.tar.xz \
      | tar xJ --strip-components=1 -C /usr/local/bin/ typst-x86_64-unknown-linux-musl/typst
    chmod +x /usr/local/bin/typst
  }
}
2.5 Locate Plugin Root Directory

CRITICAL: Determine the plugin root before copying assets.

The plugin root contains templates/ and fonts/ directories. Use this single command:

bash
PLUGIN_ROOT=$([ -d ".claude/plugins/project-management" ] && echo ".claude/plugins/project-management" || echo "$CLAUDE_PLUGIN_ROOT")
echo "Using plugin root: $PLUGIN_ROOT"
ls "$PLUGIN_ROOT/templates/whitepaper.typ" || echo "ERROR: Template not found!"

Expected location: .claude/plugins/project-management

3. Copy Template to Output Directory

Copy the typst template to the same directory as the output PDF:

bash
PLUGIN_ROOT=$([ -d ".claude/plugins/project-management" ] && echo ".claude/plugins/project-management" || echo "$CLAUDE_PLUGIN_ROOT")
cp "$PLUGIN_ROOT/templates/whitepaper.typ" <output-directory>/whitepaper.typ

Replace <output-directory> with the directory where the PDF will be generated (e.g., project-guides/).

4. Run Pandoc

Execute the conversion with these exact flags. Run from the output directory so the template is found:

bash
cd <output-directory> && \
PLUGIN_ROOT=$(if [ -d "../.claude/plugins/project-management" ]; then echo "../.claude/plugins/project-management"; elif [ -d ".claude/plugins/project-management" ]; then echo ".claude/plugins/project-management"; else echo "$CLAUDE_PLUGIN_ROOT"; fi) && \
TYPST_FONT_PATHS="$PLUGIN_ROOT/fonts" pandoc <input.md> \
  -o <output.pdf> \
  --pdf-engine=typst \
  -V template="whitepaper.typ" \
  -V mainfont="Source Sans 3" \
  -V fontsize=10pt \
  -V papersize=a4

Example for project-guides/ADMIN-GUIDE.md:

bash
cd content && \
PLUGIN_ROOT=$([ -d "../.claude/plugins/project-management" ] && echo "../.claude/plugins/project-management" || echo "$CLAUDE_PLUGIN_ROOT") && \
TYPST_FONT_PATHS="$PLUGIN_ROOT/fonts" pandoc ADMIN-GUIDE.md -o ADMIN-GUIDE.pdf --pdf-engine=typst -V template="whitepaper.typ" -V mainfont="Source Sans 3" -V fontsize=10pt -V papersize=a4

Note: Do not pass --toc — the template generates its own table of contents page with proper styling.

5. Clean Up (MANDATORY - DO NOT SKIP)

CRITICAL: You MUST execute cleanup immediately after PDF generation. Only PDF should remain.

bash
# Remove ALL intermediate files in one command
rm -f <output-directory>/whitepaper.typ <input.md> <input-without-extension>.plain.html <input-without-extension>.html

Example cleanup for project-guides/AUTHOR-GUIDE.md:

bash
rm -f project-guides/whitepaper.typ project-guides/AUTHOR-GUIDE.md project-guides/AUTHOR-GUIDE.plain.html project-guides/AUTHOR-GUIDE.html

After cleanup, only project-guides/AUTHOR-GUIDE.pdf should exist. No .md, .html, or .plain.html files.

6. Report Result
"PDF created: [output.pdf]"

Frontmatter Reference

The template reads pandoc YAML frontmatter from the markdown file to populate the title page and footer. The frontmatter block must be the very first thing in the file, delimited by --- lines.

Required Fields
FieldPurposeExample
titleCover page headline, PDF metadata"AEM Code Sync for Edge Delivery Services"
FieldPurposeExample
subtitleSecond line on cover, below the accent line"Technical Architecture and Security Documentation"
dateCover page and page footer"January 29, 2026"
Show full SKILL.md (367 more words)Show less
Optional Fields
FieldPurposeExample
authorAuthor list on cover pageSee structured example below
Minimal Example
yaml
---
title: "AEM Code Sync for Edge Delivery Services"
subtitle: "Technical Architecture and Security Documentation"
date: "January 29, 2026"
---
Full Example with Authors
yaml
---
title: "AEM Code Sync for Edge Delivery Services"
subtitle: "Technical Architecture and Security Documentation"
date: "January 29, 2026"
author:
  - name: "Jane Smith"
    affiliation: "Edge Delivery Services"
  - name: "John Doe"
    affiliation: "Security Engineering"
---
What the Template Renders
  • Title: Large black-weight text on the cover
  • Subtitle: Lighter text below the accent divider line
  • Date: Shown on the cover and in the page footer
  • Authors: Listed on the cover with optional affiliation
Common Mistakes
  • Putting the frontmatter after a heading or blank line (it must be the first thing in the file)
  • Using unquoted strings that contain colons, e.g. title: AEM: A Guide -- wrap in quotes
  • Adding pandoc variables like fontsize or papersize in the frontmatter -- pass those as -V flags to pandoc instead (the skill handles this automatically)

Template Design

The template provides professional document formatting:

  • Professional typography using Source Sans 3 (open source font from Google Fonts)
  • Blue accent color (#0066cc) for section dividers and links
  • Clean header with title/subtitle (no separator line)
  • Footer with date and page numbering (hidden on title page)
  • Source Code Pro for code blocks and inline code
  • Automatic table of contents page
  • Title page with accent divider line
Template Features
FeatureDescription
Title pageClean design with title, subtitle, date, authors
Table of contentsAuto-generated on page 2
H1 headingsBlack weight, page break before
H2 headingsBold with blue accent line
Code blocksGray background, rounded corners
BlockquotesBlue left border, light blue background
TablesLight borders, bold header row
LinksBlue color (#0066cc)

Customizing the Document

The user can override pandoc variables with -V key=value:

VariableDefaultDescription
papersizea4Page size (a4, us-letter, etc.)
fontsize10ptBase font size
templatewhitepaper.typTypst template file
mainfontSource Sans 3Main body font

Requirements

  • pandoc and typst must be installed (the skill auto-installs them if missing)
    • macOS: via Homebrew (brew)
    • Linux: pandoc via apt-get, typst via GitHub release binary
  • Source Sans 3 fonts are included in the plugin's fonts/ directory

Troubleshooting

If fonts are not found by typst, ensure the TYPST_FONT_PATHS environment variable is set correctly:

bash
export TYPST_FONT_PATHS=${CLAUDE_PLUGIN_ROOT}/fonts
IssueSolution
Font not foundCheck TYPST_FONT_PATHS points to plugin's fonts/ directory
Template not foundEnsure whitepaper.typ was copied to output directory
Tables not breakingTemplate handles this automatically
Missing title pageCheck frontmatter has title field

© adobe, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files in plugins/aem/project-management/skills/whitepaper of adobe/skills.

  • SKILL.md
  • .releaserc.json
  • CHANGELOG.md
  • package.json

Open the folder on GitHubat commit cbc9952

Compare with similar skills

Whitepaper 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.

Whitepaper compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Whitepaper this skilladobe/skills195—~2.5kAutomated safety check: NotesApache-2.0
PDF Generationglebis/claude-skills388—~1.3kAutomated safety check: PassMIT
Graphic EbookVarnan-Tech/opendirectory672—~5kAutomated safety check: PassMIT
Ky Markdown RebuilderKyrieCheungYep/ky-markdown-rebuilder117—~5.7kAutomated safety check: PassNone
Summarizereysu/ai-life-skills270—~7.7kAutomated safety check: PassMIT
CSV To Executive Reportskrun-dev/skrun210—~1.1kAutomated safety check: PassMIT

Similar skills

  • PDF Generation

    glebis/claude-skills

    Professional PDF generation from markdown using Pandoc with Eisvogel template and EB Garamond fonts.

    388 GitHub stars~1.3k tokensUpdated 11 days ago
    Documents & OfficeAuto-check passed
  • Graphic Ebook

    Varnan-Tech/opendirectory

    Creates professionally designed B2B SaaS e-books in HTML + CSS, exported as print-ready PDF.

    672 GitHub stars~5k tokensUpdated 1 mo ago
    Documents & OfficeAuto-check passed
  • Ky Markdown Rebuilder

    KyrieCheungYep/ky-markdown-rebuilder

    Rebuild visual documents into reliable Markdown by combining text extraction with page or screenshot alignment.

    117 GitHub stars~5.7k tokensUpdated 2 mo ago
    Documents & OfficeAuto-check passed
  • Summarize

    reysu/ai-life-skills

    Summarize any content (YouTube video, article, whitepaper/PDF, podcast episode, book chapter, etc.) into a rich Obsidian note with section-by-section breakdowns, wikilinks to all technical concepts…

    270 GitHub stars~7.7k tokensUpdated 1 mo ago
    Documents & OfficeAuto-check passed
  • Turn a CSV of operational data (sales, usage, signups, support tickets) into a multi-page styled PDF executive report with narrative + matplotlib charts.

    210 GitHub stars~1.1k tokensUpdated 14 days ago
    Documents & OfficeAuto-check passed
  • Japanese Hand Drawn Editorial Ppt Skill

    software-ai-life/Awesome-PPT-Design-Skills

    Create or redesign PowerPoint decks in a high-end Japanese hand-drawn editorial style: warm off-white paper texture, delicate pencil or ink line illustration, thin uneven strokes, mostly monochrome…

    121 GitHub stars~758 tokensUpdated 5 mo ago
    Documents & OfficeAuto-check passed

More from adobe/skills

All 105 skills in this repo
  • Scaffolds, implements, deploys and debugs Adobe Runtime actions in App Builder projects, with templates for webhooks, events, database CRUD, sequences and Asset Compute workers.

    195 GitHub stars~3.1k tokensUpdated today
    Auto-check passed
  • Launches Chrome with an unpacked extension over CDP, opens its sidepanel, popup or options page, and hands over to cdp-connect for clicks, typing and screenshots.

    195 GitHub stars~952 tokensUpdated today
    Auto-check passed
  • Extracts icons, metadata, text, forms, videos and social links from any web page with playwright-cli, with SVG icon classification and cleanup.

    195 GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Page Langs

    adobe/skills

    Detect all languages used on a webpage — both declared (html@lang, hreflang alternate links, nested lang= attributes, meta content-language) and actually present in the body text (Google CLD3 via…

    195 GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Page Prep

    adobe/skills

    Prepare any webpage for clean interaction by detecting and removing disruptive overlays (cookie banners, GDPR consent, modals, popups, newsletter signups, paywalls, login walls).

    195 GitHub stars~2.1k tokensUpdated today
    Auto-check passed
  • Page Reduce

    adobe/skills

    Reduce a webpage to a structural skeleton with semantic tokens.

    195 GitHub stars~1.9k tokensUpdated today
    Auto-check passed

Questions about Whitepaper

What does Whitepaper do?

Creates professional PDF whitepapers from Markdown files. An agent skill from adobe/skills. Whitepaper is an agent skill from adobe/skills. Creates professional PDF whitepapers from Markdown files.

When should I use Whitepaper?

Whitepaper fits situations like: the user wants to create a whitepaper; technical document; PDF with professional formatting and typography.

How do I install Whitepaper in Claude Code?

Run `npx skills add adobe/skills --skill whitepaper -a claude-code`. Or copy the skill folder (plugins/aem/project-management/skills/whitepaper in adobe/skills) into .claude/skills/whitepaper in your project. Claude Code loads it when a task matches its description.

How do I install Whitepaper in Codex?

Run `npx skills add adobe/skills --skill whitepaper -a codex`. Or copy the skill folder (plugins/aem/project-management/skills/whitepaper in adobe/skills) into .agents/skills/whitepaper in your project. Codex loads it when a task matches its description.

Can I use Whitepaper in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add adobe/skills --skill whitepaper -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/whitepaper, .gemini/skills/whitepaper, .github/skills/whitepaper and .opencode/skills/whitepaper in your project.

What does Whitepaper need to run?

Going by SKILL.md and its folder, Whitepaper needs the command-line tools its instructions call (brew, apt-get, pandoc and curl). Its frontmatter pre-approves these tools: Read, Write, Edit, Bash.

Does Whitepaper access the network?

SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Whitepaper safe to install?

Our automated static check of SKILL.md found notes only (runs commands with sudo; pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Whitepaper use?

Whitepaper is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Whitepaper use?

About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Whitepaper?

Skills that share tags, products or a category with Whitepaper: PDF Generation (glebis/claude-skills, 388 stars), Graphic Ebook (Varnan-Tech/opendirectory, 672 stars), Ky Markdown Rebuilder (KyrieCheungYep/ky-markdown-rebuilder, 117 stars) and Summarize (reysu/ai-life-skills, 270 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Whitepaper?

adobe (a GitHub organization) maintains it in adobe/skills, which has 195 GitHub stars. The repository holds 105 skills in this directory. The repository was last updated on October 6, 2026.

Source: adobe/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.