Sheet-to-Doc Skill: Let AI Assistants Generate Word Documents for You

Do you frequently need to generate Word documents with the same format in your daily work? For example, batch-generating contracts, certificates, invitations, or reports. Manual copy-pasting is not only time-consuming but also prone to errors. Today, I’d like to introduce a powerful AI tool — Sheet-to-Doc Skill — that lets you automatically generate documents through simple conversation with your AI assistant.

What is Sheet-to-Doc Skill?

Sheet-to-Doc Skill is a plugin designed specifically for AI assistants (such as Cursor, Claude, OpenClaw, and others). It helps AI understand how to work with Word templates and data, automatically generating professional Word documents.

Simply put, you only need to tell the AI what you want, and it will automatically complete the document generation for you, without needing to learn complex commands or tools.

Core Features

  • Document Generation: Replace {field} placeholders in Word templates with JSON data
  • Placeholder Extraction: Extract all placeholder keys from templates for data validation
  • Footer Mark: Automatically adds footer attribution to generated documents
  • Cross-Platform: Works on Windows, macOS, and Linux
  • Command Line Interface: Easy to use via terminal
  • API Access: Import as a module for programmatic use

Why Use Sheet-to-Doc Skill?

1. Lower the Learning Curve

Traditional tools require manual operation, while Sheet-to-Doc Skill lets the AI do the work for you. You just need to describe your needs in natural language, and the AI will execute automatically.

2. Improve Work Efficiency

Compress hours of manual work into minutes, giving you more time to focus on more important tasks.

3. Reduce Human Errors

Eliminate errors from manual copy-pasting and ensure 100% accuracy in generated documents.

4. Integrate into AI Workflows

Can be used in conjunction with other AI tools to achieve more complex automation processes.


How to Install Sheet-to-Doc Skill

Method 1: Install via OpenClaw

If you’re using the OpenClaw AI platform, you can install it with the following commands:

1
2
3
4
5
# First, install OpenClaw
npm install -g openclaw

# Then install Sheet-to-Doc Skill
openclaw skills install @he-yang/sheet-to-doc-skill

Method 2: Install via Skills CLI

If you’re using other AI platforms that support Skills:

1
npx skills add https://github.com/he-yang/sheet-to-doc-skill --skill sheet-to-doc-skill

Once installed, your AI assistant will have document generation capabilities.


Quick Start: A Complete Usage Example

Scenario: Batch Generate Employee Welcome Letters

Let’s say you need to generate personalized welcome letters for 50 new employees. Here’s how to use Sheet-to-Doc Skill to complete this task.

Step 1: Prepare the Word Template

Create a Word document with placeholders that need to be filled with data:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Dear {name},

Welcome to {company}. Your position is {position}.

Your contact information:
- Email: {email}
- Phone: {phone}

Your start date is {start_date}. Please bring the required documents to the HR department on that day.

We look forward to working with you!

Best regards,
{company}

Save this document as welcome_letter.docx.

Step 2: Prepare Employee Data

Create a JSON file containing all employee information:

1
2
3
4
5
6
7
8
{
"name": "John Doe",
"company": "Example Tech Co., Ltd.",
"position": "Senior Software Engineer",
"email": "[email protected]",
"phone": "+86 13800138000",
"start_date": "August 1, 2026"
}

Save as employee_data.json.

Step 3: Let AI Generate the Document

Now, you only need to tell the AI:

“Please replace the data in the template welcome_letter.docx with the content from employee_data.json, and generate a new Word document welcome_letter_output.docx.”

The AI will automatically execute the following steps:

  1. Read the Word template
  2. Read the JSON data
  3. Fill the template with the data
  4. Generate the new Word document

Command Line Method

If you prefer using the command line, you can run:

1
2
3
4
5
6
7
8
9
10
11
# Basic usage
node scripts/generate.js \
--template welcome_letter.docx \
--data employee_data.json \
--output welcome_letter_output.docx

# Using short parameters
node scripts/generate.js -t welcome_letter.docx -d employee_data.json -o welcome_letter_output.docx

# Using JSON string directly
node scripts/generate.js -t template.docx -d '{"name":"John Doe","company":"Example Tech"}' -o output.docx

Practical Scenarios and Examples

Example 1: Generate Product Quotations

Requirement: Generate personalized product quotations for 100 clients.

Template Example:

1
2
3
4
5
6
7
8
9
10
11
12
13
{company_name} Quotation

Client: {customer_name}
Date: {date}

Product: {product_name}
Quantity: {quantity}
Unit Price: {unit_price} USD
Total: {total_price} USD

