@atlashub/smartstack-cli 1.36.0 → 2.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.
- package/config/mcp-defaults.json +62 -0
- package/dist/index.js +57 -4
- package/dist/index.js.map +1 -1
- package/dist/mcp-entry.mjs +16984 -0
- package/dist/mcp-entry.mjs.map +1 -0
- package/package.json +14 -5
- package/templates/agents/gitflow/start.md +5 -4
- package/templates/agents/mcp-healthcheck.md +15 -13
- package/templates/mcp-scaffolding/component.tsx.hbs +298 -0
- package/templates/mcp-scaffolding/controller.cs.hbs +184 -0
- package/templates/mcp-scaffolding/entity-extension.cs.hbs +231 -0
- package/templates/mcp-scaffolding/frontend/api-client.ts.hbs +116 -0
- package/templates/mcp-scaffolding/frontend/nav-routes.ts.hbs +133 -0
- package/templates/mcp-scaffolding/frontend/routes.tsx.hbs +134 -0
- package/templates/mcp-scaffolding/migrations/seed-roles.cs.hbs +261 -0
- package/templates/mcp-scaffolding/service-extension.cs.hbs +53 -0
- package/templates/mcp-scaffolding/tests/controller.test.cs.hbs +413 -0
- package/templates/mcp-scaffolding/tests/entity.test.cs.hbs +239 -0
- package/templates/mcp-scaffolding/tests/repository.test.cs.hbs +441 -0
- package/templates/mcp-scaffolding/tests/security.test.cs.hbs +442 -0
- package/templates/mcp-scaffolding/tests/service.test.cs.hbs +390 -0
- package/templates/mcp-scaffolding/tests/validator.test.cs.hbs +428 -0
- package/templates/ralph/README.md +3 -3
- package/templates/ralph/ralph.config.yaml +2 -2
- package/templates/skills/admin/SKILL.md +42 -0
- package/templates/skills/application/steps/step-01-navigation.md +226 -43
- package/templates/skills/application/steps/step-03-roles.md +160 -38
- package/templates/skills/application/steps/step-04-backend.md +109 -2
- package/templates/skills/application/templates-seed.md +200 -1
- package/templates/skills/business-analyse/_shared.md +24 -1
- package/templates/skills/business-analyse/questionnaire/01-context.md +4 -4
- package/templates/skills/business-analyse/questionnaire/02-stakeholders.md +3 -3
- package/templates/skills/business-analyse/questionnaire/03-scope.md +4 -4
- package/templates/skills/business-analyse/questionnaire/04-data.md +7 -7
- package/templates/skills/business-analyse/questionnaire/05-integrations.md +1 -1
- package/templates/skills/business-analyse/questionnaire/06-security.md +3 -3
- package/templates/skills/business-analyse/questionnaire/07-ui.md +1 -1
- package/templates/skills/business-analyse/questionnaire/08-performance.md +3 -3
- package/templates/skills/business-analyse/questionnaire/09-constraints.md +4 -4
- package/templates/skills/business-analyse/questionnaire/10-documentation.md +2 -2
- package/templates/skills/business-analyse/questionnaire/11-data-lifecycle.md +2 -2
- package/templates/skills/business-analyse/questionnaire/12-migration.md +1 -1
- package/templates/skills/business-analyse/questionnaire/13-cross-module.md +2 -2
- package/templates/skills/business-analyse/steps/step-01-discover.md +50 -25
- package/templates/skills/business-analyse/steps/step-05-handoff.md +133 -34
- package/templates/skills/cc-agent/SKILL.md +129 -0
- package/templates/skills/cc-agent/references/agent-frontmatter.md +213 -0
- package/templates/skills/cc-agent/references/permission-modes.md +102 -0
- package/templates/skills/cc-agent/references/tools-reference.md +144 -0
- package/templates/skills/cc-agent/steps/step-00-init.md +134 -0
- package/templates/skills/cc-agent/steps/step-01-design.md +186 -0
- package/templates/skills/cc-agent/steps/step-02-generate.md +204 -0
- package/templates/skills/cc-agent/steps/step-03-validate.md +130 -0
- package/templates/skills/cc-agent/templates/agent-categorized.md +67 -0
- package/templates/skills/cc-agent/templates/agent-standalone.md +56 -0
- package/templates/skills/cc-agent/templates/agent-with-skills.md +94 -0
- package/templates/skills/cc-audit/SKILL.md +108 -0
- package/templates/skills/cc-audit/references/agent-checklist.md +91 -0
- package/templates/skills/cc-audit/references/hook-checklist.md +110 -0
- package/templates/skills/cc-audit/references/skill-checklist.md +70 -0
- package/templates/skills/cc-audit/steps/step-00-init.md +98 -0
- package/templates/skills/cc-audit/steps/step-01-scan.md +142 -0
- package/templates/skills/cc-audit/steps/step-02-analyze.md +158 -0
- package/templates/skills/cc-audit/steps/step-03-report.md +142 -0
- package/templates/skills/cc-skill/SKILL.md +134 -0
- package/templates/skills/cc-skill/references/best-practices.md +167 -0
- package/templates/skills/cc-skill/references/frontmatter-reference.md +182 -0
- package/templates/skills/cc-skill/references/skill-patterns.md +199 -0
- package/templates/skills/cc-skill/steps/step-00-init.md +119 -0
- package/templates/skills/cc-skill/steps/step-01-design.md +199 -0
- package/templates/skills/cc-skill/steps/step-02-generate.md +145 -0
- package/templates/skills/cc-skill/steps/step-03-steps.md +151 -0
- package/templates/skills/cc-skill/steps/step-04-validate.md +124 -0
- package/templates/skills/cc-skill/templates/skill-forked.md +85 -0
- package/templates/skills/cc-skill/templates/skill-progressive.md +102 -0
- package/templates/skills/cc-skill/templates/skill-simple.md +75 -0
- package/templates/skills/cc-skill/templates/step-template.md +82 -0
- package/templates/skills/check-version/SKILL.md +6 -0
- package/templates/skills/debug/SKILL.md +4 -0
- package/templates/skills/documentation/SKILL.md +1 -0
- package/templates/skills/efcore/SKILL.md +5 -0
- package/templates/skills/efcore/steps/db/step-deploy.md +26 -5
- package/templates/skills/efcore/steps/shared/step-00-init.md +21 -7
- package/templates/skills/explore/SKILL.md +28 -32
- package/templates/skills/feature-full/SKILL.md +1 -0
- package/templates/skills/gitflow/SKILL.md +8 -0
- package/templates/skills/gitflow/steps/step-start.md +45 -10
- package/templates/skills/mcp/SKILL.md +38 -18
- package/templates/skills/quick-search/SKILL.md +8 -1
- package/templates/skills/ralph-loop/SKILL.md +1 -1
- package/templates/skills/ralph-loop/steps/step-00-init.md +8 -68
- package/templates/skills/ralph-loop/steps/step-04-check.md +1 -1
- package/templates/skills/refactor/SKILL.md +1 -0
- package/templates/skills/review-code/SKILL.md +7 -1
- package/templates/skills/ui-components/SKILL.md +31 -438
- package/templates/skills/ui-components/accessibility.md +170 -0
- package/templates/skills/ui-components/patterns/data-table.md +39 -0
- package/templates/skills/ui-components/patterns/entity-card.md +77 -0
- package/templates/skills/ui-components/patterns/grid-layout.md +91 -0
- package/templates/skills/ui-components/patterns/kanban.md +43 -0
- package/templates/skills/ui-components/style-guide.md +86 -0
- package/templates/skills/utils/SKILL.md +1 -0
- package/templates/skills/validate/SKILL.md +1 -0
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: step-01-design
|
|
3
|
+
description: Design agent - choose model, tools, permissions, skills to preload
|
|
4
|
+
next_step: steps/step-02-generate.md
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Step 1: Design Agent
|
|
8
|
+
|
|
9
|
+
## MANDATORY EXECUTION RULES:
|
|
10
|
+
- ALWAYS ask the user for design decisions (don't assume)
|
|
11
|
+
- For UPDATE: show current values and ask what to change
|
|
12
|
+
- Load reference docs for guidance
|
|
13
|
+
- Tools should follow principle of least privilege
|
|
14
|
+
|
|
15
|
+
## YOUR TASK:
|
|
16
|
+
Guide the user through agent design decisions. Gather model, tools, permissions, skills, and system prompt content.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## EXECUTION SEQUENCE:
|
|
21
|
+
|
|
22
|
+
### 1. Load References
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
Read: "references/agent-frontmatter.md"
|
|
26
|
+
Read: "references/tools-reference.md"
|
|
27
|
+
Read: "references/permission-modes.md"
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### 2. Gather Description
|
|
31
|
+
|
|
32
|
+
```yaml
|
|
33
|
+
AskUserQuestion:
|
|
34
|
+
header: "Purpose"
|
|
35
|
+
question: "Describe what this agent does and WHEN Claude should delegate to it. Be specific - Claude uses this to decide delegation. Example: 'Expert code reviewer for PR analysis. Use when reviewing code changes for security, logic, or performance.'"
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Store in {description}.
|
|
39
|
+
|
|
40
|
+
### 3. Choose Model
|
|
41
|
+
|
|
42
|
+
```yaml
|
|
43
|
+
AskUserQuestion:
|
|
44
|
+
header: "Model"
|
|
45
|
+
question: "Which model should this agent use?"
|
|
46
|
+
options:
|
|
47
|
+
- label: "Haiku (Recommended for fast tasks)"
|
|
48
|
+
description: "Fast and cheap. Best for: search, scan, simple checks, read-only tasks."
|
|
49
|
+
- label: "Sonnet"
|
|
50
|
+
description: "Balanced. Best for: code generation, analysis, most tasks."
|
|
51
|
+
- label: "Opus"
|
|
52
|
+
description: "Most capable. Best for: complex reasoning, architecture, planning."
|
|
53
|
+
- label: "Inherit"
|
|
54
|
+
description: "Use parent's model. Best when you don't want to override."
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### 4. Choose Tools
|
|
58
|
+
|
|
59
|
+
```yaml
|
|
60
|
+
AskUserQuestion:
|
|
61
|
+
header: "Tools"
|
|
62
|
+
question: "What tools does this agent need?"
|
|
63
|
+
options:
|
|
64
|
+
- label: "Read-only"
|
|
65
|
+
description: "Read, Grep, Glob - safe exploration only"
|
|
66
|
+
- label: "Read + Write"
|
|
67
|
+
description: "Read, Write, Edit, Grep, Glob - file modifications"
|
|
68
|
+
- label: "Full dev"
|
|
69
|
+
description: "Read, Write, Edit, Bash, Grep, Glob, WebFetch, WebSearch"
|
|
70
|
+
- label: "Custom"
|
|
71
|
+
description: "I'll specify the exact tool list"
|
|
72
|
+
multiSelect: false
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
If "Custom" selected, ask for comma-separated list.
|
|
76
|
+
|
|
77
|
+
Map selections:
|
|
78
|
+
- Read-only → "Read, Grep, Glob"
|
|
79
|
+
- Read + Write → "Read, Write, Edit, Grep, Glob"
|
|
80
|
+
- Full dev → "Read, Write, Edit, Bash, Grep, Glob, WebFetch, WebSearch"
|
|
81
|
+
|
|
82
|
+
Also ask about disallowed tools:
|
|
83
|
+
|
|
84
|
+
```yaml
|
|
85
|
+
AskUserQuestion:
|
|
86
|
+
header: "Blocked"
|
|
87
|
+
question: "Should any tools be explicitly blocked? (Usually not needed)"
|
|
88
|
+
options:
|
|
89
|
+
- label: "None (Recommended)"
|
|
90
|
+
description: "Don't block any tools beyond the allowed list"
|
|
91
|
+
- label: "Block Bash"
|
|
92
|
+
description: "Prevent command execution"
|
|
93
|
+
- label: "Block Write/Edit"
|
|
94
|
+
description: "Read-only, no file modifications"
|
|
95
|
+
- label: "Custom"
|
|
96
|
+
description: "I'll specify tools to block"
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### 5. Choose Permission Mode
|
|
100
|
+
|
|
101
|
+
```yaml
|
|
102
|
+
AskUserQuestion:
|
|
103
|
+
header: "Permissions"
|
|
104
|
+
question: "How should this agent handle permission prompts?"
|
|
105
|
+
options:
|
|
106
|
+
- label: "Default (Recommended)"
|
|
107
|
+
description: "Standard permission prompts for sensitive operations"
|
|
108
|
+
- label: "Accept Edits"
|
|
109
|
+
description: "Auto-accept file edits. Good for code generation agents."
|
|
110
|
+
- label: "Plan (read-only)"
|
|
111
|
+
description: "Read-only exploration mode. No modifications allowed."
|
|
112
|
+
- label: "Don't Ask"
|
|
113
|
+
description: "Auto-deny all permission prompts. For background tasks."
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### 6. Choose Skills to Preload (optional)
|
|
117
|
+
|
|
118
|
+
```yaml
|
|
119
|
+
AskUserQuestion:
|
|
120
|
+
header: "Skills"
|
|
121
|
+
question: "Should any skills be preloaded into this agent? Preloaded skills inject their full content at startup."
|
|
122
|
+
options:
|
|
123
|
+
- label: "None (Recommended)"
|
|
124
|
+
description: "Agent operates without preloaded skills"
|
|
125
|
+
- label: "Select skills"
|
|
126
|
+
description: "I'll choose which skills to preload"
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
If "Select skills", list available skills and let user choose.
|
|
130
|
+
|
|
131
|
+
### 7. Design System Prompt
|
|
132
|
+
|
|
133
|
+
Ask the user to describe the agent's behavior:
|
|
134
|
+
|
|
135
|
+
```yaml
|
|
136
|
+
AskUserQuestion:
|
|
137
|
+
header: "Behavior"
|
|
138
|
+
question: "Describe the agent's behavior pattern. Choose a template or describe custom behavior."
|
|
139
|
+
options:
|
|
140
|
+
- label: "Explorer"
|
|
141
|
+
description: "Search codebase, read files, report findings. Workflow: Search → Read → Analyze → Report."
|
|
142
|
+
- label: "Modifier"
|
|
143
|
+
description: "Read code, make changes, validate. Workflow: Read → Edit → Validate → Report."
|
|
144
|
+
- label: "Validator"
|
|
145
|
+
description: "Check conventions, rules, quality. Workflow: Scan → Check → Report issues."
|
|
146
|
+
- label: "Custom"
|
|
147
|
+
description: "I'll describe the workflow and behavior"
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
If "Custom", ask for detailed description of:
|
|
151
|
+
1. What the agent does when invoked
|
|
152
|
+
2. The workflow steps (numbered)
|
|
153
|
+
3. Key execution rules
|
|
154
|
+
4. Output format
|
|
155
|
+
|
|
156
|
+
### 8. Show Design Summary
|
|
157
|
+
|
|
158
|
+
```
|
|
159
|
+
Agent Design:
|
|
160
|
+
|
|
161
|
+
| Field | Value |
|
|
162
|
+
|-------|-------|
|
|
163
|
+
| Name | {agent_name} |
|
|
164
|
+
| Description | {description} (truncated) |
|
|
165
|
+
| Model | {model} |
|
|
166
|
+
| Tools | {tools} |
|
|
167
|
+
| Blocked tools | {disallowed_tools} |
|
|
168
|
+
| Permission mode | {permission_mode} |
|
|
169
|
+
| Preloaded skills | {preloaded_skills} |
|
|
170
|
+
| Behavior pattern | {pattern} |
|
|
171
|
+
| Category | {category} |
|
|
172
|
+
|
|
173
|
+
→ Generating agent file...
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## SUCCESS METRICS:
|
|
179
|
+
- All required fields gathered from user
|
|
180
|
+
- Model choice appropriate for agent's purpose
|
|
181
|
+
- Tools follow least privilege principle
|
|
182
|
+
- Permission mode matches risk level
|
|
183
|
+
- System prompt pattern identified
|
|
184
|
+
|
|
185
|
+
## NEXT STEP:
|
|
186
|
+
After design is confirmed, proceed directly to `./step-02-generate.md`
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: step-02-generate
|
|
3
|
+
description: Generate agent .md file from template based on design choices
|
|
4
|
+
next_step: steps/step-03-validate.md
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Step 2: Generate Agent File
|
|
8
|
+
|
|
9
|
+
## MANDATORY EXECUTION RULES:
|
|
10
|
+
- ALWAYS load the appropriate template from `templates/` directory
|
|
11
|
+
- ALWAYS use the design choices from Step 1
|
|
12
|
+
- For UPDATE: read existing agent first, then apply changes
|
|
13
|
+
- Generate COMPLETE agent file (not a stub)
|
|
14
|
+
|
|
15
|
+
## YOUR TASK:
|
|
16
|
+
Generate the agent .md file based on the design choices gathered in Step 1.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## EXECUTION SEQUENCE:
|
|
21
|
+
|
|
22
|
+
### 1. Load Template
|
|
23
|
+
|
|
24
|
+
Based on agent configuration:
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
Standalone (no category) → Read: "templates/agent-standalone.md"
|
|
28
|
+
Categorized (with category) → Read: "templates/agent-categorized.md"
|
|
29
|
+
With preloaded skills → Read: "templates/agent-with-skills.md"
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### 2. Create Directory (if needed)
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
# For categorized agents
|
|
36
|
+
mkdir -p {target_dir}/{category}/
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### 3. Generate Frontmatter
|
|
40
|
+
|
|
41
|
+
Build the YAML frontmatter from design choices:
|
|
42
|
+
|
|
43
|
+
```yaml
|
|
44
|
+
---
|
|
45
|
+
name: {agent_name}
|
|
46
|
+
description: {description}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Add optional fields only if they differ from defaults:
|
|
50
|
+
|
|
51
|
+
```yaml
|
|
52
|
+
# Only if not inherit
|
|
53
|
+
model: {model}
|
|
54
|
+
|
|
55
|
+
# Only if explicitly specified
|
|
56
|
+
tools: "{tools}"
|
|
57
|
+
|
|
58
|
+
# Only if blocking specific tools
|
|
59
|
+
disallowedTools: "{disallowed_tools}"
|
|
60
|
+
|
|
61
|
+
# Only if not default
|
|
62
|
+
permissionMode: {permission_mode}
|
|
63
|
+
|
|
64
|
+
# Only if preloading skills
|
|
65
|
+
skills:
|
|
66
|
+
- {skill_1}
|
|
67
|
+
- {skill_2}
|
|
68
|
+
|
|
69
|
+
# Optional visual indicator
|
|
70
|
+
color: {color}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Close frontmatter:
|
|
74
|
+
```yaml
|
|
75
|
+
---
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### 4. Generate System Prompt Content
|
|
79
|
+
|
|
80
|
+
Based on the behavior pattern chosen in Step 1:
|
|
81
|
+
|
|
82
|
+
**Explorer pattern:**
|
|
83
|
+
```markdown
|
|
84
|
+
You are a specialized exploration agent for {purpose}.
|
|
85
|
+
|
|
86
|
+
## Workflow
|
|
87
|
+
|
|
88
|
+
1. **Search**: Use Grep and Glob to find relevant files
|
|
89
|
+
2. **Read**: Load and analyze discovered files
|
|
90
|
+
3. **Analyze**: Identify patterns, dependencies, and relationships
|
|
91
|
+
4. **Report**: Present findings in structured format
|
|
92
|
+
|
|
93
|
+
## Execution Rules
|
|
94
|
+
|
|
95
|
+
- Run independent searches in parallel
|
|
96
|
+
- Always cite file paths and line numbers
|
|
97
|
+
- Focus only on what's relevant to the request
|
|
98
|
+
- Present findings as tables or structured lists
|
|
99
|
+
|
|
100
|
+
## Output Format
|
|
101
|
+
|
|
102
|
+
List findings with file references:
|
|
103
|
+
```
|
|
104
|
+
- path/to/file.ext:line - Description of finding
|
|
105
|
+
```
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
**Modifier pattern:**
|
|
109
|
+
```markdown
|
|
110
|
+
You are a code modification specialist for {purpose}.
|
|
111
|
+
|
|
112
|
+
## Workflow
|
|
113
|
+
|
|
114
|
+
1. **Read**: Load all specified files with Read tool
|
|
115
|
+
2. **Analyze**: Understand current structure and patterns
|
|
116
|
+
3. **Edit**: Apply requested changes using Edit tool
|
|
117
|
+
4. **Validate**: Verify changes are correct
|
|
118
|
+
5. **Report**: List what was modified
|
|
119
|
+
|
|
120
|
+
## Execution Rules
|
|
121
|
+
|
|
122
|
+
- Follow existing code style exactly
|
|
123
|
+
- Preserve all formatting and indentation
|
|
124
|
+
- Make minimal changes to achieve the goal
|
|
125
|
+
- Never add comments unless requested
|
|
126
|
+
|
|
127
|
+
## Output Format
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
- path/to/file.ext: [Description of change]
|
|
131
|
+
```
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
**Validator pattern:**
|
|
135
|
+
```markdown
|
|
136
|
+
You are a validation specialist for {purpose}.
|
|
137
|
+
|
|
138
|
+
## Workflow
|
|
139
|
+
|
|
140
|
+
1. **Scan**: Find all files to validate
|
|
141
|
+
2. **Check**: Apply validation rules to each file
|
|
142
|
+
3. **Report**: Present issues with severity and recommendations
|
|
143
|
+
|
|
144
|
+
## Execution Rules
|
|
145
|
+
|
|
146
|
+
- Check ALL files in scope, not just a sample
|
|
147
|
+
- Every issue must have a clear recommendation
|
|
148
|
+
- Use severity levels: ERROR, WARN, INFO
|
|
149
|
+
- Present results as tables
|
|
150
|
+
|
|
151
|
+
## Output Format
|
|
152
|
+
|
|
153
|
+
| File | Severity | Issue | Recommendation |
|
|
154
|
+
|------|----------|-------|----------------|
|
|
155
|
+
| path | ERROR | ... | ... |
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
**Custom pattern:**
|
|
159
|
+
Use the user's description from Step 1 to generate appropriate sections.
|
|
160
|
+
|
|
161
|
+
### 5. Write Agent File
|
|
162
|
+
|
|
163
|
+
Use Write tool to create the file at {target_path}.
|
|
164
|
+
|
|
165
|
+
### 6. For UPDATE Subcommand
|
|
166
|
+
|
|
167
|
+
If {subcommand} = "update":
|
|
168
|
+
1. Read existing file at {target_path}
|
|
169
|
+
2. Parse current frontmatter
|
|
170
|
+
3. Apply only the requested changes (merge frontmatter, update content sections)
|
|
171
|
+
4. Use Edit tool for targeted modifications
|
|
172
|
+
5. Preserve custom content not being updated
|
|
173
|
+
|
|
174
|
+
### 7. Confirm Generation
|
|
175
|
+
|
|
176
|
+
```
|
|
177
|
+
Generated: {target_path}
|
|
178
|
+
|
|
179
|
+
Frontmatter:
|
|
180
|
+
name: {agent_name}
|
|
181
|
+
description: {description} (truncated)
|
|
182
|
+
model: {model}
|
|
183
|
+
tools: {tools}
|
|
184
|
+
permissionMode: {permission_mode}
|
|
185
|
+
|
|
186
|
+
Content sections:
|
|
187
|
+
- Workflow ({step_count} steps)
|
|
188
|
+
- Execution Rules
|
|
189
|
+
- Output Format
|
|
190
|
+
|
|
191
|
+
→ Validating agent...
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## SUCCESS METRICS:
|
|
197
|
+
- Agent .md file created at correct path
|
|
198
|
+
- Frontmatter includes all required and chosen optional fields
|
|
199
|
+
- System prompt is clear and actionable
|
|
200
|
+
- Content follows the chosen behavior pattern
|
|
201
|
+
- No placeholder text left unreplaced
|
|
202
|
+
|
|
203
|
+
## NEXT STEP:
|
|
204
|
+
Proceed directly to `./step-03-validate.md`
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: step-03-validate
|
|
3
|
+
description: Validate generated agent file and display final summary
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Step 3: Validate Agent
|
|
7
|
+
|
|
8
|
+
## MANDATORY EXECUTION RULES:
|
|
9
|
+
- Validate the generated file against official conventions
|
|
10
|
+
- Check frontmatter completeness
|
|
11
|
+
- Verify tool names are valid
|
|
12
|
+
- Display actionable report if issues found
|
|
13
|
+
|
|
14
|
+
## YOUR TASK:
|
|
15
|
+
Validate the generated agent against official Claude Code conventions and display a final summary.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## EXECUTION SEQUENCE:
|
|
20
|
+
|
|
21
|
+
### 1. Read Generated File
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
Read: "{target_path}"
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### 2. Validate Frontmatter
|
|
28
|
+
|
|
29
|
+
**Required fields:**
|
|
30
|
+
- [ ] `name` exists and is a valid identifier
|
|
31
|
+
- [ ] `description` exists, non-empty, actionable for Claude delegation
|
|
32
|
+
|
|
33
|
+
**Optional field validation:**
|
|
34
|
+
- [ ] `model` is valid: haiku, sonnet, opus, inherit (or absent)
|
|
35
|
+
- [ ] `tools` references valid tool names (see tools-reference.md)
|
|
36
|
+
- [ ] `disallowedTools` references valid tool names
|
|
37
|
+
- [ ] `permissionMode` is valid: default, acceptEdits, dontAsk, bypassPermissions, plan
|
|
38
|
+
- [ ] `skills` references existing skill names
|
|
39
|
+
- [ ] `color` is a valid color name (if present)
|
|
40
|
+
|
|
41
|
+
**Valid tool names:**
|
|
42
|
+
```
|
|
43
|
+
Read, Write, Edit, Bash, Glob, Grep, Task, WebFetch, WebSearch,
|
|
44
|
+
NotebookEdit, AskUserQuestion, TodoWrite, Skill, ToolSearch,
|
|
45
|
+
mcp__* (any MCP tool)
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### 3. Validate Content
|
|
49
|
+
|
|
50
|
+
- [ ] Has workflow or instructions section
|
|
51
|
+
- [ ] Workflow has numbered steps
|
|
52
|
+
- [ ] Has execution rules
|
|
53
|
+
- [ ] Has output format specification
|
|
54
|
+
- [ ] Content is not empty (> 5 lines of non-frontmatter content)
|
|
55
|
+
- [ ] No unreplaced placeholder text
|
|
56
|
+
|
|
57
|
+
### 4. Check Consistency
|
|
58
|
+
|
|
59
|
+
- [ ] If `permissionMode: plan` → tools should be read-only (warn if Write/Edit/Bash included)
|
|
60
|
+
- [ ] If `model: haiku` → agent should be designed for simple/fast tasks (info)
|
|
61
|
+
- [ ] If `skills` field present → referenced skills exist in scope
|
|
62
|
+
- [ ] Description matches the agent's actual capabilities (tools + content)
|
|
63
|
+
|
|
64
|
+
### 5. Check Against Built-in Agents
|
|
65
|
+
|
|
66
|
+
Verify the agent doesn't duplicate a built-in agent:
|
|
67
|
+
|
|
68
|
+
| Built-in | Purpose |
|
|
69
|
+
|----------|---------|
|
|
70
|
+
| Explore | Fast codebase search, read-only (haiku) |
|
|
71
|
+
| Plan | Research and design, read-only (inherit) |
|
|
72
|
+
| general-purpose | Complex multi-step tasks (all tools) |
|
|
73
|
+
| Bash | Command execution in separate context |
|
|
74
|
+
|
|
75
|
+
If the new agent overlaps significantly with a built-in, display a warning:
|
|
76
|
+
```
|
|
77
|
+
WARN: This agent's purpose overlaps with the built-in '{name}' agent.
|
|
78
|
+
Consider using the built-in agent instead, or ensure this agent adds
|
|
79
|
+
unique value (specialized prompts, restricted tools, preloaded skills).
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### 6. Display Validation Report
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
Agent Validation Report:
|
|
86
|
+
|
|
87
|
+
| Check | Status |
|
|
88
|
+
|-------|--------|
|
|
89
|
+
| Frontmatter complete | PASS/FAIL |
|
|
90
|
+
| Tool names valid | PASS/FAIL |
|
|
91
|
+
| Permission mode valid | PASS/FAIL |
|
|
92
|
+
| Content quality | PASS/WARN |
|
|
93
|
+
| No built-in overlap | PASS/WARN |
|
|
94
|
+
| Skills references | PASS/WARN/N/A |
|
|
95
|
+
|
|
96
|
+
{If any FAIL: show specific issues and recommendations}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### 7. Display Final Summary
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
Agent Created Successfully!
|
|
103
|
+
|
|
104
|
+
| Property | Value |
|
|
105
|
+
|----------|-------|
|
|
106
|
+
| Name | {agent_name} |
|
|
107
|
+
| Location | {target_path} |
|
|
108
|
+
| Model | {model} |
|
|
109
|
+
| Tools | {tools} |
|
|
110
|
+
| Permission mode | {permission_mode} |
|
|
111
|
+
| Skills | {preloaded_skills} |
|
|
112
|
+
|
|
113
|
+
Usage:
|
|
114
|
+
In Task tool: subagent_type="{agent_name}"
|
|
115
|
+
In skill frontmatter: agent: "{agent_name}"
|
|
116
|
+
In agent frontmatter: (reference by name)
|
|
117
|
+
|
|
118
|
+
Next steps:
|
|
119
|
+
- Test the agent via Task tool
|
|
120
|
+
- Reference it in a skill with `context: fork` and `agent: {agent_name}`
|
|
121
|
+
- Run audit: /cc-audit
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## SUCCESS METRICS:
|
|
127
|
+
- All validations pass (or issues clearly reported)
|
|
128
|
+
- Final summary displayed with usage instructions
|
|
129
|
+
- Agent is ready to use
|
|
130
|
+
- No built-in overlap warnings (or acknowledged)
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Template: Categorized Agent
|
|
2
|
+
|
|
3
|
+
Use this template for agents that belong to a category subdirectory (e.g., efcore/, gitflow/).
|
|
4
|
+
|
|
5
|
+
## Generated agent file format:
|
|
6
|
+
|
|
7
|
+
```yaml
|
|
8
|
+
---
|
|
9
|
+
name: {{AGENT_NAME}}
|
|
10
|
+
description: {{DESCRIPTION}}
|
|
11
|
+
{{#if MODEL}}
|
|
12
|
+
model: {{MODEL}}
|
|
13
|
+
{{/if}}
|
|
14
|
+
{{#if TOOLS}}
|
|
15
|
+
tools: "{{TOOLS}}"
|
|
16
|
+
{{/if}}
|
|
17
|
+
{{#if DISALLOWED_TOOLS}}
|
|
18
|
+
disallowedTools: "{{DISALLOWED_TOOLS}}"
|
|
19
|
+
{{/if}}
|
|
20
|
+
{{#if PERMISSION_MODE}}
|
|
21
|
+
permissionMode: {{PERMISSION_MODE}}
|
|
22
|
+
{{/if}}
|
|
23
|
+
{{#if COLOR}}
|
|
24
|
+
color: {{COLOR}}
|
|
25
|
+
{{/if}}
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
{{SYSTEM_PROMPT}}
|
|
29
|
+
|
|
30
|
+
## Context: {{CATEGORY}}
|
|
31
|
+
|
|
32
|
+
This agent is part of the **{{CATEGORY}}** agent group, specialized for {{CATEGORY_PURPOSE}}.
|
|
33
|
+
|
|
34
|
+
## Workflow
|
|
35
|
+
|
|
36
|
+
1. **{{STEP_1_NAME}}**: {{STEP_1_DESC}}
|
|
37
|
+
2. **{{STEP_2_NAME}}**: {{STEP_2_DESC}}
|
|
38
|
+
3. **{{STEP_3_NAME}}**: {{STEP_3_DESC}}
|
|
39
|
+
|
|
40
|
+
## Execution Rules
|
|
41
|
+
|
|
42
|
+
- {{RULE_1}}
|
|
43
|
+
- {{RULE_2}}
|
|
44
|
+
- {{RULE_3}}
|
|
45
|
+
|
|
46
|
+
## Output Format
|
|
47
|
+
|
|
48
|
+
{{OUTPUT_FORMAT_DESCRIPTION}}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## File Location:
|
|
52
|
+
- Project: `.claude/agents/{category}/{name}.md`
|
|
53
|
+
- Global: `~/.claude/agents/{category}/{name}.md`
|
|
54
|
+
- Templates: `templates/agents/{category}/{name}.md`
|
|
55
|
+
|
|
56
|
+
## Category Examples:
|
|
57
|
+
| Category | Purpose | Agents |
|
|
58
|
+
|----------|---------|--------|
|
|
59
|
+
| `efcore` | EF Core database operations | migration, db-status, db-deploy, conflicts |
|
|
60
|
+
| `gitflow` | Git workflow management | commit, merge, plan, finish, status |
|
|
61
|
+
| `testing` | Test execution and validation | unit-tests, integration-tests, coverage |
|
|
62
|
+
|
|
63
|
+
## Notes:
|
|
64
|
+
- Category directories group related agents together
|
|
65
|
+
- Agents within a category often share similar tool requirements
|
|
66
|
+
- Category name should be lowercase, descriptive
|
|
67
|
+
- Each agent in the category should have a distinct, non-overlapping purpose
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Template: Standalone Agent
|
|
2
|
+
|
|
3
|
+
Use this template for agents that live at the root of the agents/ directory (no category subdirectory).
|
|
4
|
+
|
|
5
|
+
## Generated agent file format:
|
|
6
|
+
|
|
7
|
+
```yaml
|
|
8
|
+
---
|
|
9
|
+
name: {{AGENT_NAME}}
|
|
10
|
+
description: {{DESCRIPTION}}
|
|
11
|
+
{{#if MODEL}}
|
|
12
|
+
model: {{MODEL}}
|
|
13
|
+
{{/if}}
|
|
14
|
+
{{#if TOOLS}}
|
|
15
|
+
tools: "{{TOOLS}}"
|
|
16
|
+
{{/if}}
|
|
17
|
+
{{#if DISALLOWED_TOOLS}}
|
|
18
|
+
disallowedTools: "{{DISALLOWED_TOOLS}}"
|
|
19
|
+
{{/if}}
|
|
20
|
+
{{#if PERMISSION_MODE}}
|
|
21
|
+
permissionMode: {{PERMISSION_MODE}}
|
|
22
|
+
{{/if}}
|
|
23
|
+
{{#if COLOR}}
|
|
24
|
+
color: {{COLOR}}
|
|
25
|
+
{{/if}}
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
{{SYSTEM_PROMPT}}
|
|
29
|
+
|
|
30
|
+
## Workflow
|
|
31
|
+
|
|
32
|
+
1. **{{STEP_1_NAME}}**: {{STEP_1_DESC}}
|
|
33
|
+
2. **{{STEP_2_NAME}}**: {{STEP_2_DESC}}
|
|
34
|
+
3. **{{STEP_3_NAME}}**: {{STEP_3_DESC}}
|
|
35
|
+
|
|
36
|
+
## Execution Rules
|
|
37
|
+
|
|
38
|
+
- {{RULE_1}}
|
|
39
|
+
- {{RULE_2}}
|
|
40
|
+
- {{RULE_3}}
|
|
41
|
+
|
|
42
|
+
## Output Format
|
|
43
|
+
|
|
44
|
+
{{OUTPUT_FORMAT_DESCRIPTION}}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## File Location:
|
|
48
|
+
- Project: `.claude/agents/{name}.md`
|
|
49
|
+
- Global: `~/.claude/agents/{name}.md`
|
|
50
|
+
- Templates: `templates/agents/{name}.md`
|
|
51
|
+
|
|
52
|
+
## Notes:
|
|
53
|
+
- Keep agent files concise (< 200 lines recommended)
|
|
54
|
+
- Description must be clear enough for Claude's delegation logic
|
|
55
|
+
- System prompt should be actionable (tell the agent what to DO)
|
|
56
|
+
- Best for: single-purpose agents that don't belong to a category
|