BeClaude

document-skills

5Community RegistryDocumentationby Cameron Rohn

Collection of document processing suite including Excel, Word, PowerPoint, and PDF capabilities

First seen 4/17/2026

Summary

This skill provides a comprehensive suite for creating, editing, and manipulating documents in Word, Excel, PowerPoint, and PDF formats directly within Claude Code.

  • It includes detailed guides, API references, and helper scripts to streamline document processing tasks, making it essential for developers who need to automate or generate office documents programmatically.

Overview

A comprehensive collection of specialized skills and capabilities for Claude Code, Claude AI, and Claude API.

Quick Start (Claude Code)

bash
/plugin marketplace add Cam10001110101/claude-skills-base

šŸ“ Repository Structure

code
/mnt/skills
ā”œā”€ā”€ public/                      # Production-ready core skills
│   │
│   ā”œā”€ā”€ docx/                    # Word document creation & editing
│   │   ā”œā”€ā”€ SKILL.md             # Main documentation
│   │   ā”œā”€ā”€ docx-js.md           # JavaScript library guide
│   │   ā”œā”€ā”€ ooxml.md             # OOXML format reference
│   │   ā”œā”€ā”€ ooxml/               # OOXML specifications
│   │   └── scripts/             # Helper utilities
│   │
│   ā”œā”€ā”€ pdf/                     # PDF manipulation & forms
│   │   ā”œā”€ā”€ SKILL.md             # Main documentation
│   │   ā”œā”€ā”€ FORMS.md             # Form filling guide
│   │   ā”œā”€ā”€ REFERENCE.md         # API reference
│   │   └── scripts/             # Helper utilities
│   │
│   ā”œā”€ā”€ pptx/                    # PowerPoint presentation creation
│   │   ā”œā”€ā”€ SKILL.md             # Main documentation
│   │   ā”œā”€ā”€ html2pptx.md         # HTML to PowerPoint conversion
│   │   ā”œā”€ā”€ css.md               # Styling guide
│   │   ā”œā”€ā”€ ooxml.md             # OOXML format reference
│   │   ā”œā”€ā”€ ooxml/               # OOXML specifications
│   │   └── scripts/             # Helper utilities
│   │
│   └── xlsx/                    # Excel spreadsheet creation
│       ā”œā”€ā”€ SKILL.md             # Main documentation
│       └── recalc.py            # Formula recalculation
│
└── examples/                    # Specialized domain skills
    │
    ā”œā”€ā”€ code-to-music/
    │   ā”œā”€ā”€ SKILL.md
    │   ā”œā”€ā”€ electronic-music-pipeline.md
    │   ā”œā”€ā”€ traditional-music-pipeline.md
    │   └── scripts/             # MIDI rendering & utilities
    │
    └── music-generation/
        ā”œā”€ā”€ SKILL.md
        └── scripts/             # Synthesizers, MIDI tools
            ā”œā”€ā”€ drum_synthesizer.py
            └── melodic_synthesizer.py

šŸŽÆ About Agent Skills

This repository follows Anthropic's Agent Skills pattern. Agent Skills are modular packages that extend Claude's capabilities by providing domain-specific knowledge, instructions, and executable tools.

How Skills Work

As Anthropic explains, "Claude is powerful, but real work requires procedural knowledge and organizational context." Skills transform general-purpose agents into specialized ones through progressive disclosure:

  1. Metadata Level: Each skill includes a SKILL.md file with name and description, pre-loaded so Claude knows when to use it
  2. Core Content: If relevant, Claude loads the full SKILL.md documentation
  3. Supplementary Files: Additional references load only when needed

This keeps context efficient while allowing unbounded skill complexity.

šŸš€ Try in Claude Code, Claude.ai, and the API

Claude Code

You can register this repository as a Claude Code Plugin from the marketplace by running the following command in Claude Code:

code
/plugin marketplace add Cam10001110101/claude-skills-base

After installing the plugin, you can use the skills by simply mentioning them. For example:

code
"use the pdf skill to extract the form fields from path/to/some-file.pdf"
"use the xlsx skill to create a financial model with formulas"
"use the pptx skill to create a presentation from this content"

Claude.ai

Skills are available directly in Claude.ai conversations. Simply reference them when working with documents:

  • •Excel tasks are automatically handled with the xlsx skill
  • •PowerPoint creation uses the pptx skill
  • •PDF processing leverages the pdf skill
  • •Word documents use the docx skill

Claude Agent SDK