Notes: {notes}

{company_name}

Data Example:

1
2
3
4
5
6
7
8
9
10
{
"company_name": "Example Tech Co., Ltd.",
"customer_name": "Li Ming",
"date": "July 22, 2026",
"product_name": "Smart Office Equipment Kit",
"quantity": 10,
"unit_price": 5000,
"total_price": 50000,
"notes": "Installation and debugging service included"
}

Example 2: Generate Training Certificates

Requirement: Generate completion certificates for all trainees who attended a training course.

Template Example:

1
2
3
4
5
6
7
8
9
10
Certificate of Completion

This is to certify that {student_name} has successfully completed the {course_name} training
held from {training_date} with excellent performance.

Instructor: {instructor_name}
Certificate No.: {certificate_number}

{company_name}
{date}

Data Example:

1
2
3
4
5
6
7
8
9
{
"student_name": "Wang Xiaohong",
"training_date": "July 1-10, 2026",
"course_name": "Project Management Fundamentals Training",
"instructor_name": "Prof. Chen",
"certificate_number": "CERT-2026-001",
"company_name": "Example Tech Co., Ltd.",
"date": "July 15, 2026"
}

Example 3: Generate Project Reports

Requirement: Generate standardized progress reports for multiple projects.

Template Example:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Project Progress Report

Project Name: {project_name}
Project Manager: {manager_name}
Report Date: {report_date}

This Week's Work:
{weekly_summary}

Progress: {progress_percentage}%

Issues Encountered:
{issues}

Next Week's Plan:
{next_week_plan}

{manager_name}
{report_date}

Data Validation: Extract Placeholders from Templates

Before generating documents, you can check what placeholders exist in your template to ensure your data includes all required fields.

Command Line Method

1
2
3
4
5
# Extract placeholders
node scripts/generate.js --extract-placeholders --template welcome_letter.docx

# Short version
node scripts/generate.js -e -t welcome_letter.docx

Output example:

1
2
3
4
5
6
{
"success": true,
"placeholders": ["company", "email", "name", "phone", "start_date", "position"],
"count": 6,
"message": "Extracted 6 placeholder(s) from template"
}

Query via AI

You can also simply ask the AI:

“Please check what placeholders are in the template welcome_letter.docx? What data do I need to prepare?”

The AI will automatically execute the extraction and tell you the required fields.


Advanced Usage

API Call

If you need to integrate document generation into your code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import { generateDocument, extractPlaceholders } from './scripts/generate.js';

// Generate document
const result = generateDocument(
'template.docx',
{ name: 'John Doe', company: 'Example Tech' },
'output.docx'
);

console.log(`Document generated: ${result}`);

// Extract placeholders
const placeholders = extractPlaceholders('template.docx');
console.log('Required fields:', placeholders);

// Validate data completeness
const data = { name: 'John', company: 'Example' };
const missingFields = placeholders.filter(field => !data.hasOwnProperty(field));

if (missingFields.length > 0) {
console.error('Missing fields:', missingFields);
}

Frequently Asked Questions

Q: What’s the difference between Sheet-to-Doc Skill and the full Sheet-to-Doc?

Sheet-to-Doc Skill is a simplified version focused on AI integration scenarios. The full Sheet-to-Doc supports additional features, including:

  • Batch document generation (each row generates an independent document)
  • Multiple data sources: Excel, CSV, JSONL
  • Image insertion: {image|_inline_image}
  • QR code generation: {url|_qrcode}
  • Conditional logic: {field==value}
  • Loop processing: {#data}{/data}
  • Document encryption
  • Remove footer attribution

Q: Do I need Node.js?

Yes, Sheet-to-Doc Skill requires Node.js 18 or higher. If you’re already running AI tools, you typically don’t need to install anything extra.

Q: Are generated documents watermarked?

The simplified version adds a footer attribution to generated documents, indicating the source. This respects the product author. If you need to remove the attribution, you can upgrade to the full version of Sheet-to-Doc.


Summary

Sheet-to-Doc Skill is a powerful AI tool that helps you easily automate Word document generation. Whether you’re generating contracts, certificates, quotations, or reports, you just need to prepare your template and data, tell the AI what you need, and it will handle the rest automatically.

Start Using Now:

If you need more powerful features, you can upgrade to the full Sheet-to-Doc product, which supports batch generation, multiple data sources, image insertion, QR code generation, and more advanced features.


License: This skill is licensed under the MIT License. Sheet-to-Doc Skill is an open-source project. Welcome to use and contribute.