Render templates with variable substitution using {{variable}} or ${variable} syntax. Use for generating formatted output, reports, commit messages, or any text requiring variable interpolation.
Render templates with variable substitution, supporting various syntax formats and helper functions.
Accept template string and variable data.
Expected Input:
template: String (template with placeholders)variables: Object (key-value pairs for substitution)syntax: String (optional: mustache|shell|mixed, default: mustache)Supported Syntax:
{{variable}}, {{object.property}}${variable}, ${VARIABLE}Identify all placeholders in template.
Placeholder Patterns:
{{variable}}: Simple variable{{object.property}}: Nested property{{#if condition}}...{{/if}}: Conditional (optional){{#each array}}...{{/each}}: Loop (optional)Replace placeholders with values from variables object.
Resolution Rules:
{{name}} → variables.name{{user.name}} → variables.user.nameSupport simple filters if specified.
Common Filters:
{{variable | uppercase}}: Convert to uppercase{{variable | lowercase}}: Convert to lowercase{{variable | capitalize}}: Capitalize first letter{{date | format:YYYY-MM-DD}}: Format dateReturn final rendered string.
Expected Output: String (template with variables replaced)
Input:
{
"template": "Hello {{name}}, your score is {{score}}!",
"variables": {
"name": "Alice",
"score": 95
},
"syntax": "mustache"
}
Output:
Hello Alice, your score is 95!
Input:
{
"template": "User: {{user.name}} ({{user.email}})\nRole: {{user.role}}",
"variables": {
"user": {
"name": "Bob",
"email": "bob@example.com",
"role": "admin"
}
}
}
Output:
User: Bob (bob@example.com)
Role: admin
Input:
{
"template": "Version: ${VERSION}\nDate: ${RELEASE_DATE}",
"variables": {
"VERSION": "0.8.0",
"RELEASE_DATE": "2025-10-17"
},
"syntax": "shell"
}
Output:
Version: 0.8.0
Date: 2025-10-17
Input:
{
"template": "{{type}}({{scope}}): {{description}}\n\n{{body}}\n\n🤖 Generated with Claude Code\nCo-Authored-By: Claude <noreply@anthropic.com>",
"variables": {
"type": "feat",
"scope": "auth",
"description": "add OAuth2 support",
"body": "Implemented OAuth2 flow with token refresh.\nSupports Google and GitHub providers."
}
}
Output:
feat(auth): add OAuth2 support
Implemented OAuth2 flow with token refresh.
Supports Google and GitHub providers.
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
Input:
{
"template": "Name: {{name}}\nAge: {{age}}\nCity: {{city}}",
"variables": {
"name": "Alice"
}
}
Output (with empty string replacement):
Name: Alice
Age:
City:
Output (with keep placeholder):
Name: Alice
Age: {{age}}
City: {{city}}
Input:
{
"template": "# {{reportType}} Report: {{version}}\n\n**Generated**: {{timestamp}}\n**Status**: {{statusEmoji}} {{status}}\n**Version**: {{version}}",
"variables": {
"reportType": "Bug Hunting",
"version": "2025-10-17",
"timestamp": "2025-10-17 14:30:00 UTC",
"statusEmoji": "✅",
"status": "success"
}
}
Output:
# Bug Hunting Report: 2025-10-17
**Generated**: 2025-10-17 14:30:00 UTC
**Status**: ✅ success
**Version**: 2025-10-17
None required - pure template rendering logic.
This Skill consolidates formatting logic used by:
Example Integration:
Instead of: Hard-coded string formatting in each Skill
Use: render-template Skill with predefined templates
Result: Consistent formatting, easier to maintain
npx skills add maslennikov-ig/render-template下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer