← Back to Skills

prompt-template-engine

v1.0.0 approved AI/ML updated today
USK v3 ✅ Verified ⚡ Auto-Convert
⬇ Download
Install Guide↓
🤖 Agent install commands (curl / MCP / Claude Desktop)
▸ curl one-liner
curl -L -o prompt-template-engine.skill   "https://aiskillstore.io/v1/agent/skills/0acca157-cf7a-40fc-9e56-287edb805d3a/download?platform=ClaudeCode"
▸ MCP tool call (after registering Skill Store MCP)
{
  "tool": "download_skill",
  "arguments": {
    "skill_id": "0acca157-cf7a-40fc-9e56-287edb805d3a",
    "platform": "ClaudeCode"
  }
}
▸ Claude Desktop / Cursor MCP config (one-time)
{
  "mcpServers": {
    "skill-store": {
      "url": "https://aiskillstore.io/mcp/"
    }
  }
}
📖 Full agent API guide: /llms.txt  ·  MCP server card

Prompt template engine with 5 actions: render, parse, validate, list_variables, audit. Zero external dependencies. Korean variable name support, conditional/loop blocks, HTML/SQL/Shell escaping, missing variable detection.

# prompt # template # llm # rag # korean # agent # jinja-like # escaping # ai

Basic Info

Owner 👤 aiskillstore-team Category AI/ML Registered 2026-05-07 Last Updated 2026-05-07 Latest Version 1.0.0 Packaged At 2026-05-07 Vetting Status approved Downloads 0 Checksum (SHA256) e79afc7b924b364ed120d7bbaa147176951991dfbd4cdcea5a52dcfd9c09ce28

⚡ AGENT INFO USK v3

Capabilities
prompt_templating variable_substitution conditional_rendering korean_identifier_support template_audit
Permissions
✗ network
✗ filesystem
✗ subprocess
Interface
type: cli   entry_point: main.py   runtime: python3   call_pattern: stdin_stdout
Agent API
# 스킬 스키마 조회 (에이전트가 호출 방법을 파악) GET /v1/agent/skills/0acca157-cf7a-40fc-9e56-287edb805d3a/schema # 플랫폼별 자동 변환 다운로드 GET /v1/agent/skills/0acca157-cf7a-40fc-9e56-287edb805d3a/download?platform=OpenClaw GET /v1/agent/skills/0acca157-cf7a-40fc-9e56-287edb805d3a/download?platform=ClaudeCode GET /v1/agent/skills/0acca157-cf7a-40fc-9e56-287edb805d3a/download?platform=ClaudeCodeAgentSkill GET /v1/agent/skills/0acca157-cf7a-40fc-9e56-287edb805d3a/download?platform=Cursor GET /v1/agent/skills/0acca157-cf7a-40fc-9e56-287edb805d3a/download?platform=GeminiCLI GET /v1/agent/skills/0acca157-cf7a-40fc-9e56-287edb805d3a/download?platform=CodexCLI GET /v1/agent/skills/0acca157-cf7a-40fc-9e56-287edb805d3a/download?platform=CustomAgent

Installation

Compatible Platforms any