Integrate skills into custom agent workflows using the Claude Agent SDK. Skills are automatically discovered and loaded when available in the agent's environment.

API Integration

See the API Integration section below for details on using skills with the Claude Messages API.

For more information, see the Agent Skills documentation and examples.

šŸ“Š How Skills Work in Practice

PowerPoint Generation Flow

When you ask Claude to create a presentation, here's the automated workflow:

Receive content request for presentation creation

code
Create a .pptx using this content: [EXAMPLE_CONTENT]

Claude scans available PowerPoint skills and templates in the system

bash
/mnt/skills/public/pptx/
ā”œā”€ā”€ SKILL.md              # Main documentation
ā”œā”€ā”€ pptxgenjs.md          # PptxGenJS library guide
ā”œā”€ā”€ ooxml.md              # OOXML format reference
└── scripts/              # PowerPoint utilities

Claude reads the PptxGenJS documentation to understand API and formatting options, reviewing:

  • •PptxGenJS API Reference
  • •OOXML Schemas
  • •Layout and styling options

Claude creates a JavaScript file with presentation logic, styling, and content structure:

javascript
const pptxgen = require("pptxgenjs");
const { renderToStaticMarkup } = require("react-dom/server");
const React = require("react");
const { FiFileText, FiDatabase, FiCpu } = require("react-icons/fi");
const sharp = require("sharp");

// Create presentation
let pres = new pptxgen();
pres.layout = 'LAYOUT_16x9';
pres.author = 'Document Processing Solutions';
pres.title = 'Document Processing Pipelines & Automation';

// Color palette
const colors = {
  primary: "185087",     // Deep blue
  secondary: "2F9477",   // Teal
  accent: "F56D40",      // Orange
  text: "2C3E50",        // Dark gray
  white: "FFFFFF"
};

// Helper function to create icons
async function createIcon(IconComponent, color, size = 100) {
  const svgString = renderToStaticMarkup(
    React.createElement(IconComponent, {
      size, color: `#${color}`, strokeWidth: 2
    })
  );
  const buffer = await sharp(Buffer.from(svgString)).png().toBuffer();
  return `data:image/png;base64,${buffer.toString('base64')}`;
}

// Create slides
async function createPresentation() {
  const icons = await createAllIcons();

  // Slide 1: Title Slide
  let slide1 = pres.addSlide();
  slide1.background = { color: colors.primary };
  slide1.addText("Document Processing Pipelines", {
    x: 0.5, y: 1.5, w: 9, h: 1,
    fontSize: 48, bold: true, color: colors.white,
    fontFace: "Arial", align: "center"
  });

  // Add more slides with content, charts, and icons...

  // Save presentation
  await pres.writeFile({
    fileName: "/mnt/user-data/outputs/document_processing_pipelines.pptx"
  });
}

createPresentation().catch(console.error);

Run the generated script to build the presentation

bash
cd /home/claude && node create_presentation.js
# Output: Presentation created successfully!

Confirm successful file creation and validate output

bash
ls -lh /mnt/user-data/outputs/document_processing_pipelines.pptx
# Output: -rw-r--r-- 1 999 root 174K document_processing_pipelines.pptx

Professional presentation ready for delivery: document_processing_pipelines.pptx

Key Workflow Benefits

  • •Automated Discovery: Claude automatically finds and loads relevant skills
  • •Documentation-Driven: Skills include comprehensive guides for proper API usage
  • •Code Generation: Creates production-ready scripts with proper error handling
  • •Quality Assurance: Validates output and confirms successful creation

API Integration

Skills can be used with the Claude Messages API through the code execution tool. For detailed implementation guidance, see the Skills API Guide.

Quick Start Example:

python
import anthropic

client = anthropic.Anthropic(api_key="your-api-key")

response = client.messages.create(
    model="claude-sonnet-4-5-20250929",
    max_tokens=4096,
    betas=["code-execution-2025-08-25", "skills-2025-10-02"],
    container={
        "skills": [
            {"type": "anthropic", "skill_id": "xlsx", "version": "latest"},
            {"type": "anthropic", "skill_id": "pptx", "version": "latest"}
        ]
    },
    messages=[
        {"role": "user", "content": "Create a financial spreadsheet with charts"}
    ],
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}]
)

Key Points:

  • •Skills available: xlsx, docx, pptx, pdf (use "version": "latest" or specific dates like "20251013")
  • •Up to 8 skills per request: Mix and match skills as needed
  • •Required beta headers: code-execution-2025-08-25, skills-2025-10-02
  • •Custom skills: Upload your own skills (max 8MB) using the Skills API
  • •No network access: Skills run in a sandboxed environment

Creating Custom Skills:

python
from anthropic.lib import files_from_dir

skill = client.beta.skills.create(
    display_title="Financial Analysis",
    files=files_from_dir("/path/to/skill"),
    betas=["skills-2025-10-02"]
)

# Use custom skill with its generated ID
response = client.messages.create(
    model="claude-sonnet-4-5-20250929",
    max_tokens=4096,
    betas=["code-execution-2025-08-25", "skills-2025-10-02"],
    container={
        "skills": [
            {"type": "custom", "skill_id": skill.id}
        ]
    },
    messages=[{"role": "user", "content": "Analyze quarterly financials"}],
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}]
)

Document Suite (Public)

Production-ready skills for Microsoft Office documents and PDFs. These provide comprehensive Python and JavaScript/TypeScript toolkits for creating, editing, and analyzing professional documents.

Features

šŸ“Š Excel (.xlsx)

  • •Create spreadsheets with formulas and formatting
  • •Preserve existing templates and styles
  • •Automatic formula recalculation via LibreOffice
  • •Financial modeling with industry-standard color coding
  • •Data analysis with pandas integration

šŸ“ Word (.docx)

  • •Create professional documents with formatting
  • •Edit existing documents preserving structure
  • •Support for tracked changes and comments
  • •Text extraction with pandoc
  • •OOXML manipulation for advanced editing

šŸŽÆ PowerPoint (.pptx)

  • •Create presentations from scratch with PptxGenJS
  • •Template-based presentation generation
  • •Slide rearrangement and duplication
  • •Text replacement while preserving formatting
  • •Thumbnail grid generation for visual analysis
  • •OOXML editing for advanced modifications

šŸ“„ PDF

  • •Fill fillable PDF forms programmatically
  • •Add text annotations to non-fillable PDFs
  • •Extract tables and text content
  • •Merge, split, and rotate PDFs
  • •OCR support for scanned documents
  • •Convert PDFs to images

Installation (Core Skills)

System Requirements

bash
# Linux/Ubuntu
sudo apt-get install libreoffice poppler-utils pandoc

# macOS
brew install libreoffice poppler pandoc

Python Dependencies

bash
pip install openpyxl pandas pypdf pdfplumber reportlab pytesseract pdf2image markitdown

JavaScript Dependencies

bash
npm install -g pptxgenjs docx-js

Quick Start

Excel - Create a Financial Model

python
from openpyxl import Workbook
from openpyxl.styles import Font

wb = Workbook()
sheet = wb.active

# Add headers
sheet['A1'] = 'Revenue'
sheet['A1'].font = Font(bold=True)

# Add data with formulas
sheet['B1'] = 2024
sheet['C1'] = 2025
sheet['B2'] = 1000000
sheet['C2'] = '=B2*1.1'  # 10% growth formula

wb.save('financial_model.xlsx')

# Recalculate formulas
# python xlsx/recalc.py financial_model.xlsx

PowerPoint - Create from Template

bash
# 1. Analyze template
python pptx/scripts/thumbnail.py template.pptx

# 2. Rearrange slides (0-indexed)
python pptx/scripts/rearrange.py template.pptx working.pptx 0,5,5,12

# 3. Extract text inventory
python pptx/scripts/inventory.py working.pptx inventory.json

# 4. Replace text (create replacement.json first)
python pptx/scripts/replace.py working.pptx replacement.json final.pptx

PDF - Fill a Form

bash
# 1. Check if form is fillable
python pdf/scripts/check_fillable_fields.py form.pdf

# 2. Extract field information
python pdf/scripts/extract_form_field_info.py form.pdf fields.json

# 3. Edit fields.json with your data

# 4. Fill the form
python pdf/scripts/fill_fillable_fields.py form.pdf fields.json filled.pdf

Word - Extract Content

bash
# Extract text with tracked changes
pandoc --track-changes=all document.docx -o content.md

# For XML manipulation
python pptx/ooxml/scripts/unpack.py document.docx unpacked/
# Edit XML files
python pptx/ooxml/scripts/validate.py unpacked/ --original document.docx
python pptx/ooxml/scripts/pack.py unpacked/ modified.docx

Project Structure

code
ā”œā”€ā”€ xlsx/                 # Excel tools
│   ā”œā”€ā”€ recalc.py        # Formula recalculation
│   └── SKILL.md         # Excel documentation
│
ā”œā”€ā”€ docx/                 # Word tools
│   ā”œā”€ā”€ ooxml.md         # OOXML documentation
│   └── SKILL.md         # Word documentation
│
ā”œā”€ā”€ pptx/                 # PowerPoint tools
│   ā”œā”€ā”€ scripts/         # PowerPoint utilities
│   │   ā”œā”€ā”€ thumbnail.py # Create slide thumbnails
│   │   ā”œā”€ā”€ rearrange.py # Reorder slides
│   │   ā”œā”€ā”€ inventory.py # Extract text inventory
│   │   └── replace.py   # Replace text content
│   ā”œā”€ā”€ ooxml/           # OOXML utilities
│   │   └── scripts/     
│   │       ā”œā”€ā”€ unpack.py   # Unpack Office files
│   │       ā”œā”€ā”€ validate.py # Validate XML
│   │       └── pack.py     # Pack to Office format
│   ā”œā”€ā”€ pptxgenjs.md     # PptxGenJS documentation
│   └── SKILL.md         # PowerPoint documentation
│
└── pdf/                  # PDF tools
    ā”œā”€ā”€ scripts/         # PDF utilities
    │   ā”œā”€ā”€ check_fillable_fields.py
    │   ā”œā”€ā”€ extract_form_field_info.py
    │   ā”œā”€ā”€ fill_fillable_fields.py
    │   └── convert_pdf_to_images.py
    ā”œā”€ā”€ FORMS.md         # PDF forms documentation
    └── SKILL.md         # PDF documentation

Advanced Usage

Excel Formula Best Practices

Always use formulas instead of hardcoded values:

python
# āŒ Wrong - Hardcoded calculation
total = sum([100, 200, 300])
sheet['A4'] = total  # Hardcodes 600

# āœ… Correct - Excel formula
sheet['A4'] = '=SUM(A1:A3)'  # Dynamic formula

After adding formulas, always recalculate:

bash
python xlsx/recalc.py spreadsheet.xlsx

PowerPoint Template Workflow

  1. Visual Analysis: Create thumbnail grid to understand layout
  2. Structure Planning: Map content to appropriate slide templates
  3. Slide Selection: Use rearrange.py to duplicate and order slides
  4. Content Replacement: Use inventory.py and replace.py for text updates

PDF Form Types

  • •Fillable Forms: Use fill_fillable_fields.py for forms with interactive fields
  • •Visual Forms: Use fill_pdf_form_with_annotations.py for static forms requiring text overlay

OOXML Editing

For advanced document manipulation:

  1. Unpack the Office file to access XML
  2. Edit XML carefully (maintain schema compliance)
  3. Validate changes before repacking
  4. Pack back to Office format

Common Tasks

Merge PDFs

python
from pypdf import PdfWriter, PdfReader

writer = PdfWriter()
for pdf_file in ["doc1.pdf", "doc2.pdf"]:
    reader = PdfReader(pdf_file)
    for page in reader.pages:
        writer.add_page(page)

with open("merged.pdf", "wb") as output:
    writer.write(output)

Extract Tables from PDF

python
import pdfplumber
import pandas as pd

with pdfplumber.open("document.pdf") as pdf:
    tables = []
    for page in pdf.pages:
        for table in page.extract_tables():
            if table:
                df = pd.DataFrame(table[1:], columns=table[0])
                tables.append(df)
    
    if tables:
        combined = pd.concat(tables, ignore_index=True)
        combined.to_excel("extracted_tables.xlsx", index=False)

Create PowerPoint with JavaScript

javascript
import pptxgen from "pptxgenjs";

let pres = new pptxgen();
let slide = pres.addSlide();

slide.addText("Hello World", {
    x: 1,
    y: 1,
    w: 8,
    h: 2,
    fontSize: 44,
    bold: true,
    color: "363636"
});

pres.writeFile({ fileName: "presentation.pptx" });

Troubleshooting

Excel Formula Errors

If recalc.py reports errors:

  • •#REF!: Check cell references
  • •#DIV/0!: Add zero checks
  • •#VALUE!: Verify data types
  • •#NAME?: Check formula syntax

PowerPoint XML Validation

Always validate after XML edits:

bash
python pptx/ooxml/scripts/validate.py edited/ --original template.pptx

PDF Coordinate Systems

Remember coordinate transformation:

  • •Image coordinates: origin at top-left
  • •PDF coordinates: origin at bottom-left

Specialized Skills (Examples)

Domain-specific example skills bundled with this repo.

šŸŽµ Media & Communication

code-to-music

  • •Convert code structures to musical compositions
  • •Algorithm sonification
  • •Pattern-based music generation

music-generation

  • •Procedural music composition
  • •MIDI generation and manipulation
  • •Audio synthesis workflows

šŸ”§ Skill Architecture

All skills follow a standardized structure:

code
skill-name/
ā”œā”€ā”€ SKILL.md              # Primary documentation and instructions
ā”œā”€ā”€ examples/             # Usage examples and templates
ā”œā”€ā”€ utils/                # Helper functions and utilities
└── tests/                # Validation and test cases

SKILL.md Format

Every skill includes comprehensive documentation:

  1. Overview - Purpose and capabilities
  2. Prerequisites - Required tools and dependencies
  3. Usage Instructions - Step-by-step workflows
  4. Best Practices - Optimization tips and patterns
  5. Examples - Real-world use cases
  6. Troubleshooting - Common issues and solutions

šŸ’” Design Philosophy

Modularity

Each skill is self-contained and focused on a specific domain, enabling composition and reuse.

Best Practices First

Skills encode proven workflows developed through extensive testing and iteration.

Quality Over Speed

Prioritize professional-quality outputs over quick-and-dirty solutions.

Progressive Enhancement

Start with simple use cases and progressively handle complex scenarios.


šŸ“š References & Resources

Documentation

Source Files

  • •Process Flow.md - Detailed workflow example for PowerPoint generation
  • •example-skils-flow-diagram.html - Visual flow diagram for skill execution
  • •CLAUDE.md - Development guidance for this repository

Core Skill Documentation

Each skill includes comprehensive documentation in its SKILL.md file:

  • •/mnt/skills/public/xlsx/SKILL.md - Excel spreadsheet creation
  • •/mnt/skills/public/docx/SKILL.md - Word document processing
  • •/mnt/skills/public/pptx/SKILL.md - PowerPoint presentation creation
  • •/mnt/skills/public/pdf/SKILL.md - PDF manipulation

Additional Resources

  • •Office Open XML: Format specifications in /mnt/skills/public/*/ooxml/
  • •Reference Guides: Format-specific guides (FORMS.md, REFERENCE.md, html2pptx.md, etc.)
  • •Example Skills: 15+ specialized skills in /mnt/skills/examples/

Install & Usage

1
Create the skills directory
mkdir -p .claude/skills
2
Download the skill file
mkdir -p .claude/skills && curl -o .claude/skills/document-skills.md https://raw.githubusercontent.com/Cam10001110101/claude-skills-base/main/SKILL.md
3
Invoke in Claude Code
/document-skills

Use Cases

Generate a Word document with formatted text, tables, and images from structured data.
Create an Excel spreadsheet with formulas, charts, and conditional formatting for reporting.
Build a PowerPoint presentation with slides, bullet points, and custom styling from HTML content.
Fill and extract data from PDF forms programmatically.
Convert HTML content into a PowerPoint presentation with CSS-based styling.
Manipulate OOXML files directly for low-level document customization.

Usage Examples

1

/document-skills Create a Word document from the following data: ...

2

/document-skills Generate an Excel spreadsheet with sales data and a pie chart.

3

/document-skills Convert this HTML into a PowerPoint presentation with slide breaks.

View source on GitHub
documentation

Security Audits

LicenseUnknownSourceWarnRepositoryPass

Frequently Asked Questions

What is document-skills?

This skill provides a comprehensive suite for creating, editing, and manipulating documents in Word, Excel, PowerPoint, and PDF formats directly within Claude Code. It includes detailed guides, API references, and helper scripts to streamline document processing tasks, making it essential for developers who need to automate or generate office documents programmatically.

How to install document-skills?

To install document-skills: create the skills directory (mkdir -p .claude/skills), then run: mkdir -p .claude/skills && curl -o .claude/skills/document-skills.md https://raw.githubusercontent.com/Cam10001110101/claude-skills-base/main/SKILL.md. Finally, /document-skills in Claude Code.

What is document-skills best for?

document-skills is a skill categorized under Documentation. It is designed for: documentation. Created by Cameron Rohn.

What can I use document-skills for?

document-skills is useful for: Generate a Word document with formatted text, tables, and images from structured data.; Create an Excel spreadsheet with formulas, charts, and conditional formatting for reporting.; Build a PowerPoint presentation with slides, bullet points, and custom styling from HTML content.; Fill and extract data from PDF forms programmatically.; Convert HTML content into a PowerPoint presentation with CSS-based styling.; Manipulate OOXML files directly for low-level document customization..