Agent skill

Word Studio

by LeoYeAI in LeoYeAI/openclaw-master-skills

Professional Word document generator. An agent skill from LeoYeAI/openclaw-master-skills.

MIT-0Auto-check passedDocuments & Office

Install Word Studio

skills CLI
$ npx skills add LeoYeAI/openclaw-master-skills --skill word-studio -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install LeoYeAI/openclaw-master-skills word-studio --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/word-studio .claude/skills/word-studio && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
word-studio
GitHub stars
2.2k
Token cost
~4.7k tokens
SKILL.md length
297 words
Files
5 (incl. references)
Skills in repo
1,235
Repo updated
First seen
Licence
MIT-0

At a glance

Professional Word document generator. An agent skill from LeoYeAI/openclaw-master-skills.

  • Works in 2 steps: Understand User Requirements → Generate Document
  • User needs to create reports
  • SKILL.md covers Features, Trigger Conditions, Document Types and Step 1: Understand User…, plus 6 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Word Studio is an agent skill from LeoYeAI/openclaw-master-skills. Professional Word document generator. Use when user needs to create reports, papers, contracts, resumes, or any professional document. Supports docx/doc formats, charts, images, tables, TOC, and multi-language. Generates publication-ready documents. Word文档生成、专业报告、论文模板、合同制作。

Its SKILL.md is about 4.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `_meta.json`, `references/formatting-standards.md` and `references/templates.md`).

It sits in Documents & Office, covering Word documents. It works with Microsoft Word. The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT-0.

When your agent uses it

  • User needs to create reports
  • Any professional document

Example prompts

  • “/word-studio”

Requirements

  • Python 3

Workflow steps

2 steps, taken from the step headings in SKILL.md.

  1. Understand User Requirements
  2. Generate Document

What it can do on your machine

Read from SKILL.md and the folder at commit e5199b5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are python).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Word Studio loads about 4.7k tokens when it runs, and up to ~5.7k if it reads all its reference files. Until then it costs about 72 tokens; SKILL.md has 297 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~72
When it runs · the whole SKILL.md, loaded when a task matches
~4.7k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from LeoYeAI/openclaw-master-skills at commit e5199b5, republished under its MIT-0 licence (© LeoYeAI). 297 words, ~4,685 tokens.

Download SKILL.mdSave it as .claude/skills/word-studio/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
word-studio
description
Professional Word document generator. Use when user needs to create reports, papers, contracts, resumes, or any professional document. Supports docx/doc formats, charts, images, tables, TOC, and multi-language. Generates publication-ready documents. Word文档生成、专业报告、论文模板、合同制作。
version
1.0.3
license
MIT-0
dependencies
pip install python-docx pillow

Word Studio

Professional Word document generator that creates publication-ready documents in docx/doc formats.

Features

  • 📄 Multi-Format: Output as .docx or .doc
  • 🎨 Professional Templates: 20+ document types
  • 📊 Charts & Tables: Embedded Excel-style data
  • 🖼️ Image Support: Insert images with professional layout
  • 📑 Auto TOC: Generate table of contents
  • 🌍 Multi-Language: Chinese, English, Japanese, Korean, etc.
  • ✅ WPS/Office Compatible: Works everywhere
  • 📐 Smart Layout: Auto-adjust for different content types

Trigger Conditions

  • "帮我写一份报告" / "Write a report for me"
  • "生成Word文档" / "Generate Word document"
  • "制作一份简历" / "Create a resume"
  • "写论文" / "Write a paper"
  • "制作标书" / "Create a bid document"
  • "写工作总结" / "Write work summary"
  • "生成会议纪要" / "Generate meeting minutes"
  • "word-studio"

Document Types

Business (商务)
  • 工作报告(周报/月报/年报)
  • 项目计划书
  • 商业计划书
  • 投标书/标书
  • 商务合同
  • 会议纪要
Academic (学术)
  • 学术论文
  • 开题报告
  • 毕业论文
  • 实验报告
  • 文献综述
  • 研究计划
Government (公文)
  • 通知公告
  • 请示报告
  • 函件
  • 会议纪要
  • 工作总结
  • 调研报告
Personal (个人)
  • 中文简历
  • 英文简历
  • 求职信
  • 自我介绍
  • 个人陈述
  • 合同协议
  • 授权委托书
  • 法律意见书
  • 起诉状
  • 公证书