1
Install the skill using openclaw_skill_manager.py.
python openclaw_skill_manager.py --install prompt-template-engine
2
Verify installation
python openclaw_skill_manager.py --list-installed
3
Install a specific version (optional)
python openclaw_skill_manager.py --install prompt-template-engine --version 1.0.0
1
Download the skill package.
curl -O https://aiskillstore.io/v1/skills/0acca157-cf7a-40fc-9e56-287edb805d3a/download
2
Place it in the Claude Code commands directory.
unzip prompt-template-engine.skill -d ~/.claude/commands/prompt-template-engine/
3
Use it as a slash command in Claude Code.
/prompt-template-engine
1
Download the Agent Skills package.
curl -O https://aiskillstore.io/v1/agent/skills/0acca157-cf7a-40fc-9e56-287edb805d3a/download?platform=ClaudeCodeAgentSkill
2
Unzip it into the Claude Code skills directory.
unzip prompt-template-engine-agent-skill-*.skill -d ~/.claude/skills/prompt-template-engine/
3
Restart Claude Code — the skill is auto-loaded at session start. No slash command needed.
1
Download the Cursor-converted package.
curl -O https://aiskillstore.io/v1/agent/skills/0acca157-cf7a-40fc-9e56-287edb805d3a/download?platform=Cursor
2
Unzip and place it in a permanent location.
unzip prompt-template-engine-cursor-*.skill -d ~/.cursor/skills/prompt-template-engine/
3
Add the MCP server config to .cursor/mcp.json, then restart Cursor.
cat ~/.cursor/skills/prompt-template-engine/cursor_mcp_config.json
1
Download the Gemini CLI-converted package.
curl -O https://aiskillstore.io/v1/agent/skills/0acca157-cf7a-40fc-9e56-287edb805d3a/download?platform=GeminiCLI
2
Unzip and place it in a permanent location.
unzip prompt-template-engine-geminicli-*.skill -d ~/.gemini/skills/prompt-template-engine/
3
Add the MCP server config to ~/.gemini/settings.json, then restart Gemini CLI.
cat ~/.gemini/skills/prompt-template-engine/gemini_settings_snippet.json
1
Download the Codex CLI-converted package.
curl -O https://aiskillstore.io/v1/agent/skills/0acca157-cf7a-40fc-9e56-287edb805d3a/download?platform=CodexCLI
2
Unzip and place it in a permanent location.
unzip prompt-template-engine-codexcli-*.skill -d ~/.codex/skills/prompt-template-engine/
3
Add the MCP server config to ~/.codex/config.toml, then restart Codex CLI.
cat ~/.codex/skills/prompt-template-engine/codex_config_snippet.toml
1
Download the skill package via REST API.
GET https://aiskillstore.io/v1/skills/0acca157-cf7a-40fc-9e56-287edb805d3a/download
2
Place it in your agent platform's skills directory.
cp prompt-template-engine.skill ./skills/
3
Fetch platform-specific details via the Install Guide API.
GET https://aiskillstore.io/v1/skills/0acca157-cf7a-40fc-9e56-287edb805d3a/install-guide?platform=CustomAgent

Security Vetting Report

Vetting Result APPROVED

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

✅ No security risks found.

AI Review Stage

Reviewer gemini Risk Level 🟢 Low Review Summary 안전하며, 프롬프트 템플릿 엔진으로서 다양한 기능과 보안 기능을 제공합니다.
Reasoning

1. **Permissions 일치 여부:** 스킬 메타데이터에 `network: false`, `filesystem: false`, `subprocess: false`로 명확히 선언되어 있습니다. 제공된 `main.py` 코드 스니펫에는 외부 네트워크 통신, 파일 시스템 접근, 서브프로세스 실행을 시도하는 코드가 전혀 없으며, 'Zero external dependencies'라는 설명과도 일치합니다. 정적 분석 결과에서도 금지된 실행 파일이 발견되지 않아 선언된 권한을 준수하고 있음을 확인했습니다. 2. **악의적 목적 코드 여부:** 제공된 코드 스니펫 및 메타데이터에서 데이터 탈취, 시스템 파괴, 난독화 등 악의적인 목적의 코드는 발견되지 않았습니다. 오히려 `escape_mode` (html, sql, shell) 옵션과 `audit` 액션을 통해 SQL/HTML/Shell 인젝션 공격을 방지하고 보안 취약점을 감사하는 기능을 명시적으로 제공하여 보안에 대한 높은 인식을 보여줍니다. 3. **선언되지 않은 외부 통신 여부:** `network: false` 권한 선언에 따라 외부 통신은 허용되지 않으며, 코드 분석 결과에서도 외부 통신을 시도하는 어떠한 흔적도 발견되지 않았습니다. 4. **사용자 데이터 무단 수집/전송 여부:** 스킬은 입력으로 받은 템플릿과 변수를 처리하는 것이 주 목적이며, `network: false` 권한으로 인해 외부로 사용자 데이터를 무단으로 수집하거나 전송할 수 없습니다. 5. **코드 품질 및 목적 일치 여부:** 스킬의 설명, 입출력 스키마, 기능 목록, 예시가 매우 상세하고 명확하게 정의되어 있습니다. 한국어 변수명 지원, 조건/반복 블록, 다양한 이스케이핑 모드, 누락 변수 감지, 보안 감사 등 풍부한 기능을 제공하며, 'Zero external dependencies'를 통해 안정성과 보안성을 높였습니다. 제공된 `main.py` 코드 스니펫(토크나이저 부분)은 깔끔하고 효율적으로 작성되어 있으며, 스킬의 목적에 부합하는 높은 코드 품질을 보여줍니다. 특히 `sys.stdout` 및 `sys.stdin`의 UTF-8 강제 설정은 다국어 지원에 대한 세심한 고려를 나타냅니다. 종합적으로 판단할 때, 이 스킬은 기능성, 보안성, 코드 품질 면에서 매우 우수하며, AI 에이전트 스킬 스토어에 안전하게 등록될 수 있다고 판단됩니다.

