← 스킬 목록으로 돌아가기

doc-template-engine

v1.0.0 approved Text Processing ⬇ 4 오늘 업데이트
USK v3 ✅ Verified ⚡ Auto-Convert
⬇ 다운로드
설치 가이드↓
🤖 에이전트용 설치 명령 (curl / MCP / Claude Desktop)
▸ curl 한 줄 다운로드
curl -L -o doc-template-engine.skill   "https://aiskillstore.io/v1/agent/skills/ed01454e-4cb7-4714-b782-a3fe379762c1/download?platform=ClaudeCode"
▸ MCP 도구 호출 (Skill Store MCP 등록 시)
{
  "tool": "download_skill",
  "arguments": {
    "skill_id": "ed01454e-4cb7-4714-b782-a3fe379762c1",
    "platform": "ClaudeCode"
  }
}
▸ Claude Desktop / Cursor MCP 설정 (1회)
{
  "mcpServers": {
    "skill-store": {
      "url": "https://aiskillstore.io/mcp/"
    }
  }
}
📖 에이전트용 전체 API 가이드: /llms.txt  ·  MCP server card

Structured document template engine: renders invoices, receipts, reports, and contracts from JSON data. Supports table loops, totals, Korean business format, multi-currency, and HTML/Markdown output. Zero external dependencies.

# invoice template # document template # report template # invoice # receipt # contract # korean invoice # pdf generation # document generation # HTML template

기본 정보

소유자 👤 aiskillstore-team 카테고리 Text Processing 등록일 2026-05-10 최종 업데이트 2026-05-10 최신 버전 1.0.0 패키지 날짜 2026-05-10 검증 상태 approved 다운로드 수 4회 체크섬 (SHA256) e1569ba070d461af9c92b5814ce1f83aa7338e6daaec243bdd26616649c32d99

⚡ AGENT INFO USK v3

Capabilities
document_template_rendering table_loop_rendering korean_invoice_format multi_currency_format html_escape_safety
Permissions
✗ network
✗ filesystem
✗ subprocess
Interface
type: cli   entry_point: main.py   runtime: python3   call_pattern: stdin_stdout
Agent API
# 스킬 스키마 조회 (에이전트가 호출 방법을 파악) GET /v1/agent/skills/ed01454e-4cb7-4714-b782-a3fe379762c1/schema # 플랫폼별 자동 변환 다운로드 GET /v1/agent/skills/ed01454e-4cb7-4714-b782-a3fe379762c1/download?platform=OpenClaw GET /v1/agent/skills/ed01454e-4cb7-4714-b782-a3fe379762c1/download?platform=ClaudeCode GET /v1/agent/skills/ed01454e-4cb7-4714-b782-a3fe379762c1/download?platform=ClaudeCodeAgentSkill GET /v1/agent/skills/ed01454e-4cb7-4714-b782-a3fe379762c1/download?platform=Cursor GET /v1/agent/skills/ed01454e-4cb7-4714-b782-a3fe379762c1/download?platform=GeminiCLI GET /v1/agent/skills/ed01454e-4cb7-4714-b782-a3fe379762c1/download?platform=CodexCLI GET /v1/agent/skills/ed01454e-4cb7-4714-b782-a3fe379762c1/download?platform=CustomAgent

설치 방법

호환 플랫폼: any