Financial (财务)
  • 财务报告
  • 审计报告
  • 预算方案
  • 投资分析
  • 尽职调查报告

Step 1: Understand User Requirements

请提供以下信息:

文档类型:(报告/论文/简历/合同/其他)
文档标题:
主要内容:
格式要求:(docx/doc)
语言:(中文/英文)
特殊要求:(图表/目录/页眉页脚等)

Step 2: Generate Document

Python Script Template
python
python3 << 'PYEOF'
from docx import Document
from docx.shared import Inches, Pt, Cm, RGBColor, Emu
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.enum.table import WD_TABLE_ALIGNMENT
from docx.enum.section import WD_ORIENT
import os

def create_cover_page(doc, config):
    """Create professional cover page with vertical centering"""
    
    section = doc.sections[0]
    page_height = section.page_height
    page_width = section.page_width
    
    # 创建单列表格用于垂直居中
    table = doc.add_table(rows=1, cols=1)
    table.alignment = WD_TABLE_ALIGNMENT.CENTER
    
    # 设置表格高度为页面高度(减去边距)
    table_row = table.rows[0]
    table_row.height = page_height - section.top_margin - section.bottom_margin
    
    # 获取单元格
    cell = table.cell(0, 0)
    
    # 添加标题
    title_para = cell.paragraphs[0]
    title_para.alignment = WD_ALIGN_PARAGRAPH.CENTER
    title_run = title_para.add_run(config['title'])
    title_run.font.size = Pt(26)
    title_run.font.bold = True
    title_run.font.name = '黑体'
    
    # 添加空行
    cell.add_paragraph()
    
    # 添加副标题
    if 'subtitle' in config:
        subtitle_para = cell.add_paragraph()
        subtitle_para.alignment = WD_ALIGN_PARAGRAPH.CENTER
        subtitle_run = subtitle_para.add_run(config['subtitle'])
        subtitle_run.font.size = Pt(16)
        subtitle_run.font.color.rgb = RGBColor(100, 100, 100)
        subtitle_run.font.name = '宋体'
    
    # 添加空行
    cell.add_paragraph()
    cell.add_paragraph()
    
    # 添加作者信息
    if 'author' in config:
        author_para = cell.add_paragraph()
        author_para.alignment = WD_ALIGN_PARAGRAPH.CENTER
        author_run = author_para.add_run(config['author'])
        author_run.font.size = Pt(14)
        author_run.font.name = '宋体'
    
    # 添加空行
    cell.add_paragraph()
    
    # 添加日期
    from datetime import datetime
    date_para = cell.add_paragraph()
    date_para.alignment = WD_ALIGN_PARAGRAPH.CENTER
    date_run = date_para.add_run(datetime.now().strftime("%Y年%m月%d日"))
    date_run.font.size = Pt(14)
    date_run.font.name = '宋体'
    
    # 隐藏表格边框
    from docx.oxml.ns import qn
    from docx.oxml import OxmlElement
    
    tbl = table._tbl
    tblPr = tbl.tblPr if tbl.tblPr is not None else OxmlElement('w:tblPr')
    borders = OxmlElement('w:tblBorders')
    for border_name in ['top', 'left', 'bottom', 'right', 'insideH', 'insideV']:
        border = OxmlElement(f'w:{border_name}')
        border.set(qn('w:val'), 'none')
        border.set(qn('w:sz'), '0')
        border.set(qn('w:space'), '0')
        border.set(qn('w:color'), 'auto')
        borders.append(border)
    tblPr.append(borders)
    
    return doc
    
    # 添加目录占位符
    if config.get('toc', False):
        toc_heading = doc.add_heading('目录', level=1)
        toc_para = doc.add_paragraph('(请在Word中右键此处,选择"更新域"生成目录)')
        doc.add_page_break()
    
    # 添加正文内容
    for section_data in config.get('sections', []):
        # 添加章节标题
        doc.add_heading(section_data['title'], level=1)
        
        # 添加段落内容
        for para in section_data.get('paragraphs', []):
            p = doc.add_paragraph(para)
            p.paragraph_format.first_line_indent = Cm(0.74)  # 首行缩进2字符
            p.paragraph_format.line_spacing = 1.5  # 1.5倍行距
        
        # 添加表格(如有)
        if 'table' in section_data:
            table_data = section_data['table']
            table = doc.add_table(rows=len(table_data), cols=len(table_data[0]))
            table.style = 'Table Grid'
            table.alignment = WD_TABLE_ALIGNMENT.CENTER
            
            for i, row_data in enumerate(table_data):
                for j, cell_text in enumerate(row_data):
                    table.cell(i, j).text = str(cell_text)
        
        # 添加图片(如有)
        if 'image' in section_data:
            img_path = section_data['image']
            if os.path.exists(img_path):
                doc.add_picture(img_path, width=Inches(5))
                last_paragraph = doc.paragraphs[-1]
                last_paragraph.alignment = WD_ALIGN_PARAGRAPH.CENTER
        
        # 添加图表(如有)
        if 'chart' in section_data:
            chart_info = section_data['chart']
            doc.add_paragraph(f"【图表:{chart_info['title']}】")
    
    # 添加页眉页脚
    if config.get('header', False):
        header = section.header
        header_para = header.paragraphs[0]
        header_para.text = config.get('header_text', '')
        header_para.alignment = WD_ALIGN_PARAGRAPH.CENTER
    
    if config.get('footer', False):
        footer = section.footer
        footer_para = footer.paragraphs[0]
        footer_para.text = config.get('footer_text', '')
        footer_para.alignment = WD_ALIGN_PARAGRAPH.CENTER
    
    return doc

