claude-code-orchestrator-kit 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/.claude/agents/database/workers/api-builder.md +155 -0
  2. package/.claude/agents/database/workers/database-architect.md +193 -0
  3. package/.claude/agents/database/workers/supabase-auditor.md +1070 -0
  4. package/.claude/agents/development/workers/code-reviewer.md +968 -0
  5. package/.claude/agents/development/workers/cost-calculator-specialist.md +683 -0
  6. package/.claude/agents/development/workers/llm-service-specialist.md +999 -0
  7. package/.claude/agents/development/workers/skill-builder-v2.md +480 -0
  8. package/.claude/agents/development/workers/typescript-types-specialist.md +649 -0
  9. package/.claude/agents/development/workers/utility-builder.md +582 -0
  10. package/.claude/agents/documentation/workers/technical-writer.md +152 -0
  11. package/.claude/agents/frontend/workers/fullstack-nextjs-specialist.md +206 -0
  12. package/.claude/agents/frontend/workers/visual-effects-creator.md +159 -0
  13. package/.claude/agents/health/orchestrators/bug-orchestrator.md +1045 -0
  14. package/.claude/agents/health/orchestrators/dead-code-orchestrator.md +1045 -0
  15. package/.claude/agents/health/orchestrators/dependency-orchestrator.md +1045 -0
  16. package/.claude/agents/health/orchestrators/security-orchestrator.md +1045 -0
  17. package/.claude/agents/health/workers/bug-fixer.md +525 -0
  18. package/.claude/agents/health/workers/bug-hunter.md +649 -0
  19. package/.claude/agents/health/workers/dead-code-hunter.md +446 -0
  20. package/.claude/agents/health/workers/dead-code-remover.md +437 -0
  21. package/.claude/agents/health/workers/dependency-auditor.md +379 -0
  22. package/.claude/agents/health/workers/dependency-updater.md +436 -0
  23. package/.claude/agents/health/workers/security-scanner.md +700 -0
  24. package/.claude/agents/health/workers/vulnerability-fixer.md +524 -0
  25. package/.claude/agents/infrastructure/workers/infrastructure-specialist.md +156 -0
  26. package/.claude/agents/infrastructure/workers/orchestration-logic-specialist.md +1260 -0
  27. package/.claude/agents/infrastructure/workers/qdrant-specialist.md +503 -0
  28. package/.claude/agents/infrastructure/workers/quality-validator-specialist.md +984 -0
  29. package/.claude/agents/meta/workers/meta-agent-v3.md +503 -0
  30. package/.claude/agents/research/workers/problem-investigator.md +507 -0
  31. package/.claude/agents/research/workers/research-specialist.md +423 -0
  32. package/.claude/agents/testing/workers/accessibility-tester.md +813 -0
  33. package/.claude/agents/testing/workers/integration-tester.md +188 -0
  34. package/.claude/agents/testing/workers/mobile-fixes-implementer.md +252 -0
  35. package/.claude/agents/testing/workers/mobile-responsiveness-tester.md +180 -0
  36. package/.claude/agents/testing/workers/performance-optimizer.md +262 -0
  37. package/.claude/agents/testing/workers/test-writer.md +800 -0
  38. package/.claude/commands/health-bugs.md +297 -0
  39. package/.claude/commands/health-cleanup.md +297 -0
  40. package/.claude/commands/health-deps.md +297 -0
  41. package/.claude/commands/health-metrics.md +747 -0
  42. package/.claude/commands/health-security.md +297 -0
  43. package/.claude/commands/push.md +21 -0
  44. package/.claude/commands/speckit.analyze.md +184 -0
  45. package/.claude/commands/speckit.checklist.md +294 -0
  46. package/.claude/commands/speckit.clarify.md +178 -0
  47. package/.claude/commands/speckit.constitution.md +78 -0
  48. package/.claude/commands/speckit.implement.md +182 -0
  49. package/.claude/commands/speckit.plan.md +87 -0
  50. package/.claude/commands/speckit.specify.md +250 -0
  51. package/.claude/commands/speckit.tasks.md +137 -0
  52. package/.claude/commands/translate-doc.md +95 -0
  53. package/.claude/commands/worktree-cleanup.md +382 -0
  54. package/.claude/commands/worktree-create.md +287 -0
  55. package/.claude/commands/worktree-list.md +239 -0
  56. package/.claude/commands/worktree-remove.md +339 -0
  57. package/.claude/schemas/base-plan.schema.json +82 -0
  58. package/.claude/schemas/bug-plan.schema.json +71 -0
  59. package/.claude/schemas/dead-code-plan.schema.json +71 -0
  60. package/.claude/schemas/dependency-plan.schema.json +74 -0
  61. package/.claude/schemas/security-plan.schema.json +71 -0
  62. package/.claude/scripts/gates/check-bundle-size.sh +47 -0
  63. package/.claude/scripts/gates/check-coverage.sh +67 -0
  64. package/.claude/scripts/gates/check-security.sh +46 -0
  65. package/.claude/scripts/release.sh +740 -0
  66. package/.claude/settings.local.json +21 -0
  67. package/.claude/settings.local.json.example +20 -0
  68. package/.claude/skills/calculate-priority-score/SKILL.md +229 -0
  69. package/.claude/skills/calculate-priority-score/scoring-matrix.json +83 -0
  70. package/.claude/skills/extract-version/SKILL.md +228 -0
  71. package/.claude/skills/format-commit-message/SKILL.md +189 -0
  72. package/.claude/skills/format-commit-message/template.md +64 -0
  73. package/.claude/skills/format-markdown-table/SKILL.md +202 -0
  74. package/.claude/skills/format-markdown-table/examples.md +84 -0
  75. package/.claude/skills/format-todo-list/SKILL.md +222 -0
  76. package/.claude/skills/format-todo-list/template.json +30 -0
  77. package/.claude/skills/generate-changelog/SKILL.md +258 -0
  78. package/.claude/skills/generate-changelog/commit-mapping.json +47 -0
  79. package/.claude/skills/generate-report-header/SKILL.md +228 -0
  80. package/.claude/skills/generate-report-header/template.md +66 -0
  81. package/.claude/skills/parse-error-logs/SKILL.md +286 -0
  82. package/.claude/skills/parse-error-logs/patterns.json +26 -0
  83. package/.claude/skills/parse-git-status/SKILL.md +164 -0
  84. package/.claude/skills/parse-package-json/SKILL.md +151 -0
  85. package/.claude/skills/parse-package-json/schema.json +43 -0
  86. package/.claude/skills/render-template/SKILL.md +245 -0
  87. package/.claude/skills/rollback-changes/SKILL.md +582 -0
  88. package/.claude/skills/rollback-changes/changes-log-schema.json +101 -0
  89. package/.claude/skills/run-quality-gate/SKILL.md +404 -0
  90. package/.claude/skills/run-quality-gate/gate-mappings.json +97 -0
  91. package/.claude/skills/validate-plan-file/SKILL.md +327 -0
  92. package/.claude/skills/validate-plan-file/schema.json +35 -0
  93. package/.claude/skills/validate-report-file/SKILL.md +256 -0
  94. package/.claude/skills/validate-report-file/schema.json +67 -0
  95. package/.env.example +49 -0
  96. package/.github/BRANCH_PROTECTION.md +137 -0
  97. package/.github/workflows/build.yml +70 -0
  98. package/.github/workflows/claude-code-review.yml +255 -0
  99. package/.github/workflows/claude.yml +79 -0
  100. package/.github/workflows/deploy-staging.yml +90 -0
  101. package/.github/workflows/test.yml +104 -0
  102. package/.gitignore +116 -0
  103. package/CLAUDE.md +137 -0
  104. package/LICENSE +72 -0
  105. package/README.md +1098 -0
  106. package/docs/ARCHITECTURE.md +746 -0
  107. package/docs/Agents Ecosystem/AGENT-ORCHESTRATION.md +568 -0
  108. package/docs/Agents Ecosystem/AI-AGENT-ECOSYSTEM-README.md +658 -0
  109. package/docs/Agents Ecosystem/ARCHITECTURE.md +606 -0
  110. package/docs/Agents Ecosystem/QUALITY-GATES-SPECIFICATION.md +1315 -0
  111. package/docs/Agents Ecosystem/REPORT-TEMPLATE-STANDARD.md +1324 -0
  112. package/docs/Agents Ecosystem/spec-kit-comprehensive-updates.md +478 -0
  113. package/docs/FAQ.md +572 -0
  114. package/docs/MIGRATION-GUIDE.md +542 -0
  115. package/docs/PERFORMANCE-OPTIMIZATION.md +494 -0
  116. package/docs/ROADMAP.md +439 -0
  117. package/docs/TUTORIAL-CUSTOM-AGENTS.md +2041 -0
  118. package/docs/USE-CASES.md +706 -0
  119. package/index.js +96 -0
  120. package/mcp/.mcp.base.json +21 -0
  121. package/mcp/.mcp.frontend.json +29 -0
  122. package/mcp/.mcp.full.json +67 -0
  123. package/mcp/.mcp.local.example.json +7 -0
  124. package/mcp/.mcp.local.json +7 -0
  125. package/mcp/.mcp.n8n.json +45 -0
  126. package/mcp/.mcp.supabase-full.json +35 -0
  127. package/mcp/.mcp.supabase-only.json +28 -0
  128. package/package.json +78 -0
  129. package/postinstall.js +71 -0
  130. package/switch-mcp.sh +101 -0
