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
@@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [3.4.2] - 2026-03-07
11
+
12
+ ### Added
13
+ - DEPTH=ultradeep|extreme for SEO and Ads audit commands
14
+
10
15
  ## [3.4.1] - 2026-03-06
11
16
 
12
17
  ### Added
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agileflow",
3
- "version": "3.4.1",
3
+ "version": "3.4.2",
4
4
  "description": "AI-driven agile development system for Claude Code, Cursor, Windsurf, and more",
5
5
  "keywords": [
6
6
  "agile",
@@ -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: null },
27
- { name: 'ice', hex: '#89ddff', audit: null },
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> # Full audit (all platforms detected)
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> # Full audit
359
- /agileflow:ads:audit <data> PLATFORMS=google,meta # Specific platforms
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 analysis, deep = comprehensive |
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 deep
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 # Quick audit
347
- /agileflow:seo:audit https://example.com DEPTH=deep # Deep audit
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