def save_document(doc, output_path, format='docx'):
    """Save document in specified format"""
    
    if format == 'doc':
        # docx转doc需要LibreOffice
        docx_path = output_path.replace('.doc', '.docx')
        doc.save(docx_path)
        
        # 尝试使用LibreOffice转换
        import subprocess
        try:
            subprocess.run([
                'soffice', '--headless', '--convert-to', 'doc',
                '--outdir', os.path.dirname(output_path),
                docx_path
            ], check=True, timeout=30)
            os.remove(docx_path)  # 删除临时docx
            return output_path
        except:
            # 如果LibreOffice不可用,返回docx
            final_path = output_path.replace('.doc', '.docx')
            os.rename(docx_path, final_path)
            return final_path
    else:
        doc.save(output_path)
        return output_path

# 示例配置
config = {
    'title': '示例文档标题',
    'subtitle': '副标题',
    'author': '作者姓名',
    'toc': True,
    'header': True,
    'header_text': '公司名称',
    'footer': True,
    'footer_text': '第 {PAGE} 页',
    'sections': [
        {
            'title': '第一章 引言',
            'paragraphs': [
                '这是第一段内容,需要首行缩进两个字符。',
                '这是第二段内容,继续阐述相关内容。'
            ]
        },
        {
            'title': '第二章 数据分析',
            'paragraphs': ['本章展示相关数据。'],
            'table': [
                ['项目', 'Q1', 'Q2', 'Q3', 'Q4'],
                ['销售额', '100', '150', '200', '250'],
                ['增长率', '10%', '50%', '33%', '25%']
            ]
        }
    ]
}

# 生成文档
output_dir = os.environ.get('OPENCLAW_WORKSPACE', os.getcwd())
output_path = os.path.join(output_dir, 'document.docx')

doc = create_document(config)
final_path = save_document(doc, output_path, 'docx')

print(f"✅ 文档已生成:{final_path}")
PYEOF

Template Library

