Skip to content

feat(development-productivity): add generate-document skill using pandoc#413

Merged
wkoutre merged 3 commits intonextfrom
claude/slack-refactor-pdf-pandoc-krONa
Feb 25, 2026
Merged

feat(development-productivity): add generate-document skill using pandoc#413
wkoutre merged 3 commits intonextfrom
claude/slack-refactor-pdf-pandoc-krONa

Conversation

@wkoutre
Copy link
Contributor

@wkoutre wkoutre commented Feb 24, 2026

Summary

This PR adds a new generate-document skill to the development-productivity plugin that enables users to generate professional documents in multiple formats (PDF, DOCX, HTML, ODT, EPUB, RTF) from markdown content using pandoc.

Key Changes

  • New Skill: Added generate-document skill with comprehensive documentation in SKILL.md

    • Supports 7 output formats with appropriate use cases
    • Includes installation instructions for pandoc and LaTeX dependencies
    • Provides detailed step-by-step instructions for document generation workflow
    • Contains pandoc command examples for each output format
    • Includes reusable markdown templates for common document types (security reports, code reviews, research summaries)
    • Comprehensive troubleshooting guide for common issues
  • Plugin Updates:

    • Updated plugin version from 2.0.1 to 2.1.0
    • Added "generate-document" to skills list in plugin.json
    • Updated plugin description and keywords to include document generation capabilities
    • Updated README.md with new skill documentation and usage examples
    • Updated CLAUDE.md with skill overview and version bump

Implementation Details

The skill is designed to:

  • Detect user intent through natural language triggers ("make a PDF", "generate a report", "export to Word", etc.)
  • Verify pandoc availability before attempting conversions
  • Guide users through format selection and content organization
  • Generate well-structured markdown with YAML frontmatter
  • Convert markdown to target format using appropriate pandoc commands
  • Clean up temporary files after successful conversion
  • Provide clear output paths and usage instructions

The skill includes allowed tools for file operations (Read, Write), bash commands (pandoc, which, rm, open, xdg-open), and file globbing/searching.

https://claude.ai/code/session_01NZ72YNouJuHYoTGLziyubM


✨ Claude-Generated Content

Summary

  • Adds a new generate-document skill to the development-productivity plugin that generates professional documents in multiple formats (PDF, DOCX, HTML, ODT, EPUB, RTF) from markdown content using pandoc
  • Bumps plugin version from 2.0.1 to 2.1.1 (minor: new skill, backward compatible; patch: follow-up refinements)

Changes

File Change
skills/generate-document/SKILL.md New skill with pandoc prerequisite check, format-specific pandoc commands (PDF via XeLaTeX/wkhtmltopdf, DOCX, HTML, ODT, EPUB, RTF, plain text), markdown document template with YAML frontmatter, output path conventions, and key guidelines
skills/generate-document/references/templates.md Reusable markdown templates for security reports, code reviews, and research summaries
skills/generate-document/references/troubleshooting.md Troubleshooting guide for common pandoc issues (PDF generation failures, font rendering, table formatting)
.claude-plugin/plugin.json Add generate-document to skills array; bump version 2.0.1 → 2.1.1; add pdf and document-generation keywords; update description
CLAUDE.md (plugin) Add skill to components list and file structure
README.md (plugin) Add skill to skills table and usage examples
CLAUDE.md (root) Update version table for development-productivity (2.0.1 → 2.1.1)
.markdownlint-cli2.jsonc Add .trunk directory to markdownlint ignore patterns

Skill Details

The generate-document skill:

  • Detects user intent via natural language triggers ("make a PDF", "export to Word", "generate a report", etc.)
  • Verifies pandoc availability before attempting conversions
  • Supports 8 output formats with format-specific pandoc command recipes
  • Includes reusable markdown templates for security reports, code reviews, and research summaries
  • Scopes allowed tools to Read, Write, Bash(pandoc:*), Bash(which:*), Bash(rm:/tmp/document_*:*), Bash(mkdir:*), Bash(open:*), Bash(xdg-open:*), Glob, Grep
  • Outputs to the current working directory with descriptive filenames
  • Cleans up temporary /tmp/document_*.md files after successful conversion

