agileflow 3.4.0 → 3.4.1
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/CHANGELOG.md +5 -0
- package/README.md +4 -4
- package/package.json +1 -1
- package/scripts/agileflow-welcome.js +79 -0
- package/scripts/claude-tmux.sh +12 -36
- package/scripts/lib/ac-test-matcher.js +452 -0
- package/scripts/lib/audit-registry.js +58 -2
- package/scripts/lib/configure-features.js +35 -0
- package/scripts/lib/model-profiles.js +25 -5
- package/scripts/lib/quality-gates.js +163 -0
- package/scripts/lib/signal-detectors.js +43 -0
- package/scripts/lib/status-writer.js +255 -0
- package/scripts/lib/story-claiming.js +128 -45
- package/scripts/lib/task-sync.js +32 -38
- package/scripts/lib/tmux-audit-monitor.js +611 -0
- package/scripts/lib/tool-registry.yaml +241 -0
- package/scripts/lib/tool-shed.js +441 -0
- package/scripts/native-team-observer.js +219 -0
- package/scripts/obtain-context.js +14 -0
- package/scripts/ralph-loop.js +30 -5
- package/scripts/smart-detect.js +21 -0
- package/scripts/spawn-audit-sessions.js +372 -44
- package/scripts/team-manager.js +19 -0
- package/src/core/agents/a11y-analyzer-aria.md +155 -0
- package/src/core/agents/a11y-analyzer-forms.md +162 -0
- package/src/core/agents/a11y-analyzer-keyboard.md +175 -0
- package/src/core/agents/a11y-analyzer-semantic.md +153 -0
- package/src/core/agents/a11y-analyzer-visual.md +158 -0
- package/src/core/agents/a11y-consensus.md +248 -0
- package/src/core/agents/ads-consensus.md +74 -0
- package/src/core/agents/ads-generate.md +145 -0
- package/src/core/agents/ads-performance-tracker.md +197 -0
- package/src/core/agents/api-quality-analyzer-conventions.md +148 -0
- package/src/core/agents/api-quality-analyzer-docs.md +176 -0
- package/src/core/agents/api-quality-analyzer-errors.md +183 -0
- package/src/core/agents/api-quality-analyzer-pagination.md +171 -0
- package/src/core/agents/api-quality-analyzer-versioning.md +143 -0
- package/src/core/agents/api-quality-consensus.md +214 -0
- package/src/core/agents/arch-analyzer-circular.md +148 -0
- package/src/core/agents/arch-analyzer-complexity.md +171 -0
- package/src/core/agents/arch-analyzer-coupling.md +146 -0
- package/src/core/agents/arch-analyzer-layering.md +151 -0
- package/src/core/agents/arch-analyzer-patterns.md +162 -0
- package/src/core/agents/arch-consensus.md +227 -0
- package/src/core/commands/adr.md +1 -0
- package/src/core/commands/ads/generate.md +238 -0
- package/src/core/commands/ads/health.md +327 -0
- package/src/core/commands/ads/test-plan.md +317 -0
- package/src/core/commands/ads/track.md +288 -0
- package/src/core/commands/ads.md +28 -16
- package/src/core/commands/assign.md +1 -0
- package/src/core/commands/audit.md +43 -6
- package/src/core/commands/babysit.md +90 -6
- package/src/core/commands/baseline.md +1 -0
- package/src/core/commands/blockers.md +1 -0
- package/src/core/commands/board.md +1 -0
- package/src/core/commands/changelog.md +1 -0
- package/src/core/commands/choose.md +1 -0
- package/src/core/commands/ci.md +1 -0
- package/src/core/commands/code/accessibility.md +347 -0
- package/src/core/commands/code/api.md +297 -0
- package/src/core/commands/code/architecture.md +297 -0
- package/src/core/commands/code/completeness.md +43 -6
- package/src/core/commands/code/legal.md +43 -6
- package/src/core/commands/code/logic.md +43 -6
- package/src/core/commands/code/performance.md +43 -6
- package/src/core/commands/code/security.md +43 -6
- package/src/core/commands/code/test.md +43 -6
- package/src/core/commands/configure.md +1 -0
- package/src/core/commands/council.md +1 -0
- package/src/core/commands/deploy.md +1 -0
- package/src/core/commands/diagnose.md +1 -0
- package/src/core/commands/docs.md +1 -0
- package/src/core/commands/epic/edit.md +213 -0
- package/src/core/commands/epic.md +1 -0
- package/src/core/commands/export.md +238 -0
- package/src/core/commands/help.md +16 -1
- package/src/core/commands/ideate/discover.md +7 -3
- package/src/core/commands/ideate/features.md +65 -4
- package/src/core/commands/ideate/new.md +158 -124
- package/src/core/commands/impact.md +1 -0
- package/src/core/commands/learn/explain.md +118 -0
- package/src/core/commands/learn/glossary.md +135 -0
- package/src/core/commands/learn/patterns.md +138 -0
- package/src/core/commands/learn/tour.md +126 -0
- package/src/core/commands/migrate/codemods.md +151 -0
- package/src/core/commands/migrate/plan.md +131 -0
- package/src/core/commands/migrate/scan.md +114 -0
- package/src/core/commands/migrate/validate.md +119 -0
- package/src/core/commands/multi-expert.md +1 -0
- package/src/core/commands/pr.md +1 -0
- package/src/core/commands/review.md +1 -0
- package/src/core/commands/sprint.md +1 -0
- package/src/core/commands/status/undo.md +191 -0
- package/src/core/commands/status.md +1 -0
- package/src/core/commands/story/edit.md +204 -0
- package/src/core/commands/story/view.md +29 -7
- package/src/core/commands/story-validate.md +1 -0
- package/src/core/commands/story.md +1 -0
- package/src/core/commands/tdd.md +1 -0
- package/src/core/commands/team/start.md +10 -6
- package/src/core/commands/tests.md +1 -0
- package/src/core/commands/verify.md +27 -1
- package/src/core/commands/workflow.md +2 -0
- package/src/core/teams/backend.json +41 -0
- package/src/core/teams/frontend.json +41 -0
- package/src/core/teams/qa.json +41 -0
- package/src/core/teams/solo.json +35 -0
- package/src/core/templates/agileflow-metadata.json +5 -0
- package/tools/cli/commands/setup.js +85 -3
- package/tools/cli/commands/update.js +42 -0
- package/tools/cli/installers/ide/claude-code.js +68 -0
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: arch-consensus
|
|
3
|
+
description: Consensus coordinator for architecture audit - validates findings, computes health score, generates dependency diagrams, and produces prioritized Architecture Audit Report
|
|
4
|
+
tools: Read, Write, Edit, Glob, Grep
|
|
5
|
+
model: sonnet
|
|
6
|
+
team_role: lead
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
# Architecture Consensus Coordinator
|
|
11
|
+
|
|
12
|
+
You are the **consensus coordinator** for the Architecture Audit system. Your job is to collect findings from all architecture analyzers, validate them against the project's architecture pattern, compute a health score, and produce the final prioritized Architecture Audit Report.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Your Responsibilities
|
|
17
|
+
|
|
18
|
+
1. **Detect architecture pattern** - Determine if the project uses Clean Architecture, MVC, Feature-based, Monolith, Microservice, etc.
|
|
19
|
+
2. **Collect findings** - Parse all analyzer outputs into normalized structure
|
|
20
|
+
3. **Filter by relevance** - Exclude findings that don't apply to the detected architecture
|
|
21
|
+
4. **Vote on confidence** - Multiple analyzers flagging same area = higher confidence
|
|
22
|
+
5. **Resolve conflicts** - When analyzers disagree, investigate and decide
|
|
23
|
+
6. **Compute health score** - Calculate overall architecture health (0-100)
|
|
24
|
+
7. **Generate report** - Produce prioritized, actionable Architecture Audit Report
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Consensus Process
|
|
29
|
+
|
|
30
|
+
### Step 1: Detect Architecture Pattern
|
|
31
|
+
|
|
32
|
+
Read the codebase to determine architecture. This affects which findings are relevant:
|
|
33
|
+
|
|
34
|
+
| Pattern | Indicators | Irrelevant Findings |
|
|
35
|
+
|---------|-----------|-------------------|
|
|
36
|
+
| **Clean/Hexagonal** | domain/, application/, infrastructure/ | "Missing service layer" |
|
|
37
|
+
| **MVC** | models/, views/, controllers/ | Layer violations (different layers expected) |
|
|
38
|
+
| **Feature-based** | features/auth/, features/cart/ | "High fan-in" on shared utilities |
|
|
39
|
+
| **Serverless** | functions/, lambda/ | "Missing abstraction layer" |
|
|
40
|
+
| **Microservice** | Multiple services, API gateways | Cross-service coupling (may be intentional) |
|
|
41
|
+
| **Monolith** | Single app, shared database | "Too many imports" (less meaningful) |
|
|
42
|
+
|
|
43
|
+
### Step 2: Parse All Findings
|
|
44
|
+
|
|
45
|
+
Extract findings from each analyzer's output. Normalize into a common structure:
|
|
46
|
+
|
|
47
|
+
```javascript
|
|
48
|
+
{
|
|
49
|
+
id: 'COUP-1',
|
|
50
|
+
analyzer: 'arch-analyzer-coupling',
|
|
51
|
+
location: 'src/services/user-service.ts',
|
|
52
|
+
title: 'High fan-out: 12 imports',
|
|
53
|
+
severity: 'STRUCTURAL',
|
|
54
|
+
confidence: 'HIGH',
|
|
55
|
+
metric: 'fan-out: 12',
|
|
56
|
+
explanation: '...',
|
|
57
|
+
remediation: '...'
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Step 3: Group Related Findings
|
|
62
|
+
|
|
63
|
+
Find findings that reference the same module or area:
|
|
64
|
+
|
|
65
|
+
| Location | Coupling | Layering | Complexity | Patterns | Circular | Consensus |
|
|
66
|
+
|----------|:--------:|:--------:|:----------:|:--------:|:--------:|-----------|
|
|
67
|
+
| user-service.ts | ! | ! | - | ! | - | CONFIRMED |
|
|
68
|
+
| order-handler.ts | - | ! | ! | - | - | CONFIRMED |
|
|
69
|
+
|
|
70
|
+
### Step 4: Compute Health Score
|
|
71
|
+
|
|
72
|
+
**Architecture Health Score (0-100)**:
|
|
73
|
+
|
|
74
|
+
Start at 100 and deduct:
|
|
75
|
+
|
|
76
|
+
| Finding Severity | Deduction per Finding |
|
|
77
|
+
|-----------------|---------------------|
|
|
78
|
+
| STRUCTURAL | -8 points |
|
|
79
|
+
| DEGRADED | -4 points |
|
|
80
|
+
| SMELL | -2 points |
|
|
81
|
+
| STYLE | -1 point |
|
|
82
|
+
|
|
83
|
+
Cap deductions per category at -25 to prevent one area from dominating.
|
|
84
|
+
|
|
85
|
+
| Score | Rating | Meaning |
|
|
86
|
+
|-------|--------|---------|
|
|
87
|
+
| 85-100 | Healthy | Well-structured, maintainable |
|
|
88
|
+
| 70-84 | Good | Minor issues, normal tech debt |
|
|
89
|
+
| 55-69 | Concerning | Growing structural problems |
|
|
90
|
+
| 40-54 | Degraded | Significant refactoring needed |
|
|
91
|
+
| <40 | Critical | Architecture actively impeding development |
|
|
92
|
+
|
|
93
|
+
### Step 5: Filter by Architecture and False Positives
|
|
94
|
+
|
|
95
|
+
Remove findings that don't apply. Common false positive scenarios:
|
|
96
|
+
|
|
97
|
+
- **Small projects**: High relative coupling is normal in <20 file projects
|
|
98
|
+
- **CLI tools**: Layering violations are less relevant in command-line tools
|
|
99
|
+
- **Scripts**: Complexity in build/deployment scripts is acceptable
|
|
100
|
+
- **Generated code**: Prisma client, GraphQL codegen should be excluded
|
|
101
|
+
- **Configuration**: Config files are naturally large without being "complex"
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Output Format
|
|
106
|
+
|
|
107
|
+
Generate the final Architecture Audit Report:
|
|
108
|
+
|
|
109
|
+
```markdown
|
|
110
|
+
# Architecture Audit Report
|
|
111
|
+
|
|
112
|
+
**Generated**: {YYYY-MM-DD}
|
|
113
|
+
**Target**: {file or directory analyzed}
|
|
114
|
+
**Depth**: {quick or deep}
|
|
115
|
+
**Analyzers**: {list of analyzers deployed}
|
|
116
|
+
**Architecture**: {detected pattern with reasoning}
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## Architecture Health Score: {N}/100 ({Rating})
|
|
121
|
+
|
|
122
|
+
| Category | Findings | Impact |
|
|
123
|
+
|----------|----------|--------|
|
|
124
|
+
| Coupling | {count} | -{N} pts |
|
|
125
|
+
| Layering | {count} | -{N} pts |
|
|
126
|
+
| Complexity | {count} | -{N} pts |
|
|
127
|
+
| Anti-Patterns | {count} | -{N} pts |
|
|
128
|
+
| Circular Deps | {count} | -{N} pts |
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## Fix Immediately
|
|
133
|
+
|
|
134
|
+
### 1. {Title} [CONFIRMED by {Analyzer1}, {Analyzer2}]
|
|
135
|
+
|
|
136
|
+
**Location**: `{file}:{line}`
|
|
137
|
+
**Severity**: STRUCTURAL
|
|
138
|
+
**Category**: {Coupling | Layering | Complexity | Anti-Pattern | Circular}
|
|
139
|
+
|
|
140
|
+
**Code**:
|
|
141
|
+
\`\`\`{language}
|
|
142
|
+
{code snippet}
|
|
143
|
+
\`\`\`
|
|
144
|
+
|
|
145
|
+
**Analysis**:
|
|
146
|
+
- **{Analyzer1}**: {finding summary}
|
|
147
|
+
- **{Analyzer2}**: {finding summary}
|
|
148
|
+
- **Consensus**: {why this is confirmed}
|
|
149
|
+
|
|
150
|
+
**Impact**: {maintenance cost, bug risk, team velocity}
|
|
151
|
+
|
|
152
|
+
**Remediation**:
|
|
153
|
+
- {Step 1 with refactoring strategy}
|
|
154
|
+
- {Step 2}
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## Fix This Sprint
|
|
159
|
+
|
|
160
|
+
[Same structure, DEGRADED findings]
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Backlog
|
|
165
|
+
|
|
166
|
+
[Abbreviated, SMELL findings]
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## False Positives (Excluded)
|
|
171
|
+
|
|
172
|
+
| Finding | Analyzer | Reason |
|
|
173
|
+
|---------|----------|--------|
|
|
174
|
+
| {title} | {analyzer} | {reasoning} |
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## Analyzer Agreement Matrix
|
|
179
|
+
|
|
180
|
+
| Location | Coupling | Layering | Complexity | Patterns | Circular | Consensus |
|
|
181
|
+
|----------|:--------:|:--------:|:----------:|:--------:|:--------:|-----------|
|
|
182
|
+
| file.ts | ! | ! | - | ! | - | CONFIRMED |
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
## Dependency Overview
|
|
187
|
+
|
|
188
|
+
{Describe the high-level dependency structure}
|
|
189
|
+
{Note any concerning dependency chains}
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## Remediation Checklist
|
|
194
|
+
|
|
195
|
+
- [ ] {Actionable item 1}
|
|
196
|
+
- [ ] {Actionable item 2}
|
|
197
|
+
...
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## Recommendations
|
|
202
|
+
|
|
203
|
+
1. **Immediate**: Fix {N} structural issues blocking maintainability
|
|
204
|
+
2. **Sprint**: Address {M} degraded areas before they worsen
|
|
205
|
+
3. **Tooling**: {e.g., Add eslint-plugin-import, madge for cycle detection}
|
|
206
|
+
4. **Process**: {e.g., Enforce import boundaries in CI, add architecture tests}
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
## Important Rules
|
|
212
|
+
|
|
213
|
+
1. **Be fair**: Give each analyzer's finding proper consideration
|
|
214
|
+
2. **Show your work**: Document reasoning for exclusions
|
|
215
|
+
3. **Consider project context**: A startup MVP has different standards than an enterprise app
|
|
216
|
+
4. **Prioritize by maintenance cost**: Focus on issues that slow down the team
|
|
217
|
+
5. **Be actionable**: Suggest specific refactoring patterns
|
|
218
|
+
6. **Save the report**: Write to `docs/08-project/arch-audits/arch-audit-{YYYYMMDD}.md`
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## Boundary Rules
|
|
223
|
+
|
|
224
|
+
- **Do NOT report security vulnerabilities** - that's `/agileflow:code:security`
|
|
225
|
+
- **Do NOT report logic bugs** - that's `/agileflow:code:logic`
|
|
226
|
+
- **Do NOT report test quality** - that's `/agileflow:code:test`
|
|
227
|
+
- **Focus on structural health** - coupling, layering, complexity, patterns, cycles
|
package/src/core/commands/adr.md
CHANGED
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Bulk ad copy generation — produce 40+ headline/body/CTA variants from product description + ICP angles, formatted for Meta bulk upload and Google Ads Editor
|
|
3
|
+
argument-hint: "<product-description> [PLATFORM=all] [VARIANTS=40] [ANGLES=auto]"
|
|
4
|
+
compact_context:
|
|
5
|
+
priority: medium
|
|
6
|
+
preserve_rules:
|
|
7
|
+
- "ACTIVE COMMAND: /agileflow:ads:generate - Bulk ad copy generation"
|
|
8
|
+
- "Generate headline/body/CTA variants from product description + ICP angles"
|
|
9
|
+
- "Output structured markdown AND CSV formatted for Meta bulk upload"
|
|
10
|
+
- "Delegate to ads-generate agent for variant production"
|
|
11
|
+
state_fields:
|
|
12
|
+
- product_description
|
|
13
|
+
- platform
|
|
14
|
+
- variant_count
|
|
15
|
+
- angles
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# /agileflow:ads:generate
|
|
19
|
+
|
|
20
|
+
Generate bulk ad copy variants from a product description and ideal customer profile (ICP) angles. Outputs structured markdown for review AND platform-ready CSV for direct upload.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Quick Reference
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
/agileflow:ads:generate <product-description> # 40 variants, all platforms
|
|
28
|
+
/agileflow:ads:generate <product-description> PLATFORM=meta # Meta-optimized variants
|
|
29
|
+
/agileflow:ads:generate <product-description> PLATFORM=google # Google Ads Editor format
|
|
30
|
+
/agileflow:ads:generate <product-description> VARIANTS=80 ANGLES=5 # 80 variants across 5 angles
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Arguments
|
|
36
|
+
|
|
37
|
+
| Argument | Values | Default | Description |
|
|
38
|
+
|----------|--------|---------|-------------|
|
|
39
|
+
| product-description | Text, URL, or file path | Required | Product/service description to generate copy for |
|
|
40
|
+
| PLATFORM | all, meta, google, linkedin, tiktok | all | Target platform(s) for format optimization |
|
|
41
|
+
| VARIANTS | 20-100 | 40 | Number of ad variants to generate |
|
|
42
|
+
| ANGLES | 1-10 or auto | auto (5) | Number of ICP angles to explore |
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Multi-Step Discovery Flow
|
|
47
|
+
|
|
48
|
+
### STEP 1: Product Discovery
|
|
49
|
+
|
|
50
|
+
If product description is minimal or missing, gather context:
|
|
51
|
+
|
|
52
|
+
```xml
|
|
53
|
+
<invoke name="AskUserQuestion">
|
|
54
|
+
<parameter name="questions">[
|
|
55
|
+
{
|
|
56
|
+
"question": "What are you advertising? Provide a product/service description, landing page URL, or paste your existing ad copy.",
|
|
57
|
+
"header": "Product",
|
|
58
|
+
"multiSelect": false,
|
|
59
|
+
"options": [
|
|
60
|
+
{"label": "Paste product description (Recommended)", "description": "Copy/paste from your website, pitch deck, or product brief"},
|
|
61
|
+
{"label": "Provide landing page URL", "description": "I'll analyze the page and extract product details"},
|
|
62
|
+
{"label": "Describe verbally", "description": "I'll ask follow-up questions to build the brief"}
|
|
63
|
+
]
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"question": "Who is your ideal customer?",
|
|
67
|
+
"header": "ICP",
|
|
68
|
+
"multiSelect": false,
|
|
69
|
+
"options": [
|
|
70
|
+
{"label": "B2B decision makers", "description": "CTOs, VPs, Directors making software/service purchasing decisions"},
|
|
71
|
+
{"label": "SMB owners", "description": "Small business owners looking for solutions to operational problems"},
|
|
72
|
+
{"label": "Consumers", "description": "Individual consumers making personal purchasing decisions"},
|
|
73
|
+
{"label": "Let me describe", "description": "I'll provide specific ICP details"}
|
|
74
|
+
]
|
|
75
|
+
}
|
|
76
|
+
]</parameter>
|
|
77
|
+
</invoke>
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### STEP 2: Angle Generation
|
|
81
|
+
|
|
82
|
+
From the product description and ICP, generate 5 differentiated messaging angles:
|
|
83
|
+
|
|
84
|
+
**Standard Angle Framework:**
|
|
85
|
+
|
|
86
|
+
| # | Angle | What It Emphasizes |
|
|
87
|
+
|---|-------|--------------------|
|
|
88
|
+
| 1 | **Pain Point** | The problem your ICP faces without this product |
|
|
89
|
+
| 2 | **Outcome/Benefit** | The result/transformation after using the product |
|
|
90
|
+
| 3 | **Social Proof** | Numbers, testimonials, authority signals |
|
|
91
|
+
| 4 | **Urgency/Scarcity** | Time-limited offer, competitive pressure, FOMO |
|
|
92
|
+
| 5 | **Contrarian/Pattern Interrupt** | Challenges assumptions, stands out in feed |
|
|
93
|
+
|
|
94
|
+
If ANGLES > 5, add from:
|
|
95
|
+
| 6 | **Comparison** | Direct or indirect competitor comparison |
|
|
96
|
+
| 7 | **How-It-Works** | Simplicity, 3-step process, ease of use |
|
|
97
|
+
| 8 | **Identity** | "For people who..." — tribe/identity-based |
|
|
98
|
+
| 9 | **Risk Reversal** | Guarantee, free trial, money-back |
|
|
99
|
+
| 10 | **Curiosity** | Open loops, questions, intrigue |
|
|
100
|
+
|
|
101
|
+
### STEP 3: Generate Variants
|
|
102
|
+
|
|
103
|
+
Delegate to the `ads-generate` agent for variant production:
|
|
104
|
+
|
|
105
|
+
```xml
|
|
106
|
+
<invoke name="Agent">
|
|
107
|
+
<parameter name="description">Generate ad copy variants</parameter>
|
|
108
|
+
<parameter name="prompt">TASK: Generate {VARIANTS} ad copy variants for bulk upload.
|
|
109
|
+
|
|
110
|
+
PRODUCT:
|
|
111
|
+
{product_description}
|
|
112
|
+
|
|
113
|
+
ICP:
|
|
114
|
+
{icp_description}
|
|
115
|
+
|
|
116
|
+
ANGLES:
|
|
117
|
+
{angle_list_with_descriptions}
|
|
118
|
+
|
|
119
|
+
PLATFORMS: {platform}
|
|
120
|
+
|
|
121
|
+
## Generation Rules
|
|
122
|
+
|
|
123
|
+
1. **Per angle**: Generate {VARIANTS / ANGLES} variants per angle
|
|
124
|
+
2. **Per variant**: Generate headline + body + CTA as a set
|
|
125
|
+
3. **Platform compliance**: Respect character limits per platform
|
|
126
|
+
4. **Diversity**: No two variants should have the same opening word
|
|
127
|
+
5. **Specificity**: Include numbers, timeframes, or concrete outcomes where possible
|
|
128
|
+
6. **CTA variety**: Mix of "Learn More", "Get Started", "Try Free", "See How", "Book Demo"
|
|
129
|
+
|
|
130
|
+
## Platform Character Limits
|
|
131
|
+
|
|
132
|
+
### Meta Ads
|
|
133
|
+
- Primary Text: 125 chars (above fold), 1000 max
|
|
134
|
+
- Headline: 27 chars (recommended), 255 max
|
|
135
|
+
- Description: 27 chars (recommended), 255 max
|
|
136
|
+
- CTA: Select from preset list
|
|
137
|
+
|
|
138
|
+
### Google Ads (RSA)
|
|
139
|
+
- Headline: 30 chars max (generate 15 headlines)
|
|
140
|
+
- Description: 90 chars max (generate 4 descriptions)
|
|
141
|
+
- Path: 15 chars per path segment
|
|
142
|
+
|
|
143
|
+
### LinkedIn
|
|
144
|
+
- Intro text: 150 chars (above fold), 600 max
|
|
145
|
+
- Headline: 70 chars max
|
|
146
|
+
- Description: 100 chars max
|
|
147
|
+
|
|
148
|
+
### TikTok
|
|
149
|
+
- Ad text: 100 chars (recommended)
|
|
150
|
+
- No headline separate from creative
|
|
151
|
+
|
|
152
|
+
## Output Format
|
|
153
|
+
|
|
154
|
+
OUTPUT your response in TWO sections:
|
|
155
|
+
|
|
156
|
+
### Section 1: Review Format (Markdown Table)
|
|
157
|
+
|
|
158
|
+
| # | Angle | Headline | Body | CTA | Platform |
|
|
159
|
+
|---|-------|----------|------|-----|----------|
|
|
160
|
+
| 1 | Pain Point | ... | ... | Learn More | Meta |
|
|
161
|
+
| ... | ... | ... | ... | ... | ... |
|
|
162
|
+
|
|
163
|
+
### Section 2: Meta Bulk Upload CSV
|
|
164
|
+
|
|
165
|
+
```csv
|
|
166
|
+
Ad Name,Primary Text,Headline,Description,Call to Action,Website URL
|
|
167
|
+
{angle}-{number},"{body}","{headline}","{description}",LEARN_MORE,{url}
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### Section 3: Google Ads Editor CSV (if PLATFORM includes google)
|
|
171
|
+
|
|
172
|
+
```csv
|
|
173
|
+
Campaign,Ad Group,Headline 1,Headline 2,Headline 3,Description 1,Description 2,Path 1,Path 2
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
Flag any variants that push character limits with ⚠️.</parameter>
|
|
177
|
+
<parameter name="subagent_type">ads-generate</parameter>
|
|
178
|
+
</invoke>
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### STEP 4: Present Results
|
|
182
|
+
|
|
183
|
+
After generation completes, present summary and offer next steps:
|
|
184
|
+
|
|
185
|
+
```xml
|
|
186
|
+
<invoke name="AskUserQuestion">
|
|
187
|
+
<parameter name="questions">[{
|
|
188
|
+
"question": "Generated {N} ad variants across {M} angles. {platform_count} platform format(s) ready. Files saved to docs/08-project/ads-copy/.",
|
|
189
|
+
"header": "Next steps",
|
|
190
|
+
"multiSelect": false,
|
|
191
|
+
"options": [
|
|
192
|
+
{"label": "Generate more variants for winning angles (Recommended)", "description": "Double down on the strongest 2-3 angles with more variations"},
|
|
193
|
+
{"label": "Create test plan for these variants", "description": "Run /agileflow:ads:test-plan to structure A/B tests with decision criteria"},
|
|
194
|
+
{"label": "Adapt for additional platforms", "description": "Reformat variants for Google, LinkedIn, or TikTok specifications"},
|
|
195
|
+
{"label": "Review and refine specific variants", "description": "Edit individual variants or regenerate specific angles"}
|
|
196
|
+
]
|
|
197
|
+
}]</parameter>
|
|
198
|
+
</invoke>
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## Output Files
|
|
204
|
+
|
|
205
|
+
The agent saves artifacts to:
|
|
206
|
+
- `docs/08-project/ads-copy/ads-copy-{YYYYMMDD}.md` — Full review format with all variants
|
|
207
|
+
- `docs/08-project/ads-copy/meta-bulk-upload-{YYYYMMDD}.csv` — Meta Ads Manager bulk upload format
|
|
208
|
+
- `docs/08-project/ads-copy/google-ads-editor-{YYYYMMDD}.csv` — Google Ads Editor import format (if applicable)
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## Example Output
|
|
213
|
+
|
|
214
|
+
For a SaaS product "TaskFlow — AI project management":
|
|
215
|
+
|
|
216
|
+
| # | Angle | Headline | Body | CTA |
|
|
217
|
+
|---|-------|----------|------|-----|
|
|
218
|
+
| 1 | Pain Point | Stop losing tasks in Slack threads | Your team wastes 5 hours/week searching for decisions buried in chat. TaskFlow surfaces action items automatically. | Try Free |
|
|
219
|
+
| 2 | Outcome | Ship 2x faster with AI project management | TaskFlow auto-generates tasks from meetings, prioritizes your backlog, and predicts blockers before they happen. | Get Started |
|
|
220
|
+
| 3 | Social Proof | 2,847 teams shipped faster this month | "We cut our sprint planning from 3 hours to 20 minutes" — VP Eng, Series B startup | See How |
|
|
221
|
+
| 4 | Urgency | Your competitors already use AI for PM | 73% of high-growth startups adopted AI project management in 2025. Don't get left behind. | Start Free Trial |
|
|
222
|
+
| 5 | Contrarian | Project management tools are the problem | More tools = more context switching. TaskFlow replaces your PM tool, not adds to it. | Learn More |
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
<!-- COMPACT_SUMMARY_START -->
|
|
227
|
+
## Compact Summary
|
|
228
|
+
|
|
229
|
+
**Command**: `/agileflow:ads:generate` - Bulk ad copy generation with ICP angles
|
|
230
|
+
|
|
231
|
+
**Input**: Product description + ICP + platform (interactive or parameters)
|
|
232
|
+
|
|
233
|
+
**Output**: 40+ ad variants in review markdown + platform-ready CSV (Meta bulk upload, Google Ads Editor)
|
|
234
|
+
|
|
235
|
+
**Usage**: `/agileflow:ads:generate <product-description> [PLATFORM=all] [VARIANTS=40] [ANGLES=auto]`
|
|
236
|
+
|
|
237
|
+
**Files**: `docs/08-project/ads-copy/ads-copy-{YYYYMMDD}.md`, `*-bulk-upload-*.csv`
|
|
238
|
+
<!-- COMPACT_SUMMARY_END -->
|