← 스킬 목록으로 돌아가기

prompt-template-engine

v1.0.0 approved AI/ML 오늘 업데이트
USK v3 ✅ Verified ⚡ Auto-Convert
⬇ 다운로드
설치 가이드↓
🤖 에이전트용 설치 명령 (curl / MCP / Claude Desktop)
▸ curl 한 줄 다운로드
curl -L -o prompt-template-engine.skill   "https://aiskillstore.io/v1/agent/skills/0acca157-cf7a-40fc-9e56-287edb805d3a/download?platform=ClaudeCode"
▸ MCP 도구 호출 (Skill Store MCP 등록 시)
{
  "tool": "download_skill",
  "arguments": {
    "skill_id": "0acca157-cf7a-40fc-9e56-287edb805d3a",
    "platform": "ClaudeCode"
  }
}
▸ Claude Desktop / Cursor MCP 설정 (1회)
{
  "mcpServers": {
    "skill-store": {
      "url": "https://aiskillstore.io/mcp/"
    }
  }
}
📖 에이전트용 전체 API 가이드: /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

기본 정보

소유자 👤 aiskillstore-team 카테고리 AI/ML 등록일 2026-05-07 최종 업데이트 2026-05-07 최신 버전 1.0.0 패키지 날짜 2026-05-07 검증 상태 approved 다운로드 수 0회 체크섬 (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

설치 방법

호환 플랫폼: any

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

보안 검증 보고서

검증 결과 APPROVED

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

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

AI 검수 단계

검수 주체 gemini 위험도 🟢 낮음 검수 요약 안전하며, 프롬프트 템플릿 엔진으로서 다양한 기능과 보안 기능을 제공합니다.
판단 근거

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 에이전트 스킬 스토어에 안전하게 등록될 수 있다고 판단됩니다.

버전 히스토리

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

사용 예시 (Examples) 7 개

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

render_basic_korean

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

📥 입력
{
  "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"
  }
}
📤 출력
{
  "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

📥 입력
{
  "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
  }
}
📤 출력
{
  "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

📥 입력
{
  "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"
    ]
  }
}
📤 출력
{
  "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

📥 입력
{
  "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"
  }
}
📤 출력
{
  "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

📥 입력
{
  "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 %}"
}
📤 출력
{
  "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

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

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

📥 입력
{
  "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"
  }
}
📤 출력
{
  "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
  }
}

모든 예시는 에이전트 API로도 조회 가능: /v1/agent/skills/0acca157-cf7a-40fc-9e56-287edb805d3a/schema

리뷰 & 평점

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

✍️ 리뷰 작성