Claude Code Plugins

Community-maintained marketplace

Feedback
46
0

Load, validate, and populate templates consistently across frameworks. Use when relevant to the task.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name template-engine
description Load, validate, and populate templates consistently across frameworks. Use when relevant to the task.

template-engine

Load, validate, and populate templates consistently across frameworks.

Triggers

  • "create from template [name]"
  • "instantiate [template]"
  • "new [artifact-type] from template"
  • "use template [name]"
  • "scaffold [artifact]"

Purpose

This skill provides a unified template instantiation engine that:

  • Locates templates across project, framework, and installation locations
  • Parses template structure and placeholders
  • Gathers required inputs from context or prompts
  • Populates and validates instantiated artifacts
  • Integrates with artifact-metadata for tracking

Behavior

When triggered, this skill:

  1. Locates template:

    • Search project templates first (.aiwg/templates/)
    • Search active framework templates
    • Search AIWG installation templates
    • Return first match or list similar templates
  2. Parses template:

    • Extract placeholders ({{variable}}, {variable})
    • Identify required vs optional sections
    • Detect conditional blocks
    • Build input requirements list
  3. Gathers inputs:

    • Check context for matching values
    • Prompt for missing required values
    • Apply defaults for optional values
  4. Instantiates template:

    • Replace all placeholders
    • Evaluate conditional sections
    • Process loops/repeating sections
    • Format output
  5. Validates output:

    • Check all placeholders replaced
    • Validate structure
    • Create metadata (via artifact-metadata skill)
  6. Saves artifact:

    • Write to appropriate location
    • Update artifact index

Template Discovery Order

1. .aiwg/templates/{template-name}.md
2. .aiwg/templates/{category}/{template-name}.md
3. {framework}/templates/{category}/{template-name}.md
4. ~/.local/share/ai-writing-guide/.../{template-name}.md

Template Syntax

Basic Placeholders

# {{project_name}} Architecture Document

**Author**: {{author}}
**Date**: {{date}}
**Version**: {{version|default:0.1.0}}

Conditional Sections

{{#if has_database}}
## Database Design

{{database_description}}
{{/if}}

Loops/Repeating Sections

## Components

{{#each components}}
### {{name}}

{{description}}

- **Owner**: {{owner}}
- **Dependencies**: {{dependencies}}
{{/each}}

Includes

{{> common/header.md}}

## Content

{{> partials/component-table.md}}

Computed Values

**Generated**: {{now|format:YYYY-MM-DD}}
**ID**: {{artifact_type}}-{{sequence|pad:3}}

Configuration

Template Metadata

Each template can have a .meta.yaml file:

name: software-architecture-document
description: Template for Software Architecture Documents
category: architecture
version: 1.0.0

variables:
  - name: project_name
    required: true
    description: Name of the project

  - name: author
    required: true
    description: Document author

  - name: version
    required: false
    default: "0.1.0"
    description: Document version

  - name: components
    required: false
    type: array
    description: List of system components

sections:
  - name: overview
    required: true
  - name: database
    required: false
    condition: has_database

output:
  location: .aiwg/architecture/
  filename: "{{project_name|kebab}}-sad.md"

Usage Examples

Basic Template Instantiation

User: "Create SAD from template"

Skill executes:
1. Find: sdlc-complete/templates/analysis-design/software-architecture-doc-template.md
2. Parse: Extract placeholders (project_name, author, etc.)
3. Gather: Prompt for required values
4. Instantiate: Replace placeholders
5. Save: .aiwg/architecture/myproject-sad.md
6. Metadata: Create .aiwg/architecture/myproject-sad.metadata.json

With Context

User: "New test plan from template for authentication module"

Context provides:
- project_name: "MyProject"
- module: "authentication"
- author: from git config

Skill uses context values, prompts for remaining.

List Available Templates

User: "What templates are available?"

Skill returns:
Architecture:
  - software-architecture-doc-template
  - adr-template
  - api-contract-template

Requirements:
  - use-case-spec-template
  - user-story-template
  - supplementary-spec-template

Testing:
  - test-plan-template
  - test-case-template
  - test-strategy-template

Template with Components

User: "Create component diagram from template with 3 components"

Skill prompts:
- Component 1 name? "API Gateway"
- Component 1 description? "External API interface"
- Component 2 name? "Auth Service"
...

Output includes all components in repeating section.

CLI Usage

# Instantiate template
python template_engine.py --template software-architecture-doc-template

# With variables
python template_engine.py --template sad \
  --var project_name="MyProject" \
  --var author="John Doe"

# Interactive mode
python template_engine.py --template test-plan --interactive

# List templates
python template_engine.py --list
python template_engine.py --list --category architecture

# Validate template
python template_engine.py --validate --template custom-template.md

# Preview without saving
python template_engine.py --template sad --preview

# Specify output location
python template_engine.py --template sad --output .aiwg/architecture/custom-name.md

Template Categories

SDLC Framework Templates

Category Templates
requirements use-case-spec, user-story, supplementary-spec, srs, glossary
architecture sad, adr, api-contract, data-flow, database-design
testing test-strategy, test-plan, test-cases, defect-card
security threat-model, security-requirements, vulnerability-plan
deployment deployment-plan, release-notes, support-runbook
management iteration-plan, risk-list, project-status

MMK Framework Templates

Category Templates
intake campaign-intake, audience-profile, brand-brief
content blog-post, case-study, whitepaper, newsletter
creative creative-brief, asset-spec, design-system
email email-campaign, email-sequence, nurture-workflow
analytics kpi-dashboard, measurement-plan, campaign-report

Integration

This skill integrates with:

  • artifact-metadata: Creates metadata for instantiated artifacts
  • artifact-orchestration: Uses templates for artifact generation
  • project-awareness: Gets context values from project state

Error Handling

Missing Template

Template 'nonexistent' not found.
Did you mean:
  - test-plan-template (testing)
  - deployment-plan-template (deployment)

Available templates: python template_engine.py --list

Missing Required Variable

Missing required variable: project_name
Description: Name of the project
Please provide: --var project_name="value"

Invalid Template Syntax

Template validation failed:
  Line 45: Unclosed conditional block {{#if has_database}}
  Line 67: Unknown variable {{unknwon_var}}

References

  • SDLC templates: sdlc-complete/templates/
  • MMK templates: media-marketing-kit/templates/
  • Template syntax: Handlebars-compatible subset
  • Metadata schema: schemas/template-meta.schema.json