Gomplate Manager Skill
Validate gomplate templates and configuration against Rule 095 best practices.
Activation Triggers
- User invokes
/gomplatecommand - User says "validate templates", "check gomplate"
- User says "template best practices", "audit templates"
Workflow
Step 1: Locate Configuration
Find gomplate.yaml in the project:
# Check standard locations
.claude/config/gomplate.yaml
./config/gomplate.yaml
Step 2: Run Python Validator
Execute the validation script:
# Run validation (text output)
uv run --directory ${CLAUDE_SKILLS_PATH}/gomplate-manager python -m scripts .claude/config/gomplate.yaml
# Run validation (JSON output)
uv run --directory ${CLAUDE_SKILLS_PATH}/gomplate-manager python -m scripts .claude/config/gomplate.yaml --format json
# Strict mode (treat warnings as errors)
uv run --directory ${CLAUDE_SKILLS_PATH}/gomplate-manager python -m scripts .claude/config/gomplate.yaml --strict
# Dry-run with current environment
uv run --directory ${CLAUDE_SKILLS_PATH}/gomplate-manager python -m scripts .claude/config/gomplate.yaml --dry-run
Step 3: Report Results
Present the validation report to the user with:
- Errors (must fix) - syntax errors, missing variables
- Warnings (should fix) - best practice violations
- Info (optional improvements) - style suggestions
Step 4: Offer Fixes
If violations found, ask user if they want:
- Detailed fix suggestions
- Automatic fixes applied
- Test render with mock environment
Validation Rules
| Rule ID | Severity | Description |
|---------|----------|-------------|
| config-syntax | ERROR | Valid YAML |
| config-structure | ERROR | Required fields present |
| template-syntax | ERROR | Valid Go template |
| env-access-style | WARNING | Use .Env.VAR (not getenv) |
| output-path-absolute | WARNING | Absolute paths |
| template-whitespace | INFO | Spaced delimiters |
Example Output
Gomplate Validation Report
==========================
Config: .claude/config/gomplate.yaml
Configuration:
YAML syntax: VALID
Input directory: templates/
Output mapping: CONFIGURED
Templates:
ansible.cfg: VALID (no variables)
bashrc.sh: VALID (no variables)
claude_settings.json: VALID (17 .Env references)
mcp.json: VALID (1 .Env reference)
pwsh_profile.ps1: VALID (no variables)
ssh_config.cfg: VALID (no variables)
Summary: 0 errors, 0 warnings, 0 info
Status: PASSED
Integration
This skill is invoked by:
/gomplatecommandgomplate-manageragent- Direct skill invocation