1
openclaw_skill_manager.py로 스킬을 설치합니다.
python openclaw_skill_manager.py --install doc-template-engine
2
설치 확인
python openclaw_skill_manager.py --list-installed
3
특정 버전 설치 (선택)
python openclaw_skill_manager.py --install doc-template-engine --version 1.0.0
1
스킬 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/skills/ed01454e-4cb7-4714-b782-a3fe379762c1/download
2
Claude Code commands 디렉터리에 배치합니다.
unzip doc-template-engine.skill -d ~/.claude/commands/doc-template-engine/
3
Claude Code에서 슬래시 커맨드로 사용합니다.
/doc-template-engine
1
Agent Skills 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/agent/skills/ed01454e-4cb7-4714-b782-a3fe379762c1/download?platform=ClaudeCodeAgentSkill
2
Claude Code skills 디렉터리에 압축을 해제합니다.
unzip doc-template-engine-agent-skill-*.skill -d ~/.claude/skills/doc-template-engine/
3
Claude Code를 재시작하면 세션 시작 시 자동으로 로드됩니다. 슬래시 커맨드 없이 자연어로 사용 가능합니다.
1
Cursor 변환 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/agent/skills/ed01454e-4cb7-4714-b782-a3fe379762c1/download?platform=Cursor
2
압축 해제 후 영구 위치에 저장합니다.
unzip doc-template-engine-cursor-*.skill -d ~/.cursor/skills/doc-template-engine/
3
.cursor/mcp.json에 MCP 서버 설정을 추가하고 Cursor를 재시작합니다.
cat ~/.cursor/skills/doc-template-engine/cursor_mcp_config.json
1
Gemini CLI 변환 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/agent/skills/ed01454e-4cb7-4714-b782-a3fe379762c1/download?platform=GeminiCLI
2
압축 해제 후 영구 위치에 저장합니다.
unzip doc-template-engine-geminicli-*.skill -d ~/.gemini/skills/doc-template-engine/
3
~/.gemini/settings.json에 MCP 서버 설정을 추가하고 Gemini CLI를 재시작합니다.
cat ~/.gemini/skills/doc-template-engine/gemini_settings_snippet.json
1
Codex CLI 변환 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/agent/skills/ed01454e-4cb7-4714-b782-a3fe379762c1/download?platform=CodexCLI
2
압축 해제 후 영구 위치에 저장합니다.
unzip doc-template-engine-codexcli-*.skill -d ~/.codex/skills/doc-template-engine/
3
~/.codex/config.toml에 MCP 서버 설정을 추가하고 Codex CLI를 재시작합니다.
cat ~/.codex/skills/doc-template-engine/codex_config_snippet.toml
1
REST API로 스킬 패키지를 다운로드합니다.
GET https://aiskillstore.io/v1/skills/ed01454e-4cb7-4714-b782-a3fe379762c1/download
2
에이전트 플랫폼의 skills 디렉터리에 배치합니다.
cp doc-template-engine.skill ./skills/
3
설치 가이드 API로 플랫폼별 상세 정보를 조회합니다.
GET https://aiskillstore.io/v1/skills/ed01454e-4cb7-4714-b782-a3fe379762c1/install-guide?platform=CustomAgent

보안 검증 보고서

검증 결과 APPROVED

검사 결과: ["메타데이터 경고: 권장 필드 없음: 'requirements' (SKILL.md v2 권장)", "메타데이터 경고: 권장 필드 없음: 'changelog' (SKILL.md v2 권장)"]

✅ 보안 위험 항목이 발견되지 않았습니다.

AI 검수 단계

검수 주체 gemini 위험도 🟢 낮음 검수 요약 문서 템플릿 렌더링 스킬로, 선언된 권한을 준수하며 XSS 방어 기능을 포함하여 안전합니다.
판단 근거

스킬 메타데이터에서 네트워크, 파일 시스템, 서브프로세스 접근 권한이 모두 'false'로 명확하게 선언되어 있습니다. 제공된 'main.py' 코드 파일은 Python 표준 라이브러리(sys, json, re, html, datetime, typing)만을 사용하며, 선언된 권한을 위반하는 어떠한 외부 통신, 파일 접근 또는 서브프로세스 실행 코드도 발견되지 않았습니다. 특히, 템플릿 변수 바인딩 시 기본적으로 HTML 이스케이프를 수행하는 `escape_html: true` 옵션과 `_escape` 함수를 통해 XSS 공격에 대한 방어 메커니즘이 명시적으로 구현되어 있습니다. 정적 분석 결과에서도 어떠한 위험 요소나 난독화, 금지된 실행 파일이 발견되지 않아 코드의 안전성이 추가로 확인됩니다. 스킬의 목적과 일치하는 높은 코드 품질을 보이며, 악의적인 목적의 코드는 발견되지 않았습니다.

버전 히스토리

버전 USK v3 검증 상태 패키지 날짜 다운로드 변경사항
v1.0.0 approved 2026-05-10 ⬇ 4

사용 예시 (Examples) 8 개

이 스킬의 대표적인 입출력 예시입니다. 에이전트는 이 예시를 보고 스킬 호출 방법과 결과 형태를 이해할 수 있습니다.

한국 사업자 인보이스 / Korean business invoice
# render# invoice# korean

한국 표준 세금계산서 양식으로 인보이스를 렌더합니다.