Test plan

  • Verify plugin.json skills array matches the actual skill directory structure
  • Verify pandoc installation instructions are accurate for macOS and Ubuntu/Debian
  • Test PDF generation with pandoc and xelatex using the provided command templates
  • Test DOCX generation with the provided pandoc command
  • Confirm skill triggers correctly on natural language inputs ("make a PDF", "export to Word")

Adds a new skill for generating professional documents in multiple formats
(PDF, DOCX, HTML, ODT, EPUB, RTF) using pandoc instead of fpdf2.

Key improvements over PR #412's approach:
- Uses pandoc for universal document conversion
- Supports 7 output formats (PDF, DOCX, HTML, ODT, EPUB, RTF, TXT)
- Full unicode support (no character restrictions)
- Markdown-based input (Claude's native strength)
- Professional formatting with customizable templates
- Better maintainability through standard tooling

Includes templates for security reports, code reviews, and research summaries.

Version bump: 2.0.1 -> 2.1.0 (minor: new feature)

https://claude.ai/code/session_01NZ72YNouJuHYoTGLziyubM
@vercel
Copy link

vercel bot commented Feb 24, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
ai-toolkit-claude-review-bot-unleashed Error Error Feb 25, 2026 0:43am
ai-toolkit-slack-oauth-backend Ready Ready Preview, Comment Feb 25, 2026 0:43am

Request Review

@github-actions
Copy link
Contributor

github-actions bot commented Feb 24, 2026

🤖 Claude Code Review

Review complete

Summary

This PR adds a new generate-document skill to the development-productivity plugin, enabling document generation in multiple formats (PDF, DOCX, HTML, ODT, EPUB, RTF) via pandoc. The changes include:

  • New SKILL.md with pandoc instructions, format-specific commands, and a markdown template
  • Reference files for content-type templates and troubleshooting
  • Plugin metadata updates (plugin.json, CLAUDE.md, README.md)
  • Version bump from 2.0.1 to 2.1.1
  • Markdownlint config update to ignore .trunk directories

Analysis

Skill design: The skill is well-structured. It follows the repository's naming conventions (verb-noun: generate-document), uses YAML frontmatter correctly, and includes appropriate allowed-tools with scoped permissions. The instructions are clear and actionable.

Permissions: The allowed-tools frontmatter properly scopes rm to /tmp/document_*:* and includes mkdir for directory creation. This addresses the prior review feedback.

Output path: The default output path is now ./ (current working directory) with an explicit mkdir -p instruction for custom directories. This addresses the prior review feedback.

Version bump: The version went from 2.0.1 to 2.1.1. Adding a new skill is a minor change, so 2.1.0 would be the expected bump per the semver rules in CLAUDE.md. The extra patch increment to 2.1.1 suggests a previous intermediate change, but looking at the version table in root CLAUDE.md and plugin.json, they are consistent with each other at 2.1.1, so this appears intentional from a prior iteration.

Documentation updates: All required documentation (plugin CLAUDE.md, README.md, root CLAUDE.md version table) has been updated consistently.

No bugs, security vulnerabilities, or data integrity issues found.


💡 Want a fresh review? Add a comment containing @request-claude-review to trigger a new review at any time.

@github-actions github-actions bot changed the title Add generate-document skill for professional document generation feat(development-productivity): add generate-document skill using pandoc Feb 24, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Feb 24, 2026

📚 Documentation Check ✅

Verdict: Passed

Plugin version was properly bumped from 2.0.1 to 2.1.1 for the new generate-document skill addition. All documentation (CLAUDE.md, README.md, root CLAUDE.md version table) was updated to reflect the changes.


PR #413 Documentation Review

This PR adds a new generate-document skill to the development-productivity plugin using pandoc for document generation.

Version Bump Check ✅

  • packages/plugins/development-productivity/.claude-plugin/plugin.json version bumped from 2.0.12.1.1
  • This is appropriate as a minor bump (new skill added, backward compatible)
  • Root CLAUDE.md version table also updated from 2.0.12.1.1

Documentation Updates ✅

All relevant documentation was updated:

  1. Plugin CLAUDE.md (packages/plugins/development-productivity/CLAUDE.md): Added generate-document to skills list and directory structure
  2. Plugin README.md (packages/plugins/development-productivity/README.md): Updated description, skills table, and example commands
  3. New Skill Files: SKILL.md, references/templates.md, and references/troubleshooting.md all created with comprehensive content

Minor Observations

  • The version jump from 2.0.12.1.1 skips 2.1.0, but this is not a blocking issue as semver only requires the minor version to increase for new features
  • .markdownlint-cli2.jsonc change (adding .trunk to ignore patterns) is a minor config update that doesn't require documentation

Overall Assessment

All required documentation updates are present. The plugin version was bumped, CLAUDE.md was updated, README.md was updated, and new skill documentation was created.

Suggestions (1)

💡 Inline suggestions have been posted as review comments. Click "Commit suggestion" to apply each fix directly.

  • ℹ️ packages/plugins/development-productivity/.claude-plugin/plugin.json: The version jumped from 2.0.1 to 2.1.1, skipping 2.1.0. For a new feature addition (new skill), the conventional semver increment would be 2.0.1 → 2.1.0. This is informational only and not blocking.

🤖 Generated by Claude Documentation Validator | Mode: suggest

github-actions[bot]
github-actions bot previously approved these changes Feb 24, 2026
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📋 Review verdict: APPROVE

👆 The main review comment above is the source of truth for this PR review. It is automatically updated on each review cycle, so always refer to it for the most current feedback.

This formal review submission is for the verdict only. 2 inline comment(s) are attached below.

…tput path

Address PR review feedback:
- Scope Bash(rm:*) to Bash(rm:/tmp/document_*:*) for tighter permissions
- Add Bash(mkdir:*) to allowed-tools for directory creation
- Default output path to current working directory instead of ~/dev/
- Add instruction to mkdir -p custom output directories before pandoc
github-actions[bot]
github-actions bot previously approved these changes Feb 24, 2026
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📋 Review verdict: APPROVE

👆 The main review comment above is the source of truth for this PR review. It is automatically updated on each review cycle, so always refer to it for the most current feedback.

This formal review submission is for the verdict only.

…erate-document

Apply progressive disclosure pattern to generate-document skill:
- Move content-type templates to references/templates.md
- Move troubleshooting to references/troubleshooting.md
- Add missing name field to YAML frontmatter
- Remove redundant content Claude already knows (format table,
  install commands, basic markdown/pandoc guidance)
- Fix nested fenced code block structure

Also fix markdownlint config to exclude .trunk/ directory, which
contains symlinked third-party plugin cache files that fail linting.

SKILL.md reduced from 373 to ~174 lines while preserving all functionality.
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📚 Documentation Check - Inline Suggestions

Found 1 suggestion(s) that can be committed directly.

Click "Commit suggestion" on each comment to apply the fix, or "Add to batch" to commit multiple at once.

@@ -1,15 +1,23 @@
{
"name": "development-productivity",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ℹ️ Documentation Update Suggested

The version jumped from 2.0.1 to 2.1.1, skipping 2.1.0. For a new feature addition (new skill), the conventional semver increment would be 2.0.1 → 2.1.0. This is informational only and not blocking.

Suggested change
"name": "development-productivity",
"version": "2.1.0",

@github-actions github-actions bot dismissed their stale review February 25, 2026 12:45

Superseded by new review after PR update

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📋 Review verdict: APPROVE

👆 The main review comment above is the source of truth for this PR review. It is automatically updated on each review cycle, so always refer to it for the most current feedback.

This formal review submission is for the verdict only.

@wkoutre wkoutre merged commit ea2d01d into next Feb 25, 2026
20 of 21 checks passed
@wkoutre wkoutre deleted the claude/slack-refactor-pdf-pandoc-krONa branch February 25, 2026 13:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants