Create, validate, lint, format & export universal documents directly from Claude Code
π Quick Start β’ π¦ Installation β’ β‘ Commands β’ π§ Skills β’ π€ Agents β’ π Documentation
OmniScript (OSF) is a universal document DSL that lets you write plain-text .osf files and export them to PDF, DOCX, PPTX, XLSX, and HTML. This plugin brings full OSF capabilities directly into Claude Code conversations.
- 9 Commands β Slash commands for all document operations
- 3 Skills β Agent-accessible knowledge about OSF syntax and best practices
- 2 Agents β Specialized agents for document generation and conversion
- 4 Templates β Ready-to-use document templates
- 8 Examples β Reference examples for all block types
# 1. Add the marketplace (one-time)
claude plugin marketplace add OmniScriptOSF/omniscript-claude-plugin
# 2. Install the plugin
claude plugin install osf@omniscript-marketplace
# 3. Start using!
/osf:new document
/osf:lint my-document.osf
/osf:export-pdf my-document.osf# Add the OmniScript marketplace
claude plugin marketplace add OmniScriptOSF/omniscript-claude-plugin
# Install the OSF plugin
claude plugin install osf@omniscript-marketplace# Clone the plugin
git clone https://github.com/OmniScriptOSF/omniscript-claude-plugin.git
# Use with plugin-dir flag
claude --plugin-dir /path/to/omniscript-claude-plugin# In your project root
git clone https://github.com/OmniScriptOSF/omniscript-claude-plugin.git .claude-plugins/osf| Command | Description | Example |
|---|---|---|
/osf:new |
Create new document from template | /osf:new presentation |
/osf:parse |
Parse and display AST | /osf:parse doc.osf |
/osf:lint |
Validate syntax | /osf:lint doc.osf |
/osf:format |
Format for consistency | /osf:format doc.osf --write |
/osf:diff |
Compare two files | /osf:diff v1.osf v2.osf |
/osf:export-pdf |
Export to PDF | /osf:export-pdf doc.osf |
/osf:export-docx |
Export to Word | /osf:export-docx doc.osf |
/osf:export-pptx |
Export to PowerPoint | /osf:export-pptx slides.osf |
/osf:export-xlsx |
Export to Excel | /osf:export-xlsx data.osf |
# Create a new presentation
/osf:new presentation
# Validate an OSF file
/osf:lint my-report.osf
# Export to PDF with corporate theme
/osf:export-pdf report.osf --theme corporate --output quarterly-report.pdf
# Compare two versions
/osf:diff report-v1.osf report-v2.osfThe plugin provides three skills that Claude accesses automatically:
Complete OSF syntax reference including all block types, properties, and examples. Triggered when you ask about:
- OSF syntax or structure
- Block types (
@meta,@doc,@slide,@sheet,@chart,@diagram,@table,@code) - How to write OSF documents
Common errors and solutions. Triggered when you encounter:
- Parse errors
- Validation failures
- Export problems
Document patterns and guidelines. Triggered when:
- Creating new documents
- Organizing document structure
- Optimizing for specific export formats
Generate complete OSF documents from natural language descriptions.
"Create a presentation about machine learning basics"
"Make a quarterly sales report template"
"Generate a project proposal document"
Convert existing documents to OSF format.
"Convert this markdown to OSF"
"Transform this CSV into an OSF spreadsheet"
"Turn this text into an OSF document"
Ready-to-use templates in the templates/ directory:
| Template | Purpose | Primary Blocks |
|---|---|---|
document.osf |
Basic document | @meta, @doc |
presentation.osf |
Slide deck | @meta, @slide |
spreadsheet.osf |
Data workbook | @meta, @sheet, @chart |
report.osf |
Combined report | @meta, @doc, @chart, @table |
Example files demonstrating each block type in the examples/ directory:
| File | Block Type | Description |
|---|---|---|
meta-block.osf |
@meta |
Document metadata |
doc-block.osf |
@doc |
Rich text content with Markdown |
slide-block.osf |
@slide |
Presentation slides with layouts |
sheet-block.osf |
@sheet |
Spreadsheet data |
chart-block.osf |
@chart |
Bar, line, pie charts |
diagram-block.osf |
@diagram |
Mermaid/Graphviz diagrams |
table-block.osf |
@table |
Styled markdown tables |
code-block.osf |
@code |
Syntax-highlighted code |
omniscript-claude-plugin/
βββ .claude-plugin/
β βββ plugin.json # Plugin manifest
β βββ marketplace.json # Marketplace definition
βββ commands/ # Slash commands
β βββ new/SKILL.md
β βββ parse/SKILL.md
β βββ lint/SKILL.md
β βββ format/SKILL.md
β βββ diff/SKILL.md
β βββ export-pdf/SKILL.md
β βββ export-docx/SKILL.md
β βββ export-pptx/SKILL.md
β βββ export-xlsx/SKILL.md
βββ skills/ # Agent skills
β βββ osf-syntax/
β β βββ SKILL.md
β β βββ blocks-reference.md
β βββ osf-troubleshooting/SKILL.md
β βββ osf-best-practices/SKILL.md
βββ agents/ # Custom agents
β βββ osf-generator.md
β βββ osf-converter.md
βββ templates/ # Document templates
β βββ document.osf
β βββ presentation.osf
β βββ spreadsheet.osf
β βββ report.osf
βββ examples/ # Block examples
βββ meta-block.osf
βββ doc-block.osf
βββ slide-block.osf
βββ sheet-block.osf
βββ chart-block.osf
βββ diagram-block.osf
βββ table-block.osf
βββ code-block.osf
This plugin uses the OmniScript CLI tools. For full functionality, ensure these are available:
# Core parser and CLI
/root/code/OmniScriptOSF/omniscript-core/
# Export converters
/root/code/OmniScriptOSF/omniscript-converters/For full export functionality:
cd /root/code/OmniScriptOSF/omniscript-core
bun add puppeteer # PDF export
cd /root/code/OmniScriptOSF/omniscript-converters
bun add docx # DOCX export
bun add pptxgenjs # PPTX export
bun add exceljs # XLSX exportAsk Claude about OSF at any time:
- "How do I create a chart in OSF?"
- "What properties does @slide support?"
- "Why is my OSF file not parsing?"
- "What's the best way to structure a report?"
The plugin skills will automatically provide relevant information.
Contributions welcome! The plugin follows Claude Code plugin conventions:
- Commands go in
commands/{name}/SKILL.md - Skills go in
skills/{name}/SKILL.md - Agents go in
agents/{name}.md
See the Claude Code Plugin Documentation for details.
MIT License - see the OmniScriptOSF project for details.