1. 工作报告模板
python
WORK_REPORT = {
    'title': '2026年度工作总结报告',
    'toc': True,
    'header': True,
    'header_text': 'XX公司',
    'sections': [
        {'title': '一、工作概述', 'paragraphs': [...]},
        {'title': '二、主要工作内容', 'paragraphs': [...]},
        {'title': '三、工作成果', 'paragraphs': [...]},
        {'title': '四、存在问题', 'paragraphs': [...]},
        {'title': '五、下一步计划', 'paragraphs': [...]},
    ]
}
2. 学术论文模板
python
ACADEMIC_PAPER = {
    'title': '论文标题',
    'author': '作者姓名',
    'toc': True,
    'sections': [
        {'title': '摘要', 'paragraphs': [...]},
        {'title': '关键词', 'paragraphs': [...]},
        {'title': '1 引言', 'paragraphs': [...]},
        {'title': '2 文献综述', 'paragraphs': [...]},
        {'title': '3 研究方法', 'paragraphs': [...]},
        {'title': '4 结果与分析', 'paragraphs': [...]},
        {'title': '5 结论', 'paragraphs': [...]},
        {'title': '参考文献', 'paragraphs': [...]},
    ]
}
3. 商务合同模板
python
CONTRACT = {
    'title': '商务合同',
    'sections': [
        {'title': '第一条 合同双方', 'paragraphs': [...]},
        {'title': '第二条 合同标的', 'paragraphs': [...]},
        {'title': '第三条 价格与支付', 'paragraphs': [...]},
        {'title': '第四条 交付与验收', 'paragraphs': [...]},
        {'title': '第五条 违约责任', 'paragraphs': [...]},
        {'title': '第六条 争议解决', 'paragraphs': [...]},
    ]
}
4. 简历模板
python
RESUME = {
    'title': '个人简历',
    'sections': [
        {'title': '基本信息', 'paragraphs': [...]},
        {'title': '教育背景', 'paragraphs': [...]},
        {'title': '工作经历', 'paragraphs': [...]},
        {'title': '项目经验', 'paragraphs': [...]},
        {'title': '技能证书', 'paragraphs': [...]},
        {'title': '自我评价', 'paragraphs': [...]},
    ]
}

Font Configuration

Cross-Platform Font Strategy (跨平台字体策略)

优先使用开源免费字体,确保跨平台一致性:

字体名称类型语言许可证
Noto Sans无衬线全语言OFL (免费)
Noto Serif衬线全语言OFL (免费)
Noto Sans SC无衬线简体中文OFL (免费)
Noto Serif SC衬线简体中文OFL (免费)
Source Han Sans无衬线中日韩OFL (免费)
Source Han Serif衬线中日韩OFL (免费)
Liberation Sans无衬线拉丁OFL (免费)
Liberation Serif衬线拉丁OFL (免费)
Platform Font Mapping (平台字体映射)
python
def get_platform_fonts(platform, language):
    """Get fonts based on platform and language"""
    
    # 开源字体(首选,跨平台一致)
    OPEN_SOURCE_FONTS = {
        'body': {
            'zh': 'Noto Serif SC',
            'en': 'Liberation Serif',
            'ja': 'Noto Serif JP',
            'ko': 'Noto Serif KR',
            'default': 'Noto Serif'
        },
        'heading': {
            'zh': 'Noto Sans SC',
            'en': 'Liberation Sans',
            'ja': 'Noto Sans JP',
            'ko': 'Noto Sans KR',
            'default': 'Noto Sans'
        }
    }
    
    # 系统字体(回退方案)
    SYSTEM_FONTS = {
        'windows': {
            'body': {'zh': '宋体', 'en': 'Times New Roman'},
            'heading': {'zh': '黑体', 'en': 'Arial'}
        },
        'macos': {
            'body': {'zh': 'STSong', 'en': 'Times New Roman'},
            'heading': {'zh': 'STHeiti', 'en': 'Helvetica'}
        },
        'linux': {
            'body': {'zh': 'Noto Serif CJK SC', 'en': 'Liberation Serif'},
            'heading': {'zh': 'Noto Sans CJK SC', 'en': 'Liberation Sans'}
        }
    }
    
    # 优先使用开源字体
    body_font = OPEN_SOURCE_FONTS['body'].get(language, 
                 OPEN_SOURCE_FONTS['body']['default'])
    heading_font = OPEN_SOURCE_FONTS['heading'].get(language,
                   OPEN_SOURCE_FONTS['heading']['default'])
    
    return {
        'body': body_font,
        'heading': heading_font,
        'fallback': SYSTEM_FONTS.get(platform, SYSTEM_FONTS['linux'])
    }
Font Installation Check
python
def check_font_availability(font_name):
    """Check if font is available on system"""
    import subprocess
    import sys
    
    platform = sys.platform
    
    if platform == 'darwin':  # macOS
        result = subprocess.run(['fc-list', font_name], 
                              capture_output=True, text=True)
        return result.returncode == 0
    elif platform == 'win32':  # Windows
        import winreg
        try:
            key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, 
                               r"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts")
            return True
        except:
            return False
    else:  # Linux
        result = subprocess.run(['fc-list', f':family={font_name}'],
                              capture_output=True, text=True)
        return font_name in result.stdout

def get_available_font(preferred, fallbacks):
    """Get first available font from list"""
    for font in [preferred] + fallbacks:
        if check_font_availability(font):
            return font
    return 'serif'  # Ultimate fallback