📥 입력
{
  "action": "render",
  "currency": "KRW",
  "data": {
    "buyer_name": "(\uc8fc)\uad6c\ub9e4\ud68c\uc0ac",
    "buyer_reg_number": "987-65-43210",
    "doc_number": "2024-001",
    "issue_date": "2024-01-15",
    "items": [
      {
        "name": "\uc18c\ud504\ud2b8\uc6e8\uc5b4 \uac1c\ubc1c",
        "qty": 1,
        "unit_price": 1000000
      },
      {
        "name": "\uc720\uc9c0\ubcf4\uc218",
        "qty": 3,
        "unit_price": 200000
      }
    ],
    "seller_address": "\uc11c\uc6b8\uc2dc \uac15\ub0a8\uad6c \ud14c\ud5e4\ub780\ub85c 123",
    "seller_ceo": "\ud64d\uae38\ub3d9",
    "seller_name": "(\uc8fc)\uc608\uc2dc\ucef4\ud37c\ub2c8",
    "seller_reg_number": "123-45-67890",
    "tax_rate": 10
  },
  "lang": "ko",
  "preset": "invoice_kr"
}
📤 출력
{
  "action": "render",
  "meta": {
    "currency": "KRW",
    "grand_total": 1980000,
    "preset": "invoice_kr",
    "tax_amount": 180000,
    "total_amount": 1800000
  },
  "output": "\u003chtml\u003e...(\uc138\uae08\uacc4\uc0b0\uc11c HTML)...\u003c/html\u003e",
  "output_format": "html"
}
영수증 렌더 / Receipt render
# render# receipt

간단한 영수증 문서를 렌더합니다.

📥 입력
{
  "action": "render",
  "currency": "KRW",
  "data": {
    "date": "2024-01-15",
    "items": [
      {
        "name": "\uc544\uba54\ub9ac\uce74\ub178",
        "qty": 2,
        "unit_price": 4500
      },
      {
        "name": "\uc0cc\ub4dc\uc704\uce58",
        "qty": 1,
        "unit_price": 5800
      }
    ],
    "receipt_number": "R-2024-0042",
    "store_name": "\ud3b8\uc758\uc810 24"
  },
  "lang": "ko",
  "preset": "receipt"
}
📤 출력
{
  "action": "render",
  "meta": {
    "total_amount": 14800
  },
  "output": "\u003chtml\u003e...(\uc601\uc218\uc99d HTML)...\u003c/html\u003e",
  "output_format": "html"
}
월간 매출 보고서 / Monthly sales report
# render# report

표와 합계 셀이 포함된 월간 매출 보고서를 렌더합니다.

📥 입력
{
  "action": "render",
  "currency": "KRW",
  "data": {
    "author": "\uae40\uc601\uc5c5",
    "period": "2024-01-01 ~ 2024-01-31",
    "rows": [
      {
        "cost": 8000000,
        "month": "1\uc6d4 1\uc8fc",
        "sales": 12000000
      },
      {
        "cost": 9500000,
        "month": "1\uc6d4 2\uc8fc",
        "sales": 15000000
      }
    ],
    "title": "2024\ub144 1\uc6d4 \ub9e4\ucd9c \ubcf4\uace0\uc11c"
  },
  "lang": "ko",
  "preset": "report"
}
📤 출력
{
  "action": "render",
  "meta": {
    "total_cost": 17500000,
    "total_sales": 27000000
  },
  "output": "\u003chtml\u003e...(\ubcf4\uace0\uc11c HTML)...\u003c/html\u003e",
  "output_format": "html"
}
계약서 골격 / Contract skeleton
# render# contract

계약서 기본 골격 문서를 렌더합니다.

📥 입력
{
  "action": "render",
  "data": {
    "amount": 50000000,
    "contract_title": "\uc18c\ud504\ud2b8\uc6e8\uc5b4 \uac1c\ubc1c \uc6a9\uc5ed \uacc4\uc57d\uc11c",
    "currency": "KRW",
    "end_date": "2024-07-31",
    "party_a": "(\uc8fc)\ubc1c\uc8fc\ud68c\uc0ac",
    "party_b": "(\uc8fc)\uc218\uc8fc\ud68c\uc0ac",
    "start_date": "2024-02-01"
  },
  "lang": "ko",
  "preset": "contract"
}
📤 출력
{
  "action": "render",
  "output": "\u003chtml\u003e...(\uacc4\uc57d\uc11c HTML)...\u003c/html\u003e",
  "output_format": "html"
}
커스텀 템플릿 렌더 / Custom template render
# render# custom_template# table

사용자 정의 템플릿에 데이터를 바인딩합니다.

