本文へ移動
cccskills
無料GitHub で公開

whitepaper

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.

インストール方法を見る

含まれるファイル(4)

  • SKILL.md9.8 KB
  • .releaserc.json49 B
  • CHANGELOG.md22 B
  • package.json90 B

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

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:

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:

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:

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:

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:

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.

# 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:

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"

Recommended Fields

FieldPurposeExample
subtitleSecond line on cover, below the accent line"Technical Architecture and Security Documentation"
dateCover page and page footer"January 29, 2026"

Optional Fields

FieldPurposeExample
authorAuthor list on cover pageSee structured example below

Minimal Example

---
title: "AEM Code Sync for Edge Delivery Services"
subtitle: "Technical Architecture and Security Documentation"
date: "January 29, 2026"
---

Full Example with Authors

---
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:

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

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Analyzes a multi-step conversion funnel to find where visitors drop off and which steps have the worst leakage. Use this skill when someone describes a journey and asks about conversion rates, drop-off, fallout, or step completion. Trigger for "analyze our checkout funnel," "where are visitors dropping off," "what's our add-to-cart to purchase conversion rate," "funnel analysis," "show me fallout between steps," or "which step loses the most visitors."

日本語の概要は準備中です。原文の説明を表示しています。

aemgdc/aemdev22026年10月10日 更新

Generates a concise, executive-ready performance summary covering key metrics, trends, and what's driving movement. Use this skill when someone needs to produce a briefing, executive summary, performance narrative, or stakeholder readout — for example, "write an exec summary of last week's performance," "create a performance briefing for our leadership team," "produce a monthly business review summary," "what should I tell executives about our metrics," or "generate a performance narrative." Also trigger for "QBR summary," "weekly business review," or "stakeholder briefing."

日本語の概要は準備中です。原文の説明を表示しています。

aemgdc/aemdev22026年10月10日 更新

Produces a compact KPI digest showing how key metrics changed over a period and what's driving the movement. Use this skill when someone asks for a performance summary, a weekly recap, a morning briefing, a KPI update, or any variation of "how did we do this week/month." Also trigger for "give me a performance overview," "what moved in the last 7 days," "pull our AA KPI report," or "summarize our metrics."

日本語の概要は準備中です。原文の説明を表示しています。

aemgdc/aemdev22026年10月10日 更新

Compares the performance of two or more audience segments across key metrics side by side. Use this skill when someone wants to compare audiences or visitor groups — for example, "how do mobile visitors compare to desktop on conversion," "compare new vs. returning visitors," "show me the difference between these two segments," "compare these audiences on our KPIs," or "which segment performs better." Also trigger for "segment comparison" or "audience comparison."

日本語の概要は準備中です。原文の説明を表示しています。

aemgdc/aemdev22026年10月10日 更新

Identifies which items (pages, campaigns, products, channels, regions) had the biggest increases or decreases for a key metric between two time periods. Use this skill when someone asks "what's up and what's down," "which campaigns moved the most," "top gainers and losers," "what pages are trending," "show me what changed by channel," or any variation of identifying the biggest movers and decliners for a metric.

日本語の概要は準備中です。原文の説明を表示しています。

aemgdc/aemdev22026年10月10日 更新

Scan an AEM Edge Delivery Services page for WCAG 2.1 AA accessibility violations and generate specific fixes. Identifies missing alt text, heading hierarchy issues, link text problems, color contrast concerns, and EDS-specific accessibility patterns. Use when fixing accessibility issues, preparing for compliance audits, or remediating WCAG violations.

日本語の概要は準備中です。原文の説明を表示しています。

aemgdc/aemdev22026年10月10日 更新

aemgdc のスキルをすべて見る

このスキルの問題を報告する