Version History

Version USK v3 Vetting Status Packaged At Downloads Changelog
v1.0.0 approved 2026-05-07 ⬇ 0

Examples 7

Representative input/output examples for this skill. Agents can use these to understand how to invoke the skill and what output to expect.

render_basic_korean

한국어 변수명으로 프롬프트 렌더링 / Render prompt with Korean variable names

📥 Input
{
  "action": "render",
  "escape_mode": "none",
  "template": "\uc548\ub155\ud558\uc138\uc694, {{\uc0ac\uc6a9\uc790\uba85}}\ub2d8. {{\uc11c\ube44\uc2a4\uba85}}\uc5d0 \uc624\uc2e0 \uac83\uc744 \ud658\uc601\ud569\ub2c8\ub2e4.",
  "variables": {
    "\uc0ac\uc6a9\uc790\uba85": "\ud64d\uae38\ub3d9",
    "\uc11c\ube44\uc2a4\uba85": "AI Skill Store"
  }
}
📤 Output
{
  "action": "render",
  "meta": {
    "escape_mode": "none",
    "variables_provided": 2,
    "variables_used": 2
  },
  "missing_variables": [],
  "rendered": "\uc548\ub155\ud558\uc138\uc694, \ud64d\uae38\ub3d9\ub2d8. AI Skill Store\uc5d0 \uc624\uc2e0 \uac83\uc744 \ud658\uc601\ud569\ub2c8\ub2e4."
}
render_conditional_block

조건부 블록 렌더링 / Render template with if/else conditional blocks

📥 Input
{
  "action": "render",
  "escape_mode": "none",
  "template": "{% if is_premium %}\ud504\ub9ac\ubbf8\uc5c4 \uc0ac\uc6a9\uc790\uc785\ub2c8\ub2e4. \ucd94\uac00 \ud61c\ud0dd: {{benefits}}{% else %}\uc77c\ubc18 \uc0ac\uc6a9\uc790\uc785\ub2c8\ub2e4.{% endif %}",
  "variables": {
    "benefits": "\ubb34\uc81c\ud55c API \ud638\ucd9c",
    "is_premium": true
  }
}
📤 Output
{
  "action": "render",
  "meta": {
    "escape_mode": "none",
    "variables_provided": 2,
    "variables_used": 2
  },
  "missing_variables": [],
  "rendered": "\ud504\ub9ac\ubbf8\uc5c4 \uc0ac\uc6a9\uc790\uc785\ub2c8\ub2e4. \ucd94\uac00 \ud61c\ud0dd: \ubb34\uc81c\ud55c API \ud638\ucd9c"
}
render_for_loop

반복문으로 목록 렌더링 / Render a list using for loop

📥 Input
{
  "action": "render",
  "escape_mode": "none",
  "template": "\uc0ac\uc6a9 \uac00\ub2a5\ud55c \ubaa8\ub378:\n{% for item in models %}- {{item}}\n{% endfor %}",
  "variables": {
    "models": [
      "GPT-4",
      "Claude 3",
      "Gemini Pro"
    ]
  }
}
📤 Output
{
  "action": "render",
  "meta": {
    "escape_mode": "none",
    "variables_provided": 1,
    "variables_used": 1
  },
  "missing_variables": [],
  "rendered": "\uc0ac\uc6a9 \uac00\ub2a5\ud55c \ubaa8\ub378:\n- GPT-4\n- Claude 3\n- Gemini Pro\n"
}
render_html_escape

HTML 이스케이핑으로 XSS 방지 / HTML escaping to prevent XSS injection

📥 Input
{
  "action": "render",
  "escape_mode": "html",
  "template": "\u003cp\u003e\uc548\ub155\ud558\uc138\uc694, {{user_input}}\ub2d8\u003c/p\u003e",
  "variables": {
    "user_input": "\u003cscript\u003ealert(\u0027xss\u0027)\u003c/script\u003e"
  }
}
📤 Output
{
  "action": "render",
  "meta": {
    "escape_mode": "html",
    "variables_provided": 1,
    "variables_used": 1
  },
  "missing_variables": [],
  "rendered": "\u003cp\u003e\uc548\ub155\ud558\uc138\uc694, \u0026lt;script\u0026gt;alert(\u0026#x27;xss\u0026#x27;)\u0026lt;/script\u0026gt;\ub2d8\u003c/p\u003e"
}
list_variables_template

템플릿에서 변수 목록 추출 / Extract all variables from a template

📥 Input
{
  "action": "list_variables",
  "template": "{{\uc774\ub984}}\ub2d8\uc758 {{\uc9c1\ucc45}} \ubcf4\uace0\uc11c\uc785\ub2c8\ub2e4.\n{% if show_detail %}\uc138\ubd80 \ub0b4\uc6a9: {{detail}}{% endif %}"
}
📤 Output
{
  "action": "list_variables",
  "meta": {
    "required_count": 2,
    "total_variables": 4
  },
  "variables_found": [
    {
      "kind": "variable",
      "line": 1,
      "name": "\uc774\ub984",
      "required": true
    },
    {
      "kind": "variable",
      "line": 1,
      "name": "\uc9c1\ucc45",
      "required": true
    },
    {
      "kind": "condition",
      "line": 2,
      "name": "show_detail",
      "required": false
    },
    {
      "kind": "variable",
      "line": 2,
      "name": "detail",
      "required": false
    }
  ]
}
validate_template_syntax

템플릿 구문 유효성 검사 / Validate template syntax for errors

📥 Input
{
  "action": "validate",
  "template": "Hello {{name}}. {% if active %}Active{% endif %}",
  "variables": {
    "active": true,
    "name": "Alice"
  }
}
📤 Output
{
  "action": "validate",
  "meta": {
    "template_length": 47
  },
  "validation": {
    "issues": [],
    "valid": true,
    "warnings": []
  }
}
audit_missing_variables

변수 누락 및 보안 감사 / Audit template for missing variables and security issues

📥 Input
{
  "action": "audit",
  "escape_mode": "none",
  "template": "{{\uc0ac\uc6a9\uc790\uba85}}\ub2d8\uc774 {{\ucffc\ub9ac}}\ub97c SQL\uc5d0 \uc9c1\uc811 \uc0bd\uc785\ud569\ub2c8\ub2e4: SELECT * FROM users WHERE name=\u0027{{\ucffc\ub9ac}}\u0027",
  "variables": {
    "\uc0ac\uc6a9\uc790\uba85": "\ud64d\uae38\ub3d9"
  }
}
📤 Output
{
  "action": "audit",
  "audit_report": {
    "issues": [
      {
        "fix_hint": {
          "action": "render",
          "field": "variables.\ucffc\ub9ac",
          "reference": "https://aiskillstore.io/skills/prompt-template-engine",
          "suggested_replacement": "default_values\uc5d0 \u0027\ucffc\ub9ac\u0027 \uae30\ubcf8\uac12 \ucd94\uac00"
        },
        "message": "\ubcc0\uc218 \u0027\ucffc\ub9ac\u0027\uac00 \uc81c\uacf5\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4. \uae30\ubcf8\uac12 \uc124\uc815\uc744 \uad8c\uc7a5\ud569\ub2c8\ub2e4.",
        "type": "missing_variable",
        "variable": "\ucffc\ub9ac"
      },
      {
        "fix_hint": {
          "action": "render",
          "field": "escape_mode",
          "reference": "https://aiskillstore.io/skills/prompt-template-engine",
          "suggested_replacement": "escape_mode: sql \uc124\uc815 \uad8c\uc7a5"
        },
        "message": "SQL \ucee8\ud14d\uc2a4\ud2b8\uc5d0\uc11c \uc774\uc2a4\ucf00\uc774\ud551 \uc5c6\uc774 \u0027\ucffc\ub9ac\u0027 \ubcc0\uc218 \uc0ac\uc6a9 \u2014 \ubcf4\uc548 \uc704\ud5d8",
        "type": "sql_injection_risk",
        "variable": "\ucffc\ub9ac"
      }
    ],
    "missing_variables": [
      "\ucffc\ub9ac"
    ],
    "score": 45,
    "unescaped_variables": [
      "\ucffc\ub9ac"
    ]
  },
  "meta": {
    "escape_mode": "none",
    "total_variables": 2
  }
}

All examples are also available via the agent API: /v1/agent/skills/0acca157-cf7a-40fc-9e56-287edb805d3a/schema

Reviews & Ratings

No reviews yet. Be the first to leave one!

✍️ Write a Review