@@ -0,0 +1,164 @@
1
+ ---
2
+ name: parse-git-status
3
+ description: Parse git status output into structured data showing staged, modified, and untracked files. Use for pre-flight validation, checking clean working directory, or listing changed files before commits.
4
+ ---
5
+
6
+ # Parse Git Status
7
+
8
+ Parse git status command output into structured JSON for programmatic analysis.
9
+
10
+ ## When to Use
11
+
12
+ - Pre-flight checks before workflow execution
13
+ - Validate clean working directory
14
+ - List modified files for commit
15
+ - Check for uncommitted changes
16
+
17
+ ## Instructions
18
+
19
+ ### Step 1: Receive Git Status Output
20
+
21
+ Accept raw git status output as input.
22
+
23
+ **Expected Input**:
24
+ - `gitStatusOutput`: String (raw output from `git status --porcelain` or regular `git status`)
25
+
26
+ ### Step 2: Parse Branch Information
27
+
28
+ Extract current branch and tracking information.
29
+
30
+ **Patterns**:
31
+ - `## branch-name`: Current branch
32
+ - `## branch-name...origin/branch-name`: Tracking branch
33
+ - `[ahead N]` or `[behind N]`: Ahead/behind commits
34
+
35
+ ### Step 3: Categorize Files
36
+
37
+ Parse file status indicators and categorize.
38
+
39
+ **Status Indicators** (porcelain format):
40
+ - `M `: Modified (staged)
41
+ - ` M`: Modified (unstaged)
42
+ - `A `: Added (staged)
43
+ - `D `: Deleted (staged)
44
+ - `R `: Renamed (staged)
45
+ - `??`: Untracked
46
+ - `!!`: Ignored
47
+
48
+ ### Step 4: Return Structured Data
49
+
50
+ Return parsed data as JSON object.
51
+
52
+ **Expected Output**:
53
+ ```json
54
+ {
55
+ "branch": "main",
56
+ "tracking": "origin/main",
57
+ "ahead": 0,
58
+ "behind": 0,
59
+ "staged": ["file1.ts", "file2.ts"],
60
+ "modified": ["file3.ts"],
61
+ "deleted": [],
62
+ "renamed": [],
63
+ "untracked": ["file4.ts"],
64
+ "clean": false
65
+ }
66
+ ```
67
+
68
+ ## Error Handling
69
+
70
+ - **Invalid Git Output**: Return error describing format issue
71
+ - **Not a Git Repository**: Return error indicating no git repo
72
+ - **Empty Output**: Return clean status with empty arrays
73
+
74
+ ## Examples
75
+
76
+ ### Example 1: Clean Working Directory
77
+
78
+ **Input**:
79
+ ```
80
+ On branch main
81
+ Your branch is up to date with 'origin/main'.
82
+
83
+ nothing to commit, working tree clean
84
+ ```
85
+
86
+ **Output**:
87
+ ```json
88
+ {
89
+ "branch": "main",
90
+ "tracking": "origin/main",
91
+ "ahead": 0,
92
+ "behind": 0,
93
+ "staged": [],
94
+ "modified": [],
95
+ "deleted": [],
96
+ "renamed": [],
97
+ "untracked": [],
98
+ "clean": true
99
+ }
100
+ ```
101
+
102
+ ### Example 2: Modified Files
103
+
104
+ **Input** (porcelain format):
105
+ ```
106
+ ## main...origin/main [ahead 2]
107
+ M src/utils.ts
108
+ M src/types.ts
109
+ A src/new-feature.ts
110
+ ?? temp-file.js
111
+ ```
112
+
113
+ **Output**:
114
+ ```json
115
+ {
116
+ "branch": "main",
117
+ "tracking": "origin/main",
118
+ "ahead": 2,
119
+ "behind": 0,
120
+ "staged": ["src/utils.ts", "src/new-feature.ts"],
121
+ "modified": ["src/types.ts"],
122
+ "deleted": [],
123
+ "renamed": [],
124
+ "untracked": ["temp-file.js"],
125
+ "clean": false
126
+ }
127
+ ```
128
+
129
+ ### Example 3: Detached HEAD
130
+
131
+ **Input**:
132
+ ```
133
+ ## HEAD (no branch)
134
+ M README.md
135
+ ```
136
+
137
+ **Output**:
138
+ ```json
139
+ {
140
+ "branch": "HEAD (detached)",
141
+ "tracking": null,
142
+ "ahead": 0,
143
+ "behind": 0,
144
+ "staged": [],
145
+ "modified": ["README.md"],
146
+ "deleted": [],
147
+ "renamed": [],
148
+ "untracked": [],
149
+ "clean": false
150
+ }
151
+ ```
152
+
153
+ ## Validation
154
+
155
+ - [ ] Parses branch information correctly
156
+ - [ ] Categorizes files by status
157
+ - [ ] Handles empty/clean status
158
+ - [ ] Parses ahead/behind indicators
159
+ - [ ] Handles detached HEAD state
160
+ - [ ] Returns clean:true only when appropriate
161
+
162
+ ## Supporting Files
163
+
164
+ None required - pure parsing logic.
@@ -0,0 +1,151 @@
1
+ ---
2
+ name: parse-package-json
3
+ description: Extract version, dependencies, and metadata from package.json files. Use when needing project version, dependency list, or package metadata for releases, audits, or reports.
4
+ allowed-tools: Read
5
+ ---
6
+
7
+ # Parse Package JSON
8
+
9
+ Extract structured data from package.json files for version management, dependency auditing, and metadata retrieval.
10
+
11
+ ## When to Use
12
+
13
+ - Get current project version for release workflows
14
+ - Extract dependency list for auditing
15
+ - Read package metadata for reports
16
+ - Validate package.json structure
17
+
18
+ ## Instructions
19
+
20
+ ### Step 1: Read package.json
21
+
22
+ Use Read tool to load package.json file.
23
+
24
+ **Expected Input**:
25
+ - `file_path`: Path to package.json (default: `./package.json`)
26
+
27
+ **Tools Used**: Read
28
+
29
+ ### Step 2: Parse JSON
30
+
31
+ Parse the JSON content and validate structure.
32
+
33
+ **Validation**:
34
+ - File must be valid JSON
35
+ - Must contain `name` and `version` fields at minimum
36
+ - Dependencies should be objects (if present)
37
+
38
+ ### Step 3: Extract Fields
39
+
40
+ Extract relevant fields into structured output.
41
+
42
+ **Fields to Extract**:
43
+ - `version`: Semantic version string
44
+ - `name`: Package name
45
+ - `description`: Package description (optional)
46
+ - `dependencies`: Production dependencies object (optional)
47
+ - `devDependencies`: Development dependencies object (optional)
48
+ - `scripts`: Available npm scripts (optional)
49
+ - `main`: Entry point file (optional)
50
+ - `private`: Private flag (optional)
51
+
52
+ ### Step 4: Return Structured Data
53
+
54
+ Return extracted data as JSON object.
55
+
56
+ **Expected Output**:
57
+ ```json
58
+ {
59
+ "version": "0.7.0",
60
+ "name": "megacampus2",
61
+ "description": "Project description",
62
+ "dependencies": {
63
+ "react": "^18.2.0"
64
+ },
65
+ "devDependencies": {
66
+ "typescript": "^5.0.0"
67
+ },
68
+ "scripts": {
69
+ "build": "tsc",
70
+ "test": "jest"
71
+ },
72
+ "main": "dist/index.js",
73
+ "private": true
74
+ }
75
+ ```
76
+
77
+ ## Error Handling
78
+
79
+ - **File Not Found**: Return error with message "package.json not found at {path}"
80
+ - **Invalid JSON**: Return error with parsing details
81
+ - **Missing Required Fields**: Return error listing missing fields (name, version)
82
+ - **Invalid Structure**: Return error describing structure issue
83
+
84
+ ## Examples
85
+
86
+ ### Example 1: Extract Version
87
+
88
+ **Input**:
89
+ ```
90
+ file_path: ./package.json
91
+ ```
92
+
93
+ **Output**:
94
+ ```json
95
+ {
96
+ "version": "0.7.0",
97
+ "name": "megacampus2"
98
+ }
99
+ ```
100
+
101
+ ### Example 2: Full Package Info
102
+
103
+ **Input**:
104
+ ```
105
+ file_path: ./packages/client/package.json
106
+ ```
107
+
108
+ **Output**:
109
+ ```json
110
+ {
111
+ "version": "1.2.3",
112
+ "name": "@megacampus/client",
113
+ "dependencies": {
114
+ "react": "^18.2.0",
115
+ "react-dom": "^18.2.0"
116
+ },
117
+ "scripts": {
118
+ "dev": "vite",
119
+ "build": "vite build"
120
+ }
121
+ }
122
+ ```
123
+
124
+ ### Example 3: Error - File Not Found
125
+
126
+ **Input**:
127
+ ```
128
+ file_path: ./nonexistent.json
129
+ ```
130
+
131
+ **Output**:
132
+ ```json
133
+ {
134
+ "error": "package.json not found at ./nonexistent.json",
135
+ "success": false
136
+ }
137
+ ```
138
+
139
+ ## Validation
140
+
141
+ - [ ] Can read package.json from default path
142
+ - [ ] Can read package.json from custom path
143
+ - [ ] Extracts all specified fields correctly
144
+ - [ ] Handles missing optional fields gracefully
145
+ - [ ] Returns error for missing file
146
+ - [ ] Returns error for invalid JSON
147
+ - [ ] Returns error for missing required fields
148
+
149
+ ## Supporting Files
150
+
151
+ - `schema.json`: JSON schema defining expected package.json structure
@@ -0,0 +1,43 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "package.json Schema",
4
+ "type": "object",
5
+ "required": ["name", "version"],
6
+ "properties": {
7
+ "name": {
8
+ "type": "string",
9
+ "pattern": "^(@[a-z0-9-~][a-z0-9-._~]*/)?[a-z0-9-~][a-z0-9-._~]*$"
10
+ },
11
+ "version": {
12
+ "type": "string",
13
+ "pattern": "^\\d+\\.\\d+\\.\\d+(-[a-zA-Z0-9.-]+)?(\\+[a-zA-Z0-9.-]+)?$"
14
+ },
15
+ "description": {
16
+ "type": "string"
17
+ },
18
+ "main": {
19
+ "type": "string"
20
+ },
21
+ "private": {
22
+ "type": "boolean"
23
+ },
24
+ "scripts": {
25
+ "type": "object",
26
+ "additionalProperties": {
27
+ "type": "string"
28
+ }
29
+ },
30
+ "dependencies": {
31
+ "type": "object",
32
+ "additionalProperties": {
33
+ "type": "string"
34
+ }
35
+ },
36
+ "devDependencies": {
37
+ "type": "object",
38
+ "additionalProperties": {
39
+ "type": "string"
40
+ }
41
+ }
42
+ }
43
+ }
@@ -0,0 +1,245 @@
1
+ ---
2
+ name: render-template
3
+ description: Render templates with variable substitution using {{variable}} or ${variable} syntax. Use for generating formatted output, reports, commit messages, or any text requiring variable interpolation.
4
+ ---
5
+
6
+ # Render Template
7
+
8
+ Render templates with variable substitution, supporting various syntax formats and helper functions.
9
+
10
+ ## When to Use
11
+
12
+ - Format commit messages with dynamic data
13
+ - Generate report sections with variables
14
+ - Create formatted outputs from templates
15
+ - Replace placeholders in text templates
16
+ - Consolidate formatting logic across Skills
17
+
18
+ ## Instructions
19
+
20
+ ### Step 1: Receive Template and Data
21
+
22
+ Accept template string and variable data.
23
+
24
+ **Expected Input**:
25
+ - `template`: String (template with placeholders)
26
+ - `variables`: Object (key-value pairs for substitution)
27
+ - `syntax`: String (optional: mustache|shell|mixed, default: mustache)
28
+
29
+ **Supported Syntax**:
30
+ - **Mustache**: `{{variable}}`, `{{object.property}}`
31
+ - **Shell**: `${variable}`, `${VARIABLE}`
32
+ - **Mixed**: Supports both
33
+
34
+ ### Step 2: Parse Template
35
+
36
+ Identify all placeholders in template.
37
+
38
+ **Placeholder Patterns**:
39
+ - `{{variable}}`: Simple variable
40
+ - `{{object.property}}`: Nested property
41
+ - `{{#if condition}}...{{/if}}`: Conditional (optional)
42
+ - `{{#each array}}...{{/each}}`: Loop (optional)
43
+
44
+ ### Step 3: Resolve Variables
45
+
46
+ Replace placeholders with values from variables object.
47
+
48
+ **Resolution Rules**:
49
+ - Direct match: `{{name}}` → `variables.name`
50
+ - Nested property: `{{user.name}}` → `variables.user.name`
51
+ - Missing variable: Replace with empty string or keep placeholder (configurable)
52
+ - Undefined: Replace with empty string
53
+
54
+ ### Step 4: Apply Filters (Optional)
55
+
56
+ Support simple filters if specified.
57
+
58
+ **Common Filters**:
59
+ - `{{variable | uppercase}}`: Convert to uppercase
60
+ - `{{variable | lowercase}}`: Convert to lowercase
61
+ - `{{variable | capitalize}}`: Capitalize first letter
62
+ - `{{date | format:YYYY-MM-DD}}`: Format date
63
+
64
+ ### Step 5: Return Rendered Output
65
+
66
+ Return final rendered string.
67
+
68
+ **Expected Output**: String (template with variables replaced)
69
+
70
+ ## Error Handling
71
+
72
+ - **Missing Variables**: Replace with empty string or warn (configurable)
73
+ - **Invalid Template Syntax**: Return error describing syntax issue
74
+ - **Circular References**: Detect and return error
75
+ - **Type Mismatch**: Convert to string automatically
76
+
77
+ ## Examples
78
+
79
+ ### Example 1: Simple Variable Substitution
80
+
81
+ **Input**:
82
+ ```json
83
+ {
84
+ "template": "Hello {{name}}, your score is {{score}}!",
85
+ "variables": {
86
+ "name": "Alice",
87
+ "score": 95
88
+ },
89
+ "syntax": "mustache"
90
+ }
91
+ ```
92
+
93
+ **Output**:
94
+ ```
95
+ Hello Alice, your score is 95!
96
+ ```
97
+
98
+ ### Example 2: Nested Properties
99
+
100
+ **Input**:
101
+ ```json
102
+ {
103
+ "template": "User: {{user.name}} ({{user.email}})\nRole: {{user.role}}",
104
+ "variables": {
105
+ "user": {
106
+ "name": "Bob",
107
+ "email": "bob@example.com",
108
+ "role": "admin"
109
+ }
110
+ }
111
+ }
112
+ ```
113
+
114
+ **Output**:
115
+ ```
116
+ User: Bob (bob@example.com)
117
+ Role: admin
118
+ ```
119
+
120
+ ### Example 3: Shell Syntax
121
+
122
+ **Input**:
123
+ ```json
124
+ {
125
+ "template": "Version: ${VERSION}\nDate: ${RELEASE_DATE}",
126
+ "variables": {
127
+ "VERSION": "0.8.0",
128
+ "RELEASE_DATE": "2025-10-17"
129
+ },
130
+ "syntax": "shell"
131
+ }
132
+ ```
133
+
134
+ **Output**:
135
+ ```
136
+ Version: 0.8.0
137
+ Date: 2025-10-17
138
+ ```
139
+
140
+ ### Example 4: Commit Message Template
141
+
142
+ **Input**:
143
+ ```json
144
+ {
145
+ "template": "{{type}}({{scope}}): {{description}}\n\n{{body}}\n\nšŸ¤– Generated with Claude Code\nCo-Authored-By: Claude <noreply@anthropic.com>",
146
+ "variables": {
147
+ "type": "feat",
148
+ "scope": "auth",
149
+ "description": "add OAuth2 support",
150
+ "body": "Implemented OAuth2 flow with token refresh.\nSupports Google and GitHub providers."
151
+ }
152
+ }
153
+ ```
154
+
155
+ **Output**:
156
+ ```
157
+ feat(auth): add OAuth2 support
158
+
159
+ Implemented OAuth2 flow with token refresh.
160
+ Supports Google and GitHub providers.
161
+
162
+ šŸ¤– Generated with Claude Code
163
+ Co-Authored-By: Claude <noreply@anthropic.com>
164
+ ```
165
+
166
+ ### Example 5: Missing Variables
167
+
168
+ **Input**:
169
+ ```json
170
+ {
171
+ "template": "Name: {{name}}\nAge: {{age}}\nCity: {{city}}",
172
+ "variables": {
173
+ "name": "Alice"
174
+ }
175
+ }
176
+ ```
177
+
178
+ **Output (with empty string replacement)**:
179
+ ```
180
+ Name: Alice
181
+ Age:
182
+ City:
183
+ ```
184
+
185
+ **Output (with keep placeholder)**:
186
+ ```
187
+ Name: Alice
188
+ Age: {{age}}
189
+ City: {{city}}
190
+ ```
191
+
192
+ ### Example 6: Report Header Template
193
+
194
+ **Input**:
195
+ ```json
196
+ {
197
+ "template": "# {{reportType}} Report: {{version}}\n\n**Generated**: {{timestamp}}\n**Status**: {{statusEmoji}} {{status}}\n**Version**: {{version}}",
198
+ "variables": {
199
+ "reportType": "Bug Hunting",
200
+ "version": "2025-10-17",
201
+ "timestamp": "2025-10-17 14:30:00 UTC",
202
+ "statusEmoji": "āœ…",
203
+ "status": "success"
204
+ }
205
+ }
206
+ ```
207
+
208
+ **Output**:
209
+ ```markdown
210
+ # Bug Hunting Report: 2025-10-17
211
+
212
+ **Generated**: 2025-10-17 14:30:00 UTC
213
+ **Status**: āœ… success
214
+ **Version**: 2025-10-17
215
+ ```
216
+
217
+ ## Validation
218
+
219
+ - [ ] Replaces simple variables correctly
220
+ - [ ] Handles nested properties
221
+ - [ ] Supports multiple syntax formats
222
+ - [ ] Handles missing variables gracefully
223
+ - [ ] Converts types to strings
224
+ - [ ] Preserves formatting (line breaks, indentation)
225
+ - [ ] Detects circular references
226
+ - [ ] Returns clear error messages
227
+
228
+ ## Supporting Files
229
+
230
+ None required - pure template rendering logic.
231
+
232
+ ## Integration with Other Skills
233
+
234
+ This Skill consolidates formatting logic used by:
235
+ - **format-commit-message**: Use render-template for message formatting
236
+ - **generate-report-header**: Use render-template for header generation
237
+ - **format-todo-list**: Use render-template for activeForm generation
238
+ - **generate-changelog**: Use render-template for section formatting
239
+
240
+ **Example Integration**:
241
+ ```
242
+ Instead of: Hard-coded string formatting in each Skill
243
+ Use: render-template Skill with predefined templates
244
+ Result: Consistent formatting, easier to maintain
245
+ ```