agileflow 3.4.1 → 3.4.2
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
CHANGED
package/package.json
CHANGED
|
@@ -188,6 +188,42 @@ const AUDIT_TYPES = {
|
|
|
188
188
|
],
|
|
189
189
|
},
|
|
190
190
|
|
|
191
|
+
seo: {
|
|
192
|
+
name: 'SEO Audit',
|
|
193
|
+
prefix: 'SEO',
|
|
194
|
+
color: '#ff9e64', // rose/orange
|
|
195
|
+
command: 'seo/audit',
|
|
196
|
+
analyzers: {
|
|
197
|
+
technical: { subagent_type: 'seo-analyzer-technical', label: 'Technical SEO' },
|
|
198
|
+
content: { subagent_type: 'seo-analyzer-content', label: 'Content Quality' },
|
|
199
|
+
schema: { subagent_type: 'seo-analyzer-schema', label: 'Schema Markup' },
|
|
200
|
+
images: { subagent_type: 'seo-analyzer-images', label: 'Image Optimization' },
|
|
201
|
+
performance: { subagent_type: 'seo-analyzer-performance', label: 'Core Web Vitals' },
|
|
202
|
+
sitemap: { subagent_type: 'seo-analyzer-sitemap', label: 'Sitemap' },
|
|
203
|
+
},
|
|
204
|
+
consensus: { subagent_type: 'seo-consensus', label: 'SEO Consensus' },
|
|
205
|
+
quick_analyzers: ['technical', 'content', 'schema', 'images', 'performance', 'sitemap'],
|
|
206
|
+
deep_analyzers: ['technical', 'content', 'schema', 'images', 'performance', 'sitemap'],
|
|
207
|
+
},
|
|
208
|
+
|
|
209
|
+
ads: {
|
|
210
|
+
name: 'Ads Audit',
|
|
211
|
+
prefix: 'Ads',
|
|
212
|
+
color: '#89ddff', // ice
|
|
213
|
+
command: 'ads/audit',
|
|
214
|
+
analyzers: {
|
|
215
|
+
google: { subagent_type: 'ads-audit-google', label: 'Google Ads' },
|
|
216
|
+
meta: { subagent_type: 'ads-audit-meta', label: 'Meta Ads' },
|
|
217
|
+
budget: { subagent_type: 'ads-audit-budget', label: 'Budget & Bidding' },
|
|
218
|
+
creative: { subagent_type: 'ads-audit-creative', label: 'Creative Quality' },
|
|
219
|
+
tracking: { subagent_type: 'ads-audit-tracking', label: 'Conversion Tracking' },
|
|
220
|
+
compliance: { subagent_type: 'ads-audit-compliance', label: 'Compliance' },
|
|
221
|
+
},
|
|
222
|
+
consensus: { subagent_type: 'ads-consensus', label: 'Ads Consensus' },
|
|
223
|
+
quick_analyzers: ['google', 'meta', 'budget', 'creative', 'tracking', 'compliance'],
|
|
224
|
+
deep_analyzers: ['google', 'meta', 'budget', 'creative', 'tracking', 'compliance'],
|
|
225
|
+
},
|
|
226
|
+
|
|
191
227
|
legal: {
|
|
192
228
|
name: 'Legal Risk',
|
|
193
229
|
prefix: 'Legal',
|
|
@@ -23,8 +23,8 @@ const GROUP_PALETTE = [
|
|
|
23
23
|
{ name: 'amber', hex: '#e0af68', audit: 'test' },
|
|
24
24
|
{ name: 'violet', hex: '#bb9af7', audit: 'completeness' },
|
|
25
25
|
{ name: 'lime', hex: '#9ece6a', audit: 'legal' },
|
|
26
|
-
{ name: 'rose', hex: '#ff9e64', audit:
|
|
27
|
-
{ name: 'ice', hex: '#89ddff', audit:
|
|
26
|
+
{ name: 'rose', hex: '#ff9e64', audit: 'seo' },
|
|
27
|
+
{ name: 'ice', hex: '#89ddff', audit: 'ads' },
|
|
28
28
|
];
|
|
29
29
|
|
|
30
30
|
/**
|
|
@@ -420,7 +420,7 @@ async function spawnAuditInTmux(options) {
|
|
|
420
420
|
|
|
421
421
|
if (!auditType) {
|
|
422
422
|
console.error(`Unknown audit type: ${options.audit}`);
|
|
423
|
-
console.error(`Valid types: logic, security, performance, test, completeness, legal`);
|
|
423
|
+
console.error(`Valid types: logic, security, performance, test, completeness, legal, seo, ads`);
|
|
424
424
|
process.exit(1);
|
|
425
425
|
}
|
|
426
426
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Full multi-platform paid advertising audit with 6 parallel analyzers, industry detection, weighted Ads Health Score 0-100, and prioritized action plan
|
|
3
|
-
argument-hint: "<account-data> [PLATFORMS=all]"
|
|
3
|
+
argument-hint: "<account-data> [DEPTH=quick|deep|ultradeep|extreme] [PLATFORMS=all]"
|
|
4
4
|
compact_context:
|
|
5
5
|
priority: high
|
|
6
6
|
preserve_rules:
|
|
@@ -8,10 +8,12 @@ compact_context:
|
|
|
8
8
|
- "CRITICAL: Deploy 6 analyzers IN PARALLEL in ONE message with multiple Task calls"
|
|
9
9
|
- "CRITICAL: Wait for all results before running consensus (use TaskOutput with block=true)"
|
|
10
10
|
- "CRITICAL: Weighted scoring - Tracking 25%, Wasted Spend 20%, Structure 15%, Creative 15%, Budget 15%, Compliance 10%"
|
|
11
|
+
- "MUST parse DEPTH argument: quick (default), deep, ultradeep, extreme"
|
|
11
12
|
- "MUST detect industry type before deploying analyzers"
|
|
12
13
|
- "Pass all analyzer outputs to ads-consensus for final report"
|
|
13
14
|
- "Quality Gates: No optimization without tracking, 3x Kill Rule, Broad Match needs Smart Bidding"
|
|
14
15
|
state_fields:
|
|
16
|
+
- depth
|
|
15
17
|
- platforms
|
|
16
18
|
- industry_type
|
|
17
19
|
- analyzers_deployed
|
|
@@ -27,7 +29,10 @@ Deploy 6 specialized advertising analyzers in parallel to audit ad accounts, the
|
|
|
27
29
|
## Quick Reference
|
|
28
30
|
|
|
29
31
|
```
|
|
30
|
-
/agileflow:ads:audit <account-data> #
|
|
32
|
+
/agileflow:ads:audit <account-data> # Quick audit (all platforms detected)
|
|
33
|
+
/agileflow:ads:audit <account-data> DEPTH=deep # Deep audit (more thorough)
|
|
34
|
+
/agileflow:ads:audit <account-data> DEPTH=ultradeep # Each analyzer in its own tmux session
|
|
35
|
+
/agileflow:ads:audit <account-data> DEPTH=extreme # Platform-partitioned audit
|
|
31
36
|
/agileflow:ads:audit <account-data> PLATFORMS=google,meta # Specific platforms only
|
|
32
37
|
```
|
|
33
38
|
|
|
@@ -74,13 +79,67 @@ Deploy 6 specialized advertising analyzers in parallel to audit ad accounts, the
|
|
|
74
79
|
| Argument | Values | Default | Description |
|
|
75
80
|
|----------|--------|---------|-------------|
|
|
76
81
|
| account-data | Text, file path, or description | Required | Account data to audit |
|
|
82
|
+
| DEPTH | quick, deep, ultradeep, extreme | quick | quick = standard, deep = comprehensive, ultradeep = tmux sessions, extreme = platform partitions |
|
|
77
83
|
| PLATFORMS | google,meta,linkedin,tiktok,microsoft,youtube | all detected | Limit to specific platforms |
|
|
78
84
|
|
|
79
85
|
---
|
|
80
86
|
|
|
81
87
|
## Step-by-Step Process
|
|
82
88
|
|
|
83
|
-
### STEP 1: Parse Account Data
|
|
89
|
+
### STEP 1: Parse Arguments & Account Data
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
DEPTH = quick (default), deep, ultradeep, or extreme
|
|
93
|
+
PLATFORMS = all detected (default) or comma-separated list
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**DEPTH behavior**:
|
|
97
|
+
- `quick` (default): Deploy all 6 analyzers in-process. Standard analysis.
|
|
98
|
+
- `deep`: Deploy all 6 analyzers in-process. More thorough, includes lower-priority findings.
|
|
99
|
+
- `ultradeep`: Spawn each analyzer as a separate Claude Code session in tmux. Requires tmux. Falls back to `deep` if tmux unavailable.
|
|
100
|
+
- `extreme`: Partition-based multi-agent audit. Account data is split by platform and each platform runs ALL analyzers.
|
|
101
|
+
|
|
102
|
+
**ULTRADEEP mode** (DEPTH=ultradeep):
|
|
103
|
+
1. Show cost estimate:
|
|
104
|
+
```bash
|
|
105
|
+
node .agileflow/scripts/spawn-audit-sessions.js --audit=ads --target=account-data --model=MODEL --dry-run
|
|
106
|
+
```
|
|
107
|
+
2. Confirm with user before launching
|
|
108
|
+
3. Spawn sessions (use `--json` to capture trace ID):
|
|
109
|
+
```bash
|
|
110
|
+
node .agileflow/scripts/spawn-audit-sessions.js --audit=ads --target=account-data --model=MODEL --json
|
|
111
|
+
```
|
|
112
|
+
Parse the JSON output to get `traceId`. Example: `{"ok":true,"traceId":"abc123ef",...}`
|
|
113
|
+
4. Wait for all analyzers to complete:
|
|
114
|
+
```bash
|
|
115
|
+
node .agileflow/scripts/lib/tmux-audit-monitor.js wait TRACE_ID --timeout=1800
|
|
116
|
+
```
|
|
117
|
+
- Exit 0 = all complete (JSON results on stdout)
|
|
118
|
+
- Exit 1 = timeout (partial results on stdout, `missing` array shows what's left)
|
|
119
|
+
5. Parse `results` array from the JSON output. Pass all findings to consensus coordinator.
|
|
120
|
+
6. If tmux unavailable (spawn exits code 2), fall back to `DEPTH=deep` with warning
|
|
121
|
+
|
|
122
|
+
**EXTREME mode** (DEPTH=extreme):
|
|
123
|
+
Partition-based multi-agent audit. Instead of auditing all platforms together, each platform runs ALL 6 analyzers independently.
|
|
124
|
+
1. Identify active platforms from account data (Google, Meta, LinkedIn, TikTok, etc.)
|
|
125
|
+
2. Group into partitions by platform (each platform = 1 partition)
|
|
126
|
+
- If user provided PARTITIONS=N (a number), merge smaller platforms into N groups
|
|
127
|
+
- If user provided PARTITIONS=google,meta, use those exact platforms
|
|
128
|
+
3. Show the partition plan and agent count to the user, confirm before launching:
|
|
129
|
+
Example: "3 platforms x 6 analyzers = 18 agents. Estimated cost: $X. Proceed?"
|
|
130
|
+
4. Spawn sessions with partitions:
|
|
131
|
+
```bash
|
|
132
|
+
node .agileflow/scripts/spawn-audit-sessions.js --audit=ads --target=account-data --depth=extreme --partitions=google,meta,linkedin --model=MODEL --json
|
|
133
|
+
```
|
|
134
|
+
5. Wait and collect results (same as ultradeep - use tmux-audit-monitor.js)
|
|
135
|
+
6. Run consensus on combined results from all platform partitions
|
|
136
|
+
|
|
137
|
+
**PARTITIONS argument** (only used with DEPTH=extreme):
|
|
138
|
+
| Value | Behavior |
|
|
139
|
+
|-------|----------|
|
|
140
|
+
| Not set | AI decides partitions (1 per detected platform) |
|
|
141
|
+
| `PARTITIONS=3` | AI merges into 3 platform groups |
|
|
142
|
+
| `PARTITIONS=google,meta` | Use these exact platforms |
|
|
84
143
|
|
|
85
144
|
Accept data in any format:
|
|
86
145
|
- **Pasted CSV/text** - Parse columns and metrics
|
|
@@ -355,8 +414,11 @@ After consensus completes, show summary and offer next steps:
|
|
|
355
414
|
|
|
356
415
|
**Quick Usage**:
|
|
357
416
|
```
|
|
358
|
-
/agileflow:ads:audit <account-data>
|
|
359
|
-
/agileflow:ads:audit <data>
|
|
417
|
+
/agileflow:ads:audit <account-data> # Quick audit
|
|
418
|
+
/agileflow:ads:audit <account-data> DEPTH=deep # Deep audit
|
|
419
|
+
/agileflow:ads:audit <account-data> DEPTH=ultradeep # Tmux sessions
|
|
420
|
+
/agileflow:ads:audit <account-data> DEPTH=extreme # Platform partition audit
|
|
421
|
+
/agileflow:ads:audit <data> PLATFORMS=google,meta # Specific platforms
|
|
360
422
|
```
|
|
361
423
|
|
|
362
424
|
**What It Does**: Parse data -> Detect industry -> Deploy 6 analyzers in parallel -> Consensus weights scores -> Ads Health Score 0-100 -> Prioritized action plan
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Full website SEO audit with 6 parallel analyzers, business type detection, weighted health score 0-100, and prioritized action plan
|
|
3
|
-
argument-hint: "URL [DEPTH=quick|deep] [MAX_PAGES=50]"
|
|
3
|
+
argument-hint: "URL [DEPTH=quick|deep|ultradeep|extreme] [MAX_PAGES=50]"
|
|
4
4
|
compact_context:
|
|
5
5
|
priority: high
|
|
6
6
|
preserve_rules:
|
|
@@ -8,7 +8,7 @@ compact_context:
|
|
|
8
8
|
- "CRITICAL: Deploy 6 analyzers IN PARALLEL in ONE message with multiple Task calls"
|
|
9
9
|
- "CRITICAL: Wait for all results before running consensus (use TaskOutput with block=true)"
|
|
10
10
|
- "CRITICAL: Weighted scoring - Technical 20%, Content 20%, Schema 15%, Performance 15%, Images 15%, Sitemap 15%"
|
|
11
|
-
- "MUST parse arguments: URL (required), DEPTH (quick/deep), MAX_PAGES (default 50)"
|
|
11
|
+
- "MUST parse arguments: URL (required), DEPTH (quick/deep/ultradeep/extreme), MAX_PAGES (default 50)"
|
|
12
12
|
- "Fetch homepage FIRST to detect business type before deploying analyzers"
|
|
13
13
|
- "Pass all analyzer outputs to seo-consensus for final report"
|
|
14
14
|
state_fields:
|
|
@@ -31,6 +31,8 @@ Deploy 6 specialized SEO analyzers in parallel to audit a website, then synthesi
|
|
|
31
31
|
```
|
|
32
32
|
/agileflow:seo:audit https://example.com # Quick audit (all 6 analyzers)
|
|
33
33
|
/agileflow:seo:audit https://example.com DEPTH=deep # Deep audit (more thorough per-analyzer)
|
|
34
|
+
/agileflow:seo:audit https://example.com DEPTH=ultradeep # Each analyzer in its own tmux session
|
|
35
|
+
/agileflow:seo:audit https://example.com DEPTH=extreme # Multi-page partition audit
|
|
34
36
|
/agileflow:seo:audit https://example.com MAX_PAGES=100 # Audit up to 100 pages
|
|
35
37
|
```
|
|
36
38
|
|
|
@@ -76,7 +78,7 @@ Deploy 6 specialized SEO analyzers in parallel to audit a website, then synthesi
|
|
|
76
78
|
| Argument | Values | Default | Description |
|
|
77
79
|
|----------|--------|---------|-------------|
|
|
78
80
|
| URL | Any valid URL | Required | Homepage URL to audit |
|
|
79
|
-
| DEPTH | quick, deep | quick | quick = standard
|
|
81
|
+
| DEPTH | quick, deep, ultradeep, extreme | quick | quick = standard, deep = comprehensive, ultradeep = tmux sessions, extreme = page partitions |
|
|
80
82
|
| MAX_PAGES | 1-500 | 50 | Maximum pages to analyze |
|
|
81
83
|
|
|
82
84
|
---
|
|
@@ -87,10 +89,61 @@ Deploy 6 specialized SEO analyzers in parallel to audit a website, then synthesi
|
|
|
87
89
|
|
|
88
90
|
```
|
|
89
91
|
URL = first argument (required - ask if missing)
|
|
90
|
-
DEPTH = quick (default) or
|
|
92
|
+
DEPTH = quick (default), deep, ultradeep, or extreme
|
|
91
93
|
MAX_PAGES = 50 (default)
|
|
92
94
|
```
|
|
93
95
|
|
|
96
|
+
**DEPTH behavior**:
|
|
97
|
+
- `quick` (default): Deploy all 6 analyzers in-process. Standard analysis.
|
|
98
|
+
- `deep`: Deploy all 6 analyzers in-process. More thorough per-analyzer, includes lower-priority findings.
|
|
99
|
+
- `ultradeep`: Spawn each analyzer as a separate Claude Code session in tmux. Requires tmux. Falls back to `deep` if tmux unavailable.
|
|
100
|
+
- `extreme`: Partition-based multi-agent audit. Site pages are split into groups and each group runs ALL analyzers.
|
|
101
|
+
|
|
102
|
+
**ULTRADEEP mode** (DEPTH=ultradeep):
|
|
103
|
+
1. Show cost estimate:
|
|
104
|
+
```bash
|
|
105
|
+
node .agileflow/scripts/spawn-audit-sessions.js --audit=seo --target=URL --model=MODEL --dry-run
|
|
106
|
+
```
|
|
107
|
+
2. Confirm with user before launching
|
|
108
|
+
3. Spawn sessions (use `--json` to capture trace ID):
|
|
109
|
+
```bash
|
|
110
|
+
node .agileflow/scripts/spawn-audit-sessions.js --audit=seo --target=URL --model=MODEL --json
|
|
111
|
+
```
|
|
112
|
+
Parse the JSON output to get `traceId`. Example: `{"ok":true,"traceId":"abc123ef",...}`
|
|
113
|
+
4. Wait for all analyzers to complete:
|
|
114
|
+
```bash
|
|
115
|
+
node .agileflow/scripts/lib/tmux-audit-monitor.js wait TRACE_ID --timeout=1800
|
|
116
|
+
```
|
|
117
|
+
- Exit 0 = all complete (JSON results on stdout)
|
|
118
|
+
- Exit 1 = timeout (partial results on stdout, `missing` array shows what's left)
|
|
119
|
+
- To check progress without blocking: `node .agileflow/scripts/lib/tmux-audit-monitor.js status TRACE_ID`
|
|
120
|
+
- To retry stalled analyzers: `node .agileflow/scripts/lib/tmux-audit-monitor.js retry TRACE_ID`
|
|
121
|
+
5. Parse `results` array from the JSON output. Pass all findings to consensus coordinator (same as deep mode).
|
|
122
|
+
6. If tmux unavailable (spawn exits code 2), fall back to `DEPTH=deep` with warning
|
|
123
|
+
|
|
124
|
+
**EXTREME mode** (DEPTH=extreme):
|
|
125
|
+
Partition-based multi-agent audit. Instead of auditing the entire site as one unit, pages are split into groups and each group runs ALL 6 analyzers.
|
|
126
|
+
1. Fetch sitemap or crawl to discover pages. Group pages into 3-7 logical partitions:
|
|
127
|
+
- By section: `/blog/`, `/docs/`, `/products/`, `/about/`
|
|
128
|
+
- By priority: high-traffic landing pages, content pages, utility pages
|
|
129
|
+
- If user provided PARTITIONS=N (a number), split into exactly N groups
|
|
130
|
+
- If user provided PARTITIONS=/blog,/docs,/products, use those URL path prefixes
|
|
131
|
+
2. Show the partition plan and agent count to the user, confirm before launching:
|
|
132
|
+
Example: "4 page groups x 6 analyzers = 24 agents. Estimated cost: $X. Proceed?"
|
|
133
|
+
3. Spawn sessions with partitions:
|
|
134
|
+
```bash
|
|
135
|
+
node .agileflow/scripts/spawn-audit-sessions.js --audit=seo --target=URL --depth=extreme --partitions=/blog,/docs,/products --model=MODEL --json
|
|
136
|
+
```
|
|
137
|
+
4. Wait and collect results (same as ultradeep - use tmux-audit-monitor.js)
|
|
138
|
+
5. Run consensus on combined results from all partitions
|
|
139
|
+
|
|
140
|
+
**PARTITIONS argument** (only used with DEPTH=extreme):
|
|
141
|
+
| Value | Behavior |
|
|
142
|
+
|-------|----------|
|
|
143
|
+
| Not set | AI decides partitions (3-7 based on site structure) |
|
|
144
|
+
| `PARTITIONS=5` | AI creates exactly 5 page groups |
|
|
145
|
+
| `PARTITIONS=/blog,/docs,/products` | Use these exact URL path prefixes |
|
|
146
|
+
|
|
94
147
|
If URL is missing, ask:
|
|
95
148
|
```xml
|
|
96
149
|
<invoke name="AskUserQuestion">
|
|
@@ -343,8 +396,10 @@ CRITICAL: 1 | HIGH: 3 | MEDIUM: 5 | LOW: 2
|
|
|
343
396
|
|
|
344
397
|
**Quick Usage**:
|
|
345
398
|
```
|
|
346
|
-
/agileflow:seo:audit https://example.com
|
|
347
|
-
/agileflow:seo:audit https://example.com DEPTH=deep
|
|
399
|
+
/agileflow:seo:audit https://example.com # Quick audit
|
|
400
|
+
/agileflow:seo:audit https://example.com DEPTH=deep # Deep audit
|
|
401
|
+
/agileflow:seo:audit https://example.com DEPTH=ultradeep # Tmux sessions
|
|
402
|
+
/agileflow:seo:audit https://example.com DEPTH=extreme # Page partition audit
|
|
348
403
|
```
|
|
349
404
|
|
|
350
405
|
**What It Does**: Fetch homepage → Detect business type → Deploy 6 analyzers in parallel → Consensus weights scores → Health Score 0-100 → Prioritized action plan
|