Compatibility

WPS/Office Compatibility
✅ 使用标准OOXML格式
✅ 避免使用Office特有功能
✅ 图片嵌入而非链接
✅ 字体嵌入或回退机制
✅ 表格使用标准样式
Format Support
格式支持说明
.docx✅主要格式
.doc⚠️需要LibreOffice转换
.pdf⚠️需要额外转换
.odt⚠️需要额外转换

Error Handling

字体缺失       → 使用系统默认字体
图片不存在     → 跳过图片,添加占位符
格式转换失败   → 保留docx格式
内容为空       → 添加占位文本

Image Layout (图片排版)

Image Layout Modes (图片排版模式)
模式说明适用场景
居中图片水平居中单独展示的图片
左对齐图片靠左,文字环绕图文混排
右对齐图片靠右,文字环绕图文混排
全宽图片占满页面宽度大图展示
并排多张图片并排对比展示
Image Size Standards (图片尺寸标准)
python
IMAGE_SIZES = {
    'full_width': Inches(6.0),      # 全宽(A4减边距)
    'half_width': Inches(3.0),      # 半宽
    'third_width': Inches(2.0),     # 三分之一宽
    'quarter_width': Inches(1.5),   # 四分之一宽
    'thumbnail': Inches(1.0),       # 缩略图
}
Image Insertion Code (图片插入代码)
python
from docx.shared import Inches, Cm, Pt, RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.enum.table import WD_TABLE_ALIGNMENT

def add_image_centered(doc, image_path, width=None, caption=None):
    """Add centered image with optional caption"""
    
    # 添加图片
    if width:
        pic = doc.add_picture(image_path, width=width)
    else:
        pic = doc.add_picture(image_path)
    
    # 居中对齐
    last_paragraph = doc.paragraphs[-1]
    last_paragraph.alignment = WD_ALIGN_PARAGRAPH.CENTER
    
    # 添加图注
    if caption:
        caption_para = doc.add_paragraph()
        caption_para.alignment = WD_ALIGN_PARAGRAPH.CENTER
        caption_run = caption_para.add_run(caption)
        caption_run.font.size = Pt(10)
        caption_run.font.color.rgb = RGBColor(128, 128, 128)
    
    return pic

def add_image_with_text_wrap(doc, image_path, position='left', width=Inches(2.5)):
    """Add image with text wrapping"""
    
    # 使用表格实现文字环绕效果
    table = doc.add_table(rows=1, cols=2)
    table.alignment = WD_TABLE_ALIGNMENT.CENTER
    
    if position == 'left':
        img_cell = table.cell(0, 0)
        text_cell = table.cell(0, 1)
    else:
        img_cell = table.cell(0, 1)
        text_cell = table.cell(0, 0)
    
    # 添加图片到单元格
    img_cell.paragraphs[0].add_run().add_picture(image_path, width=width)
    img_cell.paragraphs[0].alignment = WD_ALIGN_PARAGRAPH.CENTER
    
    # 隐藏表格边框
    from docx.oxml.ns import qn
    from docx.oxml import OxmlElement
    
    tbl = table._tbl
    tblPr = tbl.tblPr if tbl.tblPr is not None else OxmlElement('w:tblPr')
    borders = OxmlElement('w:tblBorders')
    for border_name in ['top', 'left', 'bottom', 'right', 'insideH', 'insideV']:
        border = OxmlElement(f'w:{border_name}')
        border.set(qn('w:val'), 'none')
        border.set(qn('w:sz'), '0')
        border.set(qn('w:space'), '0')
        border.set(qn('w:color'), 'auto')
        borders.append(border)
    tblPr.append(borders)
    
    return table, text_cell

def add_images_side_by_side(doc, image_paths, width=Inches(2.8)):
    """Add multiple images side by side"""
    
    # 创建表格并排显示图片
    table = doc.add_table(rows=1, cols=len(image_paths))
    table.alignment = WD_TABLE_ALIGNMENT.CENTER
    
    for i, img_path in enumerate(image_paths):
        cell = table.cell(0, i)
        cell.paragraphs[0].add_run().add_picture(img_path, width=width)
        cell.paragraphs[0].alignment = WD_ALIGN_PARAGRAPH.CENTER
    
    # 隐藏表格边框
    from docx.oxml.ns import qn
    from docx.oxml import OxmlElement
    
    tbl = table._tbl
    tblPr = tbl.tblPr if tbl.tblPr is not None else OxmlElement('w:tblPr')
    borders = OxmlElement('w:tblBorders')
    for border_name in ['top', 'left', 'bottom', 'right', 'insideH', 'insideV']:
        border = OxmlElement(f'w:{border_name}')
        border.set(qn('w:val'), 'none')
        border.set(qn('w:sz'), '0')
        border.set(qn('w:space'), '0')
        border.set(qn('w:color'), 'auto')
        borders.append(border)
    tblPr.append(borders)
    
    return table

def add_image_full_width(doc, image_path):
    """Add image that spans full page width"""
    
    # 获取页面宽度
    section = doc.sections[0]
    page_width = section.page_width
    left_margin = section.left_margin
    right_margin = section.right_margin
    
    # 计算可用宽度
    available_width = page_width - left_margin - right_margin
    
    # 添加图片
    pic = doc.add_picture(image_path, width=available_width)
    
    # 居中对齐
    last_paragraph = doc.paragraphs[-1]
    last_paragraph.alignment = WD_ALIGN_PARAGRAPH.CENTER
    
    return pic
Image Caption Format (图注格式)
python
def add_figure_caption(doc, figure_number, caption_text, position='below'):
    """Add formatted figure caption"""
    
    caption = f"图 {figure_number}  {caption_text}"
    
    para = doc.add_paragraph()
    para.alignment = WD_ALIGN_PARAGRAPH.CENTER
    
    run = para.add_run(caption)
    run.font.size = Pt(10)
    run.font.name = '宋体'
    
    return para

Usage Examples

生成工作报告
User: "帮我写一份2026年第一季度工作总结"

Agent:
1. 收集用户工作内容
2. 搜索相关数据
3. 使用工作模板生成结构
4. 调用word-studio生成文档
5. 输出专业Word文件
生成学术论文
User: "帮我写一篇关于AI发展趋势的论文"

Agent:
1. 搜索最新研究数据
2. 整理论文结构
3. 生成符合学术规范的格式
4. 插入图表和参考文献
5. 输出可提交的论文

Notes

  • 生成时间取决于文档复杂度
  • 首次运行需要安装python-docx
  • 建议使用docx格式以获得最佳兼容性
  • 复杂文档建议分章节生成

© LeoYeAI, MIT-0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files (references) in skills/word-studio of LeoYeAI/openclaw-master-skills.

  • SKILL.md
  • LICENSE.txt
  • _meta.json
  • references/formatting-standards.md
  • references/templates.md

Open the folder on GitHubat commit e5199b5

Compare with similar skills

Word Studio next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Word Studio compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Word Studio this skillLeoYeAI/openclaw-master-skills2.2k—~4.7kAutomated safety check: PassMIT-0
MarkitdownImCa0/just-laws78214 repos~3.2kAutomated safety check: NotesMIT
DOCXrvdbreemen/OTGW-firmware20733 repos~4.3kAutomated safety check: PassProprietary
Gzh Designisjiamu/gzh-design-skill3.9k1 repos~2.2kAutomated safety check: PassAGPL-3.0
Word Document Reader and WriterHKUDS/DeepTutor41k—~2.5kAutomated safety check: PassApache-2.0
GenOffice Document CLIgenspark-ai/genoffice9k—~19kAutomated safety check: PassApache-2.0

