Load, validate, and populate templates consistently across frameworks.
Generates project artifacts by loading templates, gathering inputs, and populating placeholders consistently across frameworks.
/plugin marketplace add jmagly/aiwg/plugin install utils@aiwgThis skill inherits all available tools. When active, it can use any tool Claude has access to.
scripts/template_engine.pyLoad, validate, and populate templates consistently across frameworks.
This skill provides a unified template instantiation engine that:
When triggered, this skill:
Locates template:
.aiwg/templates/)Parses template:
{{variable}}, {variable})Gathers inputs:
Instantiates template:
Validates output:
Saves artifact:
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
# {{project_name}} Architecture Document
**Author**: {{author}}
**Date**: {{date}}
**Version**: {{version|default:0.1.0}}
{{#if has_database}}
## Database Design
{{database_description}}
{{/if}}
## Components
{{#each components}}
### {{name}}
{{description}}
- **Owner**: {{owner}}
- **Dependencies**: {{dependencies}}
{{/each}}
{{> common/header.md}}
## Content
{{> partials/component-table.md}}
**Generated**: {{now|format:YYYY-MM-DD}}
**ID**: {{artifact_type}}-{{sequence|pad:3}}
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"
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
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.
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
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.
# 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
| 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 |
| Category | Templates |
|---|---|
| intake | campaign-intake, audience-profile, brand-brief |
| content | blog-post, case-study, whitepaper, newsletter |
| creative | creative-brief, asset-spec, design-system |
| email-campaign, email-sequence, nurture-workflow | |
| analytics | kpi-dashboard, measurement-plan, campaign-report |
This skill integrates with:
artifact-metadata: Creates metadata for instantiated artifactsartifact-orchestration: Uses templates for artifact generationproject-awareness: Gets context values from project stateTemplate 'nonexistent' not found.
Did you mean:
- test-plan-template (testing)
- deployment-plan-template (deployment)
Available templates: python template_engine.py --list
Missing required variable: project_name
Description: Name of the project
Please provide: --var project_name="value"
Template validation failed:
Line 45: Unclosed conditional block {{#if has_database}}
Line 67: Unknown variable {{unknwon_var}}
sdlc-complete/templates/media-marketing-kit/templates/schemas/template-meta.schema.jsonSearch, retrieve, and install Agent Skills from the prompts.chat registry using MCP tools. Use when the user asks to find skills, browse skill catalogs, install a skill for Claude, or extend Claude's capabilities with reusable AI agent components.
Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use for discovering, retrieving, and improving prompts.
Expert guidance for Next.js Cache Components and Partial Prerendering (PPR). **PROACTIVE ACTIVATION**: Use this skill automatically when working in Next.js projects that have `cacheComponents: true` in their next.config.ts/next.config.js. When this config is detected, proactively apply Cache Components patterns and best practices to all React Server Component implementations. **DETECTION**: At the start of a session in a Next.js project, check for `cacheComponents: true` in next.config. If enabled, this skill's patterns should guide all component authoring, data fetching, and caching decisions. **USE CASES**: Implementing 'use cache' directive, configuring cache lifetimes with cacheLife(), tagging cached data with cacheTag(), invalidating caches with updateTag()/revalidateTag(), optimizing static vs dynamic content boundaries, debugging cache issues, and reviewing Cache Component implementations.