office

skill:office - Generate Office Documents with TypeScript

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "office" with this command: npx skills add olino3/forge/olino3-forge-office

skill:office - Generate Office Documents with TypeScript

Version: 1.0.0

Purpose

Generate professional Office documents (DOCX, XLSX, PDF, PPTX) using pure JavaScript libraries in TypeScript. This skill produces TypeScript code that creates documents programmatically — suitable for Node.js, Cloudflare Workers, and browser environments. Use it when you need to generate reports, spreadsheets, invoices, presentations, or any structured document from code.

Supported libraries:

Format Library Package

Word (.docx) docx docx

Excel (.xlsx) SheetJS xlsx

PDF (.pdf) pdf-lib pdf-lib

PowerPoint (.pptx) PptxGenJS pptxgenjs

File Structure

skills/office/ ├── SKILL.md (this file) └── examples.md

Interface References

  • Context: Loaded via ContextProvider Interface

  • Memory: Accessed via MemoryStore Interface

  • Shared Patterns: Shared Loading Patterns

  • Schemas: Validated against context_metadata.schema.json and memory_entry.schema.json

Mandatory Workflow

IMPORTANT: Execute ALL steps in order. Do not skip any step.

Step 1: Initial Analysis

  • Determine the target document type: DOCX, XLSX, PDF, or PPTX

  • Identify content structure: sections, tables, charts, images, headers/footers

  • Identify styling requirements: fonts, colors, margins, page layout, branding

  • Determine the runtime environment: Node.js, Cloudflare Workers, or browser

  • Note any constraints: file size limits, accessibility requirements, template compatibility

Step 2: Load Memory

Follow Standard Memory Loading with skill="office" and domain="engineering" .

Load from memory:

  • document_templates.md — previously generated document structures and reusable patterns

  • library_patterns.md — proven API usage patterns, workarounds, and configuration snippets

Step 3: Load Context

Follow Standard Context Loading for the engineering domain. Stay within the file budget declared in frontmatter.

Step 4: Select Library and Configure

  • Choose the appropriate library based on document type:

  • DOCX → docx — paragraph-based document model with styles, numbering, tables, images, headers/footers

  • XLSX → xlsx (SheetJS) — workbook/sheet model with cell references, formulas, styling, charts

  • PDF → pdf-lib — low-level page drawing with precise coordinate-based layout, font embedding, form fields

  • PPTX → pptxgenjs — slide-based model with text boxes, shapes, charts, images, transitions

  • Set up TypeScript types and imports

  • Configure document-level settings: page size, orientation, margins, metadata (author, title, subject)

Step 5: Generate Document Code

  • Produce TypeScript code that creates the document:

  • Define document structure (sections, pages, slides, sheets)

  • Add content: headings, paragraphs, tables, lists, images, charts

  • Apply styles: fonts, colors, borders, alignment, spacing

  • Handle images: embed from buffers, URLs, or base64

  • Configure page layout: margins, orientation, headers, footers, page numbers

  • Ensure code is self-contained and runnable with a single npx tsx command or equivalent

  • Add inline comments for complex API calls

Step 6: Add Data Binding

  • If the document uses dynamic data:

  • Implement template variables for text substitution

  • Add data iteration for tables and lists (e.g., invoice line items, report rows)

  • Add conditional sections (e.g., show/hide based on data presence)

  • Handle image placeholders (e.g., company logo from URL or file path)

  • If the document is static, skip this step

Step 7: Generate Output

  • Save output to /claudedocs/office_{project}_{YYYY-MM-DD}.md

  • Follow naming conventions in ../OUTPUT_CONVENTIONS.md

  • Output should include:

  • Complete TypeScript source code

  • Package dependencies (npm install command)

  • Build/run instructions

  • Sample output description

Step 8: Update Memory

Follow Standard Memory Update for skill="office" . Store any newly learned patterns, library quirks, or reusable document templates.

Update:

  • document_templates.md — save reusable document structures for this project

  • library_patterns.md — record any new API patterns, workarounds, or configuration discoveries

Compliance Checklist

Before completing, verify:

  • All mandatory workflow steps executed in order

  • Standard Memory Loading pattern followed (Step 2)

  • Standard Context Loading pattern followed (Step 3)

  • Correct library selected for the target document type (Step 4)

  • Generated code is self-contained and runnable (Step 5)

  • Output saved with standard naming convention (Step 7)

  • Standard Memory Update pattern followed (Step 8)

Version History

Version Date Changes

1.0.0 2025-07-21 Initial release — DOCX, XLSX, PDF, PPTX generation with TypeScript

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

devops-engineer

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

typescript

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

generate-python-unit-tests

No summary provided by upstream source.

Repository SourceNeeds Review