Similar skills

  • Markitdown

    ImCa0/just-laws

    Convert files and office documents to Markdown. An agent skill from ImCa0/just-laws.

    782 GitHub starsUsed in 14 repos~3.2k tokens
    Documents & OfficeAuto-check: notes
  • DOCX

    rvdbreemen/OTGW-firmware

    A skill your agent uses whenever the user wants to create, read, edit, or manipulate Word documents (.docx files).

    207 GitHub starsUsed in 33 repos~4.3k tokens
    Documents & OfficeAuto-check passed
  • Gzh Design

    isjiamu/gzh-design-skill

    微信公众号文章排版引擎,将 Markdown 转换为可直接粘贴到公众号编辑器的 HTML。主题风格从 references/theme-index.md 注册的自定义主题库中选取,自动章节编号、关键词下划线标记、引言卡片、目录导航、代码块、图片/GIF、作者签名。支持 Markdown / Word(.docx) / PDF / 纯文本输入(非 Markdown…

    3.9k GitHub starsUsed in 1 repo~2.2k tokens
    Documents & OfficeAuto-check passed
  • Reads, creates and edits Word .docx files with python-docx, and drops to raw OOXML for tracked changes, comments and byte-exact edits.

    41k GitHub stars~2.5k tokensUpdated 2 days ago
    Documents & OfficeAuto-check passed
  • GenOffice Document CLI

    genspark-ai/genoffice

    Creates, converts, reads and edits real pptx, xlsx, docx and PDF files locally through the genoffice command line.

    9k GitHub stars~19k tokensUpdated today
    Documents & OfficeAuto-check passed
  • BiSheng DOCX Builder

    dataelement/bisheng

    Builds or edits Word .docx documents inside BiSheng's code executor with python-docx, handling Chinese fonts, tables of contents, page numbers and official-document layout.

    12k GitHub stars~2.6k tokensUpdated today
    Documents & OfficeAuto-check passed

More from LeoYeAI/openclaw-master-skills

All 1,235 skills in this repo
  • DevOps Pipeline Management

    LeoYeAI/openclaw-master-skills

    Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.

    2.2k GitHub stars~4.2k tokensUpdated 2 mo ago
    Auto-check: notes
  • Feishu Document Collaboration

    LeoYeAI/openclaw-master-skills

    Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.

    2.2k GitHub stars~2k tokensUpdated 2 mo ago
    Auto-check passed
  • Files Memory System

    LeoYeAI/openclaw-master-skills

    Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.

    2.2k GitHub stars~3.8k tokensUpdated 2 mo ago
    Auto-check passed
  • GEO-Claw AI Visibility Agent

    LeoYeAI/openclaw-master-skills

    Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.

    2.2k GitHub stars~4.7k tokensUpdated 2 mo ago
    Auto-check passed
  • Google Workspace CLI

    LeoYeAI/openclaw-master-skills

    Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.

    2.2k GitHub stars~2.6k tokensUpdated 2 mo ago
    Auto-check: notes
  • HealthFit Health Advisors

    LeoYeAI/openclaw-master-skills

    Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.

    2.2k GitHub stars~4.4k tokensUpdated 2 mo ago
    Auto-check passed

Works with

Questions about Word Studio

What does Word Studio do?

Professional Word document generator. An agent skill from LeoYeAI/openclaw-master-skills. Word Studio is an agent skill from LeoYeAI/openclaw-master-skills. Professional Word document generator.

When should I use Word Studio?

Word Studio fits situations like: user needs to create reports; any professional document.

How do I install Word Studio in Claude Code?

Run `npx skills add LeoYeAI/openclaw-master-skills --skill word-studio -a claude-code`. Or copy the skill folder (skills/word-studio in LeoYeAI/openclaw-master-skills) into .claude/skills/word-studio in your project. Claude Code loads it when a task matches its description.

How do I install Word Studio in Codex?

Run `npx skills add LeoYeAI/openclaw-master-skills --skill word-studio -a codex`. Or copy the skill folder (skills/word-studio in LeoYeAI/openclaw-master-skills) into .agents/skills/word-studio in your project. Codex loads it when a task matches its description.

Can I use Word Studio in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeoYeAI/openclaw-master-skills --skill word-studio -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/word-studio, .gemini/skills/word-studio, .github/skills/word-studio and .opencode/skills/word-studio in your project.

What does Word Studio need to run?

SKILL.md names no scripts, command-line tools or credentials: Word Studio is instructions for the agent only. Our summary lists: Python 3.

Does Word Studio access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Word Studio safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Word Studio use?

Word Studio is published under the MIT-0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Word Studio use?

About 4.7k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1k tokens, read only when the agent opens those files.

What are the alternatives to Word Studio?

Skills that share tags, products or a category with Word Studio: Markitdown (ImCa0/just-laws, 782 stars), DOCX (rvdbreemen/OTGW-firmware, 207 stars), Gzh Design (isjiamu/gzh-design-skill, 3.9k stars) and Word Document Reader and Writer (HKUDS/DeepTutor, 41k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Word Studio?

LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,160 GitHub stars. The repository holds 1,235 skills in this directory. The repository was last updated on July 20, 2026.

Source: LeoYeAI/openclaw-master-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.