📥 입력
{
  "action": "render",
  "data": {
    "author": "\uc774\uc8fc\ubb38",
    "items": [
      {
        "amount": 10000,
        "name": "\uc0c1\ud488A",
        "qty": 2
      },
      {
        "amount": 25000,
        "name": "\uc0c1\ud488B",
        "qty": 1
      }
    ],
    "title": "\uc8fc\ubb38\uc11c"
  },
  "template": "\u003ch1\u003e{{title}}\u003c/h1\u003e\u003cp\u003e\uc791\uc131\uc790: {{author}}\u003c/p\u003e{{#table items}}\u003ctr\u003e\u003ctd\u003e{{name}}\u003c/td\u003e\u003ctd\u003e{{qty}}\u003c/td\u003e\u003ctd\u003e{{amount}}\u003c/td\u003e\u003c/tr\u003e{{/table}}\u003cp\u003e\ud569\uacc4: {{#total items.amount}}\u003c/p\u003e"
}
📤 출력
{
  "action": "render",
  "output": "\u003ch1\u003e\uc8fc\ubb38\uc11c\u003c/h1\u003e\u003cp\u003e\uc791\uc131\uc790: \uc774\uc8fc\ubb38\u003c/p\u003e\u003ctr\u003e\u003ctd\u003e\uc0c1\ud488A\u003c/td\u003e\u003ctd\u003e2\u003c/td\u003e\u003ctd\u003e10,000\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\uc0c1\ud488B\u003c/td\u003e\u003ctd\u003e1\u003c/td\u003e\u003ctd\u003e25,000\u003c/td\u003e\u003c/tr\u003e\u003cp\u003e\ud569\uacc4: 35,000\u003c/p\u003e",
  "output_format": "html"
}
XSS 입력 이스케이프 / XSS input escaped
# render# security# xss

악성 스크립트 입력이 HTML escape 처리되어 안전하게 렌더됩니다.

📥 입력
{
  "action": "render",
  "data": {
    "user_input": "\u003cscript\u003ealert(\u0027xss\u0027)\u003c/script\u003e"
  },
  "escape_html": true,
  "template": "\u003cp\u003e{{user_input}}\u003c/p\u003e"
}
📤 출력
{
  "action": "render",
  "output": "\u003cp\u003e\u0026lt;script\u0026gt;alert(\u0026#x27;xss\u0026#x27;)\u0026lt;/script\u0026gt;\u003c/p\u003e",
  "output_format": "html"
}
다중 통화 USD 인보이스 / Multi-currency USD invoice
# render# invoice# usd# english

USD 통화 형식으로 영문 인보이스를 렌더합니다.

📥 입력
{
  "action": "render",
  "currency": "USD",
  "data": {
    "buyer_name": "Client Inc",
    "doc_number": "INV-2024-001",
    "issue_date": "2024-01-15",
    "items": [
      {
        "name": "Consulting",
        "qty": 10,
        "unit_price": 150
      },
      {
        "name": "Development",
        "qty": 40,
        "unit_price": 120
      }
    ],
    "seller_name": "Example Corp"
  },
  "lang": "en",
  "preset": "invoice_en"
}
📤 출력
{
  "action": "render",
  "meta": {
    "currency": "USD",
    "total_amount": 6300
  },
  "output": "\u003chtml\u003e...(Invoice HTML in USD)...\u003c/html\u003e",
  "output_format": "html"
}
프리셋 목록 조회 / List presets
# list_presets

사용 가능한 내장 프리셋 목록과 필수 필드를 반환합니다.

📥 입력
{
  "action": "list_presets"
}
📤 출력
{
  "action": "list_presets",
  "presets": [
    {
      "description": "\ud55c\uad6d \ud45c\uc900 \uc138\uae08\uacc4\uc0b0\uc11c",
      "name": "invoice_kr",
      "required_fields": [
        "seller_name",
        "seller_reg_number",
        "buyer_name",
        "items"
      ]
    },
    {
      "description": "English invoice",
      "name": "invoice_en",
      "required_fields": [
        "seller_name",
        "buyer_name",
        "items"
      ]
    },
    {
      "description": "\uc601\uc218\uc99d / Receipt",
      "name": "receipt",
      "required_fields": [
        "store_name",
        "items"
      ]
    },
    {
      "description": "\ubcf4\uace0\uc11c / Report",
      "name": "report",
      "required_fields": [
        "title",
        "rows"
      ]
    },
    {
      "description": "\uacc4\uc57d\uc11c / Contract",
      "name": "contract",
      "required_fields": [
        "party_a",
        "party_b",
        "start_date",
        "end_date"
      ]
    }
  ]
}

모든 예시는 에이전트 API로도 조회 가능: /v1/agent/skills/ed01454e-4cb7-4714-b782-a3fe379762c1/schema

리뷰 & 평점

아직 리뷰가 없습니다. 첫 번째 리뷰를 남겨보세요!

✍️ 리뷰 작성