К основному содержанию
скилл CX Codex

template-engine — скилл для Claude Code: что делает и как установить

Автоматически заполняет шаблоны документов Word, Excel и PowerPoint данными из списков или таблиц. Упрощает рассылки и массовую генерацию отчётов.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add claude-office-skills/skills --skill template-engine -a claude-code
Открыть на GitHub

Что делает template-engine

Скилл превращает документы-шаблоны с плейсхолдерами Jinja2 в готовые файлы. Он умеет подставлять простые переменные вида {{ variable }}, перебирать строки в циклах и скрывать блоки текста по условию {% if condition %}. Для Word применяется библиотека docxtpl, а таблицы Excel обрабатываются через openpyxl.

Через инструмент fill_docx_template и скрипты слияния скилл строит пакетные генерации. Вы передаёте CSV-файл со списком клиентов, а он сохраняет персонализированный файл для каждой строки. Это удобно для подготовки договоров или именных сертификатов.

Для выполнения скриптов в окружении понадобятся Python и пакеты python-docx, openpyxl, python-pptx, reportlab и jinja2. Без установленного интерпретатора Python генерация на стороне агента не сработает.

Какие задачи решает

  • массово сгенерировать письма и договоры по базе контактов из CSV
  • заполнить плейсхолдеры в шаблонах Word синтаксисом Jinja2
  • создать персональные отчёты и сертификаты по входным данным
  • обновить ячейки в шаблонах таблиц Excel значениями из словаря

Примеры запросов агенту

  • Заполни шаблон templates/order_confirmation.docx данными о заказе ORD-12345
  • Сделай рассылку писем по шаблону templates/welcome_letter.docx на основе data/contacts.csv
  • Подставь данные клиента в форму договора и сохрани результат в папку output

Как установить template-engine

1Через Skills CLI (Vercel)

npx skills add claude-office-skills/skills --skill template-engine -a claude-code

2Вручную: положить файлы

~/.claude/skills/template-engine/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/template-engine/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о template-engine

Как установить template-engine в Claude Code?

Выполните команду npx skills add claude-office-skills/skills --skill template-engine -a claude-code. Файл навыка появится в ~/.claude/skills/template-engine/SKILL.md.

Что делает template-engine?

Скилл заполняет шаблоны документов Word, Excel и PowerPoint данными из кода, словарей или CSV-таблиц. Он поддерживает логику Jinja2: циклы, условия и подстановку переменных.

Какие библиотеки нужны для работы скилла?

Потребуются Python-пакеты python-docx, openpyxl, python-pptx, reportlab, jinja2 и библиотека docxtpl. Их нужно установить через pip.

Исходный текст

SKILL.md · MIT
---
# ═══════════════════════════════════════════════════════════════════════════════
# CLAUDE OFFICE SKILL - Enhanced Metadata v2.0
# ═══════════════════════════════════════════════════════════════════════════════

# Basic Information
name: template-engine
description: "Auto-fill document templates with data - mail merge for any format"
version: "1.0"
author: claude-office-skills
license: MIT

# Categorization
category: template
tags:
  - template
  - engine
  - autofill
  - docxtpl
department: All

# AI Model Compatibility
models:
  recommended:
    - claude-sonnet-4
    - claude-opus-4
  compatible:
    - claude-3-5-sonnet
    - gpt-4
    - gpt-4o

# MCP Tools Integration
mcp:
  server: office-mcp
  tools:
    - fill_docx_template

# Skill Capabilities
capabilities:
  - template_filling
  - document_automation

# Language Support
languages:
  - en
  - zh
---

# Template Engine Skill

## Overview

This skill enables template-based document generation - define templates with placeholders, then automatically fill them with data. Works with Word, Excel, PowerPoint, and more.

## How to Use

1. Describe what you want to accomplish
2. Provide any required input data or files
3. I'll execute the appropriate operations

**Example prompts:**
- "Mail merge for bulk letters/contracts"
- "Generate personalized reports from data"
- "Create certificates from templates"
- "Auto-fill forms with user data"

## Domain Knowledge


### Template Syntax (Jinja2-based)

```
{{ variable }}           - Simple substitution
{% for item in list %}   - Loop
{% if condition %}       - Conditional
{{ date | format_date }} - Filter
```

### Word Template Example

```python
from docxtpl import DocxTemplate

# Create template with placeholders:
# Dear {{ name }},
# Thank you for your order #{{ order_id }}...

def fill_template(template_path: str, data: dict, output_path: str):
    doc = DocxTemplate(template_path)
    doc.render(data)
    doc.save(output_path)
    return output_path

# Usage
fill_template(
    "templates/order_confirmation.docx",
    {
        "name": "John Smith",
        "order_id": "ORD-12345",
        "items": [
            {"name": "Product A", "qty": 2, "price": 29.99},
            {"name": "Product B", "qty": 1, "price": 49.99}
        ],
        "total": 109.97
    },
    "output/confirmation_john.docx"
)
```

### Excel Template

```python
from openpyxl import load_workbook
import re

def fill_excel_template(template_path: str, data: dict, output_path: str):
    wb = load_workbook(template_path)
    ws = wb.active
    
    # Find and replace placeholders like {{name}}
    for row in ws.iter_rows():
        for cell in row:
            if cell.value and isinstance(cell.value, str):
                for key, value in data.items():
                    placeholder = "{{" + key + "}}"
                    if placeholder in cell.value:
                        cell.value = cell.value.replace(placeholder, str(value))
    
    wb.save(output_path)
    return output_path
```

### Bulk Generation (Mail Merge)

```python
import csv
from pathlib import Path

def mail_merge(template_path: str, data_csv: str, output_dir: str):
    """Generate documents for each row in CSV."""
    
    Path(output_dir).mkdir(exist_ok=True)
    
    with open(data_csv) as f:
        reader = csv.DictReader(f)
        
        for i, row in enumerate(reader):
            output_path = f"{output_dir}/document_{i+1}.docx"
            fill_template(template_path, row, output_path)
            print(f"Generated: {output_path}")

# Usage with contacts.csv:
# name,email,company
# John,[email protected],Acme
# Jane,[email protected],Corp

mail_merge(
    "templates/welcome_letter.docx",
    "data/contacts.csv",
    "output/letters"
)
```

### Advanced: Conditional Content

```python
from docxtpl import DocxTemplate

# Template with conditionals:
# {% if vip %}
# Thank you for being a VIP member!
# {% else %}
# Thank you for your purchase.
# {% endif %}

doc = DocxTemplate("template.docx")
doc.render({
    "name": "John",
    "vip": True,
    "discount": 20
})
doc.save("output.docx")
```


## Best Practices

1. **Use clear placeholder naming ({{client_name}})**
2. **Validate data before rendering**
3. **Handle missing data gracefully**
4. **Keep templates version-controlled**

## Installation

```bash
# Install required dependencies
pip install python-docx openpyxl python-pptx reportlab jinja2
```

## Resources

- [docxtpl / yumdocs Repository](https://github.com/elapouya/python-docxtpl)
- [Claude Office Skills Hub](https://github.com/claude-office-skills/skills)

© claude-office-skills · MIT · claude-office-skills/skills

Похожие скиллы

Всё по теме «Документы и офис» →
ssti-server-side-template-injection yaklang Плейбук по серверному внедрению в шаблоны: помогает найти SSTI, определить движок и дойти до выполнения команд. CX Codex +1 3 600установок xlsx appautomaton Скилл для создания, правки и пересчёта книг Excel с живыми формулами, форматированием и диаграммами. Пригодится, когда агент должен выдать или изменить файл таблицы. CX Codex +1 1 300установок xlsx-author официальный anthropics Скилл для создания .xlsx-файлов на диске без открытого Excel, когда агент работает в управляемом режиме без доступа к живой книге. Нужен, если нужно доставить готовый файл, а не редактировать документ в реальном времени. CX Codex +1 1 400установок clean-data-xls официальный anthropics Скилл автоматизирует уборку грязных данных в Excel и Google Sheets: убирает пробелы, унифицирует регистр, конвертирует числа из текста, стандартизирует даты, удаляет дубликаты и выявляет колонки со смешанными типами. CX Codex +1 2 100установок data-designer NVIDIA Создаёт синтетические наборы данных и Python-конвейеры генерации. Пригодится, когда нужно описать структуру данных и получить скрипт для Data Designer. CX Codex +1 2 500установок

Из того же набора109

Spotify Automation Скилл для управления воспроизведением Spotify, сборки плейлистов и разбора аудиохарактеристик треков прямо из чата с агентом. CX Codex +1 4 600установок Invoice Organizer Разбирает счета и чеки: вытаскивает данные, раскладывает по категориям, ведёт реестр платежей и готовит отчёты для налоговой. CX Codex +1 4 600установок PDF Watermark Добавляет водяные знаки, колонтитулы и нумерацию страниц в PDF-файлы. Помогает маркировать черновики и конфиденциальные документы перед отправкой. CX Codex +1 4 600установок Mailchimp Automation Скилл для автоматизации рассылок Mailchimp: собирает кампании, сегментирует подписчиков, настраивает цепочки писем и разбирает отчёты. CX Codex +1 4 600установок Security Monitoring Скилл для автоматизации мониторинга безопасности: правила детекта, алерты, разбор инцидентов и проверки на соответствие требованиям. CX Codex +1 4 600установок Applicant Screening Скилл оценивает резюме по матрице требований вакансии и выставляет балл. Пригодится, когда откликов много, а смотреть их надо быстро. CX Codex +1 4 600установок Lead Qualification Оценивает и скорит лиды по фреймворкам BANT, MEDDIC и GPCTBA/C&I. Помогает приоритизировать потенциальных клиентов и проверять стоп-факторы сделки. CX Codex +1 4 600установок Webhook Automation Скилл для сборки вебхук-интеграций: приём событий, проверка подписи, маршрутизация и преобразование payload. Пригодится, когда нужно связать платежи, GitHub или Slack с внутренними сервисами. CX Codex +1 4 600установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой