agileflow 3.3.0 → 3.4.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/CHANGELOG.md +5 -0
- package/README.md +6 -6
- package/lib/skill-loader.js +0 -1
- package/package.json +1 -1
- package/scripts/agileflow-statusline.sh +81 -0
- package/scripts/claude-tmux.sh +113 -22
- package/scripts/claude-watchdog.sh +225 -0
- package/scripts/generators/agent-registry.js +14 -1
- package/scripts/generators/inject-babysit.js +22 -9
- package/scripts/generators/inject-help.js +19 -9
- package/scripts/lib/audit-cleanup.js +250 -0
- package/scripts/lib/audit-registry.js +248 -0
- package/scripts/lib/feature-catalog.js +3 -3
- package/scripts/lib/gate-enforcer.js +295 -0
- package/scripts/lib/model-profiles.js +98 -0
- package/scripts/lib/signal-detectors.js +1 -1
- package/scripts/lib/skill-catalog.js +557 -0
- package/scripts/lib/skill-recommender.js +311 -0
- package/scripts/lib/tdd-phase-manager.js +455 -0
- package/scripts/lib/team-events.js +34 -3
- package/scripts/lib/tmux-group-colors.js +113 -0
- package/scripts/messaging-bridge.js +209 -1
- package/scripts/spawn-audit-sessions.js +549 -0
- package/scripts/team-manager.js +37 -16
- package/scripts/tmux-close-windows.sh +180 -0
- package/src/core/agents/ads-audit-budget.md +181 -0
- package/src/core/agents/ads-audit-compliance.md +169 -0
- package/src/core/agents/ads-audit-creative.md +164 -0
- package/src/core/agents/ads-audit-google.md +226 -0
- package/src/core/agents/ads-audit-meta.md +183 -0
- package/src/core/agents/ads-audit-tracking.md +197 -0
- package/src/core/agents/ads-consensus.md +322 -0
- package/src/core/agents/brainstorm-analyzer-features.md +169 -0
- package/src/core/agents/brainstorm-analyzer-growth.md +161 -0
- package/src/core/agents/brainstorm-analyzer-integration.md +172 -0
- package/src/core/agents/brainstorm-analyzer-market.md +147 -0
- package/src/core/agents/brainstorm-analyzer-ux.md +167 -0
- package/src/core/agents/brainstorm-consensus.md +237 -0
- package/src/core/agents/completeness-consensus.md +5 -5
- package/src/core/agents/perf-consensus.md +2 -2
- package/src/core/agents/security-consensus.md +2 -2
- package/src/core/agents/seo-analyzer-content.md +167 -0
- package/src/core/agents/seo-analyzer-images.md +187 -0
- package/src/core/agents/seo-analyzer-performance.md +206 -0
- package/src/core/agents/seo-analyzer-schema.md +176 -0
- package/src/core/agents/seo-analyzer-sitemap.md +172 -0
- package/src/core/agents/seo-analyzer-technical.md +144 -0
- package/src/core/agents/seo-consensus.md +289 -0
- package/src/core/agents/test-consensus.md +2 -2
- package/src/core/commands/ads/audit.md +375 -0
- package/src/core/commands/ads/budget.md +97 -0
- package/src/core/commands/ads/competitor.md +112 -0
- package/src/core/commands/ads/creative.md +85 -0
- package/src/core/commands/ads/google.md +112 -0
- package/src/core/commands/ads/landing.md +119 -0
- package/src/core/commands/ads/linkedin.md +112 -0
- package/src/core/commands/ads/meta.md +91 -0
- package/src/core/commands/ads/microsoft.md +115 -0
- package/src/core/commands/ads/plan.md +321 -0
- package/src/core/commands/ads/tiktok.md +129 -0
- package/src/core/commands/ads/youtube.md +124 -0
- package/src/core/commands/ads.md +128 -0
- package/src/core/commands/babysit.md +249 -1284
- package/src/core/commands/{audit → code}/completeness.md +35 -25
- package/src/core/commands/{audit → code}/legal.md +26 -16
- package/src/core/commands/{audit → code}/logic.md +27 -16
- package/src/core/commands/{audit → code}/performance.md +30 -20
- package/src/core/commands/{audit → code}/security.md +32 -19
- package/src/core/commands/{audit → code}/test.md +30 -20
- package/src/core/commands/{discovery → ideate}/brief.md +12 -12
- package/src/core/commands/{discovery/new.md → ideate/discover.md} +13 -13
- package/src/core/commands/ideate/features.md +435 -0
- package/src/core/commands/seo/audit.md +373 -0
- package/src/core/commands/seo/competitor.md +174 -0
- package/src/core/commands/seo/content.md +107 -0
- package/src/core/commands/seo/geo.md +229 -0
- package/src/core/commands/seo/hreflang.md +140 -0
- package/src/core/commands/seo/images.md +96 -0
- package/src/core/commands/seo/page.md +198 -0
- package/src/core/commands/seo/plan.md +163 -0
- package/src/core/commands/seo/programmatic.md +131 -0
- package/src/core/commands/seo/references/cwv-thresholds.md +64 -0
- package/src/core/commands/seo/references/eeat-framework.md +110 -0
- package/src/core/commands/seo/references/quality-gates.md +91 -0
- package/src/core/commands/seo/references/schema-types.md +102 -0
- package/src/core/commands/seo/schema.md +183 -0
- package/src/core/commands/seo/sitemap.md +97 -0
- package/src/core/commands/seo/technical.md +100 -0
- package/src/core/commands/seo.md +107 -0
- package/src/core/commands/skill/list.md +68 -212
- package/src/core/commands/skill/recommend.md +216 -0
- package/src/core/commands/tdd-next.md +238 -0
- package/src/core/commands/tdd.md +210 -0
- package/src/core/experts/_core-expertise.yaml +105 -0
- package/src/core/experts/analytics/expertise.yaml +5 -99
- package/src/core/experts/codebase-query/expertise.yaml +3 -72
- package/src/core/experts/compliance/expertise.yaml +6 -72
- package/src/core/experts/database/expertise.yaml +9 -52
- package/src/core/experts/documentation/expertise.yaml +7 -140
- package/src/core/experts/integrations/expertise.yaml +7 -127
- package/src/core/experts/mentor/expertise.yaml +8 -35
- package/src/core/experts/monitoring/expertise.yaml +7 -49
- package/src/core/experts/performance/expertise.yaml +1 -26
- package/src/core/experts/security/expertise.yaml +9 -34
- package/src/core/experts/ui/expertise.yaml +6 -36
- package/src/core/knowledge/ads/ad-audit-checklist-scoring.md +424 -0
- package/src/core/knowledge/ads/ad-optimization-logic.md +590 -0
- package/src/core/knowledge/ads/ad-technical-specifications.md +385 -0
- package/src/core/knowledge/ads/definitive-advertising-reference-2026.md +506 -0
- package/src/core/knowledge/ads/paid-advertising-research-2026.md +445 -0
- package/src/core/templates/agileflow-metadata.json +15 -1
- package/tools/cli/installers/ide/_base-ide.js +42 -5
- package/tools/cli/installers/ide/claude-code.js +3 -3
- package/tools/cli/lib/content-injector.js +160 -12
- package/tools/cli/lib/docs-setup.js +1 -1
- package/src/core/commands/skill/create.md +0 -698
- package/src/core/commands/skill/delete.md +0 -316
- package/src/core/commands/skill/edit.md +0 -359
- package/src/core/commands/skill/test.md +0 -394
- package/src/core/commands/skill/upgrade.md +0 -552
- package/src/core/templates/skill-template.md +0 -117
|
@@ -0,0 +1,373 @@
|
|
|
1
|
+
---
|
|
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]"
|
|
4
|
+
compact_context:
|
|
5
|
+
priority: high
|
|
6
|
+
preserve_rules:
|
|
7
|
+
- "ACTIVE COMMAND: /agileflow:seo:audit - Full website SEO audit"
|
|
8
|
+
- "CRITICAL: Deploy 6 analyzers IN PARALLEL in ONE message with multiple Task calls"
|
|
9
|
+
- "CRITICAL: Wait for all results before running consensus (use TaskOutput with block=true)"
|
|
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)"
|
|
12
|
+
- "Fetch homepage FIRST to detect business type before deploying analyzers"
|
|
13
|
+
- "Pass all analyzer outputs to seo-consensus for final report"
|
|
14
|
+
state_fields:
|
|
15
|
+
- target_url
|
|
16
|
+
- depth
|
|
17
|
+
- max_pages
|
|
18
|
+
- business_type
|
|
19
|
+
- analyzers_deployed
|
|
20
|
+
- health_score
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# /agileflow:seo:audit
|
|
24
|
+
|
|
25
|
+
Deploy 6 specialized SEO analyzers in parallel to audit a website, then synthesize results through consensus into a weighted health score (0-100) with prioritized action plan.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Quick Reference
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
/agileflow:seo:audit https://example.com # Quick audit (all 6 analyzers)
|
|
33
|
+
/agileflow:seo:audit https://example.com DEPTH=deep # Deep audit (more thorough per-analyzer)
|
|
34
|
+
/agileflow:seo:audit https://example.com MAX_PAGES=100 # Audit up to 100 pages
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## How It Works
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
┌──────────────────────────────────────────────────────────────┐
|
|
43
|
+
│ /agileflow:seo:audit │
|
|
44
|
+
│ │
|
|
45
|
+
│ 1. Parse arguments (URL, depth, max_pages) │
|
|
46
|
+
│ 2. Fetch homepage → detect business type │
|
|
47
|
+
│ 3. Fetch robots.txt + sitemap.xml │
|
|
48
|
+
│ 4. Deploy 6 analyzers IN PARALLEL │
|
|
49
|
+
│ 5. Collect all results │
|
|
50
|
+
│ 6. Run consensus → weighted health score │
|
|
51
|
+
│ 7. Generate SEO Audit Report + action plan │
|
|
52
|
+
└──────────────────────────────────────────────────────────────┘
|
|
53
|
+
|
|
54
|
+
┌──────────┐ ┌─────────┐ ┌────────┐
|
|
55
|
+
│Technical │ │ Content │ │ Schema │
|
|
56
|
+
└────┬─────┘ └────┬────┘ └───┬────┘
|
|
57
|
+
│ │ │
|
|
58
|
+
┌────┴──────┐ ┌───┴────┐ ┌──┴──────┐
|
|
59
|
+
│Performance│ │ Images │ │ Sitemap │
|
|
60
|
+
└────┬──────┘ └───┬────┘ └──┬──────┘
|
|
61
|
+
│ │ │
|
|
62
|
+
└────────────┼──────────┘
|
|
63
|
+
▼
|
|
64
|
+
┌─────────────────────┐
|
|
65
|
+
│ SEO Consensus │
|
|
66
|
+
│ (weighted scoring, │
|
|
67
|
+
│ health score, │
|
|
68
|
+
│ action plan) │
|
|
69
|
+
└─────────────────────┘
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Arguments
|
|
75
|
+
|
|
76
|
+
| Argument | Values | Default | Description |
|
|
77
|
+
|----------|--------|---------|-------------|
|
|
78
|
+
| URL | Any valid URL | Required | Homepage URL to audit |
|
|
79
|
+
| DEPTH | quick, deep | quick | quick = standard analysis, deep = comprehensive |
|
|
80
|
+
| MAX_PAGES | 1-500 | 50 | Maximum pages to analyze |
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Step-by-Step Process
|
|
85
|
+
|
|
86
|
+
### STEP 1: Parse Arguments
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
URL = first argument (required - ask if missing)
|
|
90
|
+
DEPTH = quick (default) or deep
|
|
91
|
+
MAX_PAGES = 50 (default)
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
If URL is missing, ask:
|
|
95
|
+
```xml
|
|
96
|
+
<invoke name="AskUserQuestion">
|
|
97
|
+
<parameter name="questions">[{
|
|
98
|
+
"question": "Which website would you like to audit?",
|
|
99
|
+
"header": "Target URL",
|
|
100
|
+
"multiSelect": false,
|
|
101
|
+
"options": [
|
|
102
|
+
{"label": "Enter URL", "description": "e.g., https://example.com"}
|
|
103
|
+
]
|
|
104
|
+
}]</parameter>
|
|
105
|
+
</invoke>
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### STEP 2: Detect Business Type
|
|
109
|
+
|
|
110
|
+
Fetch the homepage with WebFetch and classify the business:
|
|
111
|
+
|
|
112
|
+
| Type | Indicators |
|
|
113
|
+
|------|-----------|
|
|
114
|
+
| **SaaS** | Login/signup, pricing page, docs, API references, "free trial" |
|
|
115
|
+
| **Local Business** | Address, phone, map, service areas, hours, "near me" |
|
|
116
|
+
| **E-commerce** | Products, cart, checkout, categories, prices, reviews |
|
|
117
|
+
| **Publisher** | Articles, blog, news, editorial, bylines, publication dates |
|
|
118
|
+
| **Agency** | Portfolio, services list, team page, case studies, "hire us" |
|
|
119
|
+
|
|
120
|
+
Also fetch:
|
|
121
|
+
- `{URL}/robots.txt` - crawl rules, sitemap location
|
|
122
|
+
- `{URL}/sitemap.xml` - page inventory
|
|
123
|
+
|
|
124
|
+
### STEP 3: Deploy 6 Analyzers in Parallel
|
|
125
|
+
|
|
126
|
+
**CRITICAL**: Deploy ALL 6 analyzers in a SINGLE message with multiple Task calls.
|
|
127
|
+
|
|
128
|
+
```xml
|
|
129
|
+
<invoke name="Task">
|
|
130
|
+
<parameter name="description">Technical SEO analysis</parameter>
|
|
131
|
+
<parameter name="prompt">TASK: Analyze technical SEO for this website.
|
|
132
|
+
|
|
133
|
+
TARGET URL: {url}
|
|
134
|
+
DEPTH: {quick|deep}
|
|
135
|
+
BUSINESS TYPE: {detected type}
|
|
136
|
+
|
|
137
|
+
Analyze: crawlability, indexability, security headers, URL structure, mobile-friendliness, and CWV indicators.
|
|
138
|
+
|
|
139
|
+
Also check robots.txt and basic crawl rules.
|
|
140
|
+
|
|
141
|
+
OUTPUT your findings in standard format with Technical SEO Score X/100.</parameter>
|
|
142
|
+
<parameter name="subagent_type">seo-analyzer-technical</parameter>
|
|
143
|
+
<parameter name="run_in_background">true</parameter>
|
|
144
|
+
</invoke>
|
|
145
|
+
|
|
146
|
+
<invoke name="Task">
|
|
147
|
+
<parameter name="description">Content quality E-E-A-T analysis</parameter>
|
|
148
|
+
<parameter name="prompt">TASK: Analyze content quality and E-E-A-T signals.
|
|
149
|
+
|
|
150
|
+
TARGET URL: {url}
|
|
151
|
+
DEPTH: {quick|deep}
|
|
152
|
+
BUSINESS TYPE: {detected type}
|
|
153
|
+
|
|
154
|
+
Assess: Trustworthiness (30%), Expertise (25%), Authoritativeness (25%), Experience (20%), plus content depth, readability, and AI citation readiness.
|
|
155
|
+
|
|
156
|
+
OUTPUT your findings with Content Quality Score X/100.</parameter>
|
|
157
|
+
<parameter name="subagent_type">seo-analyzer-content</parameter>
|
|
158
|
+
<parameter name="run_in_background">true</parameter>
|
|
159
|
+
</invoke>
|
|
160
|
+
|
|
161
|
+
<invoke name="Task">
|
|
162
|
+
<parameter name="description">Schema/structured data analysis</parameter>
|
|
163
|
+
<parameter name="prompt">TASK: Analyze schema markup and structured data.
|
|
164
|
+
|
|
165
|
+
TARGET URL: {url}
|
|
166
|
+
DEPTH: {quick|deep}
|
|
167
|
+
BUSINESS TYPE: {detected type}
|
|
168
|
+
|
|
169
|
+
Detect: existing JSON-LD/Microdata/RDFa, validate against Google standards, flag deprecated types, identify missing schema opportunities, generate ready-to-use snippets.
|
|
170
|
+
|
|
171
|
+
OUTPUT your findings with Schema Score X/100.</parameter>
|
|
172
|
+
<parameter name="subagent_type">seo-analyzer-schema</parameter>
|
|
173
|
+
<parameter name="run_in_background">true</parameter>
|
|
174
|
+
</invoke>
|
|
175
|
+
|
|
176
|
+
<invoke name="Task">
|
|
177
|
+
<parameter name="description">Image optimization analysis</parameter>
|
|
178
|
+
<parameter name="prompt">TASK: Analyze image optimization.
|
|
179
|
+
|
|
180
|
+
TARGET URL: {url}
|
|
181
|
+
DEPTH: {quick|deep}
|
|
182
|
+
BUSINESS TYPE: {detected type}
|
|
183
|
+
|
|
184
|
+
Check: alt text quality, image sizing (CLS), modern formats (WebP/AVIF), lazy loading, LCP image priority, responsive images.
|
|
185
|
+
|
|
186
|
+
OUTPUT your findings with Image Optimization Score X/100.</parameter>
|
|
187
|
+
<parameter name="subagent_type">seo-analyzer-images</parameter>
|
|
188
|
+
<parameter name="run_in_background">true</parameter>
|
|
189
|
+
</invoke>
|
|
190
|
+
|
|
191
|
+
<invoke name="Task">
|
|
192
|
+
<parameter name="description">Core Web Vitals performance analysis</parameter>
|
|
193
|
+
<parameter name="prompt">TASK: Analyze performance and Core Web Vitals.
|
|
194
|
+
|
|
195
|
+
TARGET URL: {url}
|
|
196
|
+
DEPTH: {quick|deep}
|
|
197
|
+
BUSINESS TYPE: {detected type}
|
|
198
|
+
|
|
199
|
+
Assess: LCP optimization, INP indicators, CLS risk factors, resource loading, render-blocking resources, third-party impact.
|
|
200
|
+
|
|
201
|
+
OUTPUT your findings with Performance Score X/100.</parameter>
|
|
202
|
+
<parameter name="subagent_type">seo-analyzer-performance</parameter>
|
|
203
|
+
<parameter name="run_in_background">true</parameter>
|
|
204
|
+
</invoke>
|
|
205
|
+
|
|
206
|
+
<invoke name="Task">
|
|
207
|
+
<parameter name="description">Sitemap validation analysis</parameter>
|
|
208
|
+
<parameter name="prompt">TASK: Analyze XML sitemap.
|
|
209
|
+
|
|
210
|
+
TARGET URL: {url}
|
|
211
|
+
DEPTH: {quick|deep}
|
|
212
|
+
BUSINESS TYPE: {detected type}
|
|
213
|
+
|
|
214
|
+
Validate: sitemap existence, XML structure, URL coverage, quality gates, robots.txt reference.
|
|
215
|
+
|
|
216
|
+
OUTPUT your findings with Sitemap Score X/100.</parameter>
|
|
217
|
+
<parameter name="subagent_type">seo-analyzer-sitemap</parameter>
|
|
218
|
+
<parameter name="run_in_background">true</parameter>
|
|
219
|
+
</invoke>
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### STEP 4: Collect Results
|
|
223
|
+
|
|
224
|
+
Wait for all analyzers to complete using TaskOutput with block=true. Collect all 6 outputs.
|
|
225
|
+
|
|
226
|
+
### STEP 5: Run Consensus Coordinator
|
|
227
|
+
|
|
228
|
+
Pass all analyzer outputs to the consensus coordinator:
|
|
229
|
+
|
|
230
|
+
```xml
|
|
231
|
+
<invoke name="Task">
|
|
232
|
+
<parameter name="description">SEO audit consensus and scoring</parameter>
|
|
233
|
+
<parameter name="prompt">You are the SEO Consensus Coordinator.
|
|
234
|
+
|
|
235
|
+
TARGET URL: {url}
|
|
236
|
+
BUSINESS TYPE: {detected type}
|
|
237
|
+
DEPTH: {depth}
|
|
238
|
+
|
|
239
|
+
## Analyzer Outputs
|
|
240
|
+
|
|
241
|
+
### Technical SEO Results:
|
|
242
|
+
{technical_output}
|
|
243
|
+
|
|
244
|
+
### Content Quality Results:
|
|
245
|
+
{content_output}
|
|
246
|
+
|
|
247
|
+
### Schema Results:
|
|
248
|
+
{schema_output}
|
|
249
|
+
|
|
250
|
+
### Image Optimization Results:
|
|
251
|
+
{images_output}
|
|
252
|
+
|
|
253
|
+
### Performance Results:
|
|
254
|
+
{performance_output}
|
|
255
|
+
|
|
256
|
+
### Sitemap Results:
|
|
257
|
+
{sitemap_output}
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
Follow your consensus process:
|
|
262
|
+
1. Confirm business type classification
|
|
263
|
+
2. Parse all findings into normalized structure
|
|
264
|
+
3. Calculate category scores (each out of 100)
|
|
265
|
+
4. Apply weights: Technical 20%, Content 20%, Schema 15%, Performance 15%, Images 15%, Sitemap 15%
|
|
266
|
+
5. Compute overall Health Score 0-100
|
|
267
|
+
6. Cross-reference findings flagged by multiple analyzers
|
|
268
|
+
7. Prioritize: Critical → High → Medium → Low
|
|
269
|
+
8. Generate action plan with quick wins
|
|
270
|
+
9. Save report to docs/08-project/seo-audits/seo-audit-{YYYYMMDD}.md</parameter>
|
|
271
|
+
<parameter name="subagent_type">seo-consensus</parameter>
|
|
272
|
+
</invoke>
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
### STEP 6: Present Results
|
|
276
|
+
|
|
277
|
+
After consensus completes, show summary and offer next steps:
|
|
278
|
+
|
|
279
|
+
```xml
|
|
280
|
+
<invoke name="AskUserQuestion">
|
|
281
|
+
<parameter name="questions">[{
|
|
282
|
+
"question": "SEO Audit complete: Health Score {X}/100 ({rating}). Business type: {type}. {N} findings ({critical} critical, {high} high).",
|
|
283
|
+
"header": "Next steps",
|
|
284
|
+
"multiSelect": false,
|
|
285
|
+
"options": [
|
|
286
|
+
{"label": "Fix {critical} Critical issues now (Recommended)", "description": "{top_issue_summary}"},
|
|
287
|
+
{"label": "Deep-dive into {lowest_category}", "description": "Lowest score: {category} at {score}/100"},
|
|
288
|
+
{"label": "Generate schema markup for this site", "description": "Run /agileflow:seo:schema to get ready-to-use JSON-LD"},
|
|
289
|
+
{"label": "Create SEO improvement plan", "description": "Run /agileflow:seo:plan for strategic roadmap"}
|
|
290
|
+
]
|
|
291
|
+
}]</parameter>
|
|
292
|
+
</invoke>
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
297
|
+
## Example Output
|
|
298
|
+
|
|
299
|
+
```
|
|
300
|
+
SEO Audit: https://example.com
|
|
301
|
+
══════════════════════════════════════════════════════════════
|
|
302
|
+
|
|
303
|
+
Business Type: SaaS
|
|
304
|
+
Depth: quick
|
|
305
|
+
|
|
306
|
+
Deploying 6 SEO analyzers...
|
|
307
|
+
✓ Technical SEO Analyzer
|
|
308
|
+
✓ Content Quality Analyzer
|
|
309
|
+
✓ Schema Analyzer
|
|
310
|
+
✓ Image Optimization Analyzer
|
|
311
|
+
✓ Performance Analyzer
|
|
312
|
+
✓ Sitemap Analyzer
|
|
313
|
+
|
|
314
|
+
Running consensus...
|
|
315
|
+
✓ Consensus complete
|
|
316
|
+
|
|
317
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
318
|
+
HEALTH SCORE: 72/100 (Good)
|
|
319
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
320
|
+
|
|
321
|
+
| Category | Score | Weight | Weighted |
|
|
322
|
+
|-----------------|--------|--------|----------|
|
|
323
|
+
| Technical SEO | 85/100 | 20% | 17.0 |
|
|
324
|
+
| Content Quality | 68/100 | 20% | 13.6 |
|
|
325
|
+
| Schema | 45/100 | 15% | 6.8 |
|
|
326
|
+
| Performance | 78/100 | 15% | 11.7 |
|
|
327
|
+
| Images | 82/100 | 15% | 12.3 |
|
|
328
|
+
| Sitemap | 75/100 | 15% | 11.3 |
|
|
329
|
+
|
|
330
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
331
|
+
CRITICAL: 1 | HIGH: 3 | MEDIUM: 5 | LOW: 2
|
|
332
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
333
|
+
|
|
334
|
+
[Full report saved to docs/08-project/seo-audits/seo-audit-20260225.md]
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
---
|
|
338
|
+
|
|
339
|
+
<!-- COMPACT_SUMMARY_START -->
|
|
340
|
+
## Compact Summary
|
|
341
|
+
|
|
342
|
+
**Command**: `/agileflow:seo:audit` - Full website SEO audit with 6 parallel analyzers
|
|
343
|
+
|
|
344
|
+
**Quick Usage**:
|
|
345
|
+
```
|
|
346
|
+
/agileflow:seo:audit https://example.com # Quick audit
|
|
347
|
+
/agileflow:seo:audit https://example.com DEPTH=deep # Deep audit
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
**What It Does**: Fetch homepage → Detect business type → Deploy 6 analyzers in parallel → Consensus weights scores → Health Score 0-100 → Prioritized action plan
|
|
351
|
+
|
|
352
|
+
**Analyzers (all 6 deploy in parallel)**:
|
|
353
|
+
- `seo-analyzer-technical` - Crawlability, indexability, security, URLs, mobile
|
|
354
|
+
- `seo-analyzer-content` - E-E-A-T scoring, readability, AI citation readiness
|
|
355
|
+
- `seo-analyzer-schema` - JSON-LD detection, validation, deprecated types
|
|
356
|
+
- `seo-analyzer-images` - Alt text, sizing, formats, lazy loading
|
|
357
|
+
- `seo-analyzer-performance` - LCP, INP, CLS, resource loading
|
|
358
|
+
- `seo-analyzer-sitemap` - XML validation, coverage, quality gates
|
|
359
|
+
|
|
360
|
+
**Category Weights**: Technical 20%, Content 20%, Schema 15%, Performance 15%, Images 15%, Sitemap 15%
|
|
361
|
+
|
|
362
|
+
**Output**: `docs/08-project/seo-audits/seo-audit-{YYYYMMDD}.md`
|
|
363
|
+
<!-- COMPACT_SUMMARY_END -->
|
|
364
|
+
|
|
365
|
+
---
|
|
366
|
+
|
|
367
|
+
## Related Commands
|
|
368
|
+
|
|
369
|
+
- `/agileflow:seo:page` - Deep-dive into a single page
|
|
370
|
+
- `/agileflow:seo:schema` - Generate schema markup
|
|
371
|
+
- `/agileflow:seo:geo` - AI search optimization
|
|
372
|
+
- `/agileflow:seo:plan` - Strategic SEO planning
|
|
373
|
+
- `/agileflow:seo:technical` - Technical SEO deep-dive
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: SEO competitor comparison - analyze competing pages, generate feature matrices, and create comparison content with schema markup
|
|
3
|
+
argument-hint: "YOUR_URL COMPETITOR_URL [COMPETITOR_URL_2]"
|
|
4
|
+
compact_context:
|
|
5
|
+
priority: medium
|
|
6
|
+
preserve_rules:
|
|
7
|
+
- "ACTIVE COMMAND: /agileflow:seo:competitor - Competitor SEO comparison"
|
|
8
|
+
- "Fetch both your page and competitor page(s)"
|
|
9
|
+
- "Generate feature comparison matrix"
|
|
10
|
+
- "Produce comparison page content with Product schema"
|
|
11
|
+
state_fields:
|
|
12
|
+
- your_url
|
|
13
|
+
- competitor_urls
|
|
14
|
+
- comparison_matrix
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# /agileflow:seo:competitor
|
|
18
|
+
|
|
19
|
+
Analyze competitor pages and generate SEO-optimized comparison content with feature matrices and structured data.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Quick Reference
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
/agileflow:seo:competitor https://you.com https://competitor.com # 1v1 comparison
|
|
27
|
+
/agileflow:seo:competitor https://you.com https://comp1.com https://comp2.com # Multi-competitor
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Arguments
|
|
33
|
+
|
|
34
|
+
| Argument | Values | Default | Description |
|
|
35
|
+
|----------|--------|---------|-------------|
|
|
36
|
+
| YOUR_URL | Any valid URL | Required | Your product/service page |
|
|
37
|
+
| COMPETITOR_URL | Any valid URL(s) | Required | Competitor page(s) to compare (1-3) |
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Process
|
|
42
|
+
|
|
43
|
+
### STEP 1: Fetch All Pages
|
|
44
|
+
|
|
45
|
+
Use WebFetch to retrieve your page and each competitor page. Extract:
|
|
46
|
+
- Product/service name
|
|
47
|
+
- Features list
|
|
48
|
+
- Pricing (if visible)
|
|
49
|
+
- Key differentiators
|
|
50
|
+
- Schema markup present
|
|
51
|
+
- Meta title/description
|
|
52
|
+
|
|
53
|
+
### STEP 2: Build Feature Matrix
|
|
54
|
+
|
|
55
|
+
Create a comparison matrix:
|
|
56
|
+
|
|
57
|
+
```markdown
|
|
58
|
+
| Feature | Your Product | Competitor A | Competitor B |
|
|
59
|
+
|---------|-------------|-------------|-------------|
|
|
60
|
+
| {feature 1} | Yes/No/Value | Yes/No/Value | Yes/No/Value |
|
|
61
|
+
| {feature 2} | Yes/No/Value | Yes/No/Value | Yes/No/Value |
|
|
62
|
+
| Pricing | {price} | {price} | {price} |
|
|
63
|
+
| Free Trial | Yes/No | Yes/No | Yes/No |
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### STEP 3: SEO Comparison
|
|
67
|
+
|
|
68
|
+
Compare SEO elements:
|
|
69
|
+
|
|
70
|
+
| Element | You | Competitor |
|
|
71
|
+
|---------|-----|-----------|
|
|
72
|
+
| Title tag | {length, keywords} | {length, keywords} |
|
|
73
|
+
| Meta description | {present, quality} | {present, quality} |
|
|
74
|
+
| H1 | {text} | {text} |
|
|
75
|
+
| Schema types | {types} | {types} |
|
|
76
|
+
| Word count | {count} | {count} |
|
|
77
|
+
| Internal links | {count} | {count} |
|
|
78
|
+
| Image optimization | {score} | {score} |
|
|
79
|
+
|
|
80
|
+
### STEP 4: Generate Comparison Content
|
|
81
|
+
|
|
82
|
+
Produce draft comparison page content:
|
|
83
|
+
|
|
84
|
+
```markdown
|
|
85
|
+
# {Your Product} vs {Competitor}: {Year} Comparison
|
|
86
|
+
|
|
87
|
+
## Quick Summary
|
|
88
|
+
|
|
89
|
+
{2-3 sentence overview}
|
|
90
|
+
|
|
91
|
+
## Feature Comparison
|
|
92
|
+
|
|
93
|
+
[Feature matrix table]
|
|
94
|
+
|
|
95
|
+
## {Your Product} Advantages
|
|
96
|
+
|
|
97
|
+
1. {advantage with evidence}
|
|
98
|
+
2. {advantage}
|
|
99
|
+
|
|
100
|
+
## When to Choose {Competitor}
|
|
101
|
+
|
|
102
|
+
{Fair, balanced assessment}
|
|
103
|
+
|
|
104
|
+
## Pricing Comparison
|
|
105
|
+
|
|
106
|
+
[Pricing table]
|
|
107
|
+
|
|
108
|
+
## Verdict
|
|
109
|
+
|
|
110
|
+
{Balanced recommendation}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### STEP 5: Generate Schema
|
|
114
|
+
|
|
115
|
+
```json
|
|
116
|
+
{
|
|
117
|
+
"@context": "https://schema.org",
|
|
118
|
+
"@type": "WebPage",
|
|
119
|
+
"name": "{Your Product} vs {Competitor}",
|
|
120
|
+
"description": "Compare {Your Product} and {Competitor} features, pricing, and capabilities",
|
|
121
|
+
"mainEntity": {
|
|
122
|
+
"@type": "ItemList",
|
|
123
|
+
"itemListElement": [
|
|
124
|
+
{
|
|
125
|
+
"@type": "Product",
|
|
126
|
+
"name": "{Your Product}",
|
|
127
|
+
"url": "{your_url}"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"@type": "Product",
|
|
131
|
+
"name": "{Competitor}",
|
|
132
|
+
"url": "{competitor_url}"
|
|
133
|
+
}
|
|
134
|
+
]
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### STEP 6: Output
|
|
140
|
+
|
|
141
|
+
```markdown
|
|
142
|
+
# Competitor Analysis: {You} vs {Competitor(s)}
|
|
143
|
+
|
|
144
|
+
## SEO Comparison
|
|
145
|
+
[Side-by-side SEO element comparison]
|
|
146
|
+
|
|
147
|
+
## Feature Matrix
|
|
148
|
+
[Feature comparison table]
|
|
149
|
+
|
|
150
|
+
## Content Gaps
|
|
151
|
+
[What competitor has that you're missing]
|
|
152
|
+
|
|
153
|
+
## Generated Comparison Page
|
|
154
|
+
[Draft content ready to publish]
|
|
155
|
+
|
|
156
|
+
## Schema Markup
|
|
157
|
+
[JSON-LD for the comparison page]
|
|
158
|
+
|
|
159
|
+
## SEO Recommendations
|
|
160
|
+
1. {Priority improvement}
|
|
161
|
+
2. {Next priority}
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
<!-- COMPACT_SUMMARY_START -->
|
|
167
|
+
## Compact Summary
|
|
168
|
+
|
|
169
|
+
**Command**: `/agileflow:seo:competitor` - Competitor SEO comparison
|
|
170
|
+
|
|
171
|
+
**Output**: Feature matrix, SEO comparison, draft comparison page content, schema markup
|
|
172
|
+
|
|
173
|
+
**Usage**: `/agileflow:seo:competitor YOUR_URL COMPETITOR_URL [COMPETITOR_URL_2]`
|
|
174
|
+
<!-- COMPACT_SUMMARY_END -->
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: E-E-A-T content quality analysis - trustworthiness, expertise, authoritativeness, experience scoring with AI content detection
|
|
3
|
+
argument-hint: "URL [TYPE=homepage|service|blog|product|location]"
|
|
4
|
+
compact_context:
|
|
5
|
+
priority: medium
|
|
6
|
+
preserve_rules:
|
|
7
|
+
- "ACTIVE COMMAND: /agileflow:seo:content - E-E-A-T content quality analysis"
|
|
8
|
+
- "Deploy seo-analyzer-content for comprehensive E-E-A-T assessment"
|
|
9
|
+
- "Score: Trust 30%, Expertise 25%, Authoritativeness 25%, Experience 20%"
|
|
10
|
+
- "Check content minimums by page type (from quality-gates.md)"
|
|
11
|
+
state_fields:
|
|
12
|
+
- target_url
|
|
13
|
+
- page_type
|
|
14
|
+
- eeat_score
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# /agileflow:seo:content
|
|
18
|
+
|
|
19
|
+
Analyze content quality using the E-E-A-T framework (Experience, Expertise, Authoritativeness, Trustworthiness). Includes AI content detection and citation readiness assessment.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Quick Reference
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
/agileflow:seo:content https://example.com # Homepage content analysis
|
|
27
|
+
/agileflow:seo:content https://example.com/blog/post TYPE=blog # Blog post analysis
|
|
28
|
+
/agileflow:seo:content https://example.com/services TYPE=service # Service page analysis
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Arguments
|
|
34
|
+
|
|
35
|
+
| Argument | Values | Default | Description |
|
|
36
|
+
|----------|--------|---------|-------------|
|
|
37
|
+
| URL | Any valid URL | Required | Page to analyze |
|
|
38
|
+
| TYPE | homepage, service, blog, product, location | Auto-detect | Page type (affects content minimums) |
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Process
|
|
43
|
+
|
|
44
|
+
### STEP 1: Deploy Content Analyzer
|
|
45
|
+
|
|
46
|
+
```xml
|
|
47
|
+
<invoke name="Task">
|
|
48
|
+
<parameter name="description">E-E-A-T content quality analysis</parameter>
|
|
49
|
+
<parameter name="prompt">TASK: Perform deep E-E-A-T content quality analysis.
|
|
50
|
+
|
|
51
|
+
TARGET URL: {url}
|
|
52
|
+
PAGE TYPE: {type or "auto-detect"}
|
|
53
|
+
|
|
54
|
+
Score each E-E-A-T factor:
|
|
55
|
+
- Trustworthiness (30%): HTTPS, contact, privacy, transparency, no deception
|
|
56
|
+
- Expertise (25%): Author credentials, citations, accuracy, depth
|
|
57
|
+
- Authoritativeness (25%): Brand signals, testimonials, certifications, NAP
|
|
58
|
+
- Experience (20%): First-hand accounts, original media, specific data, case studies
|
|
59
|
+
|
|
60
|
+
Also assess:
|
|
61
|
+
- Content depth vs minimums (homepage 500w, service 800w, blog 1500w, product 300w)
|
|
62
|
+
- Content uniqueness (boilerplate vs original)
|
|
63
|
+
- Readability level
|
|
64
|
+
- AI content red flags (generic phrasing, no insights, fabricated experience)
|
|
65
|
+
- AI citation readiness (self-contained blocks, specific facts, question headers)
|
|
66
|
+
|
|
67
|
+
OUTPUT: Content Quality Score X/100 with E-E-A-T breakdown.</parameter>
|
|
68
|
+
<parameter name="subagent_type">seo-analyzer-content</parameter>
|
|
69
|
+
</invoke>
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### STEP 2: Present Results
|
|
73
|
+
|
|
74
|
+
Show E-E-A-T breakdown with signal-level detail and remediation steps.
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## E-E-A-T Scoring
|
|
79
|
+
|
|
80
|
+
| Factor | Weight | Key Signals |
|
|
81
|
+
|--------|--------|-------------|
|
|
82
|
+
| Trustworthiness | 30% | HTTPS, contact info, privacy policy, editorial transparency |
|
|
83
|
+
| Expertise | 25% | Author bylines, cited sources, technical depth |
|
|
84
|
+
| Authoritativeness | 25% | Brand identity, certifications, media mentions |
|
|
85
|
+
| Experience | 20% | First-person accounts, original photos, specific data |
|
|
86
|
+
|
|
87
|
+
## Content Minimums (from quality-gates.md)
|
|
88
|
+
|
|
89
|
+
| Page Type | Min Words | Unique % |
|
|
90
|
+
|-----------|-----------|----------|
|
|
91
|
+
| Homepage | 500 | 100% |
|
|
92
|
+
| Service | 800 | 60% |
|
|
93
|
+
| Blog | 1,500 | 100% |
|
|
94
|
+
| Product | 300 | 40% |
|
|
95
|
+
| Location | 500 | 40% |
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
<!-- COMPACT_SUMMARY_START -->
|
|
100
|
+
## Compact Summary
|
|
101
|
+
|
|
102
|
+
**Command**: `/agileflow:seo:content` - E-E-A-T content quality analysis
|
|
103
|
+
|
|
104
|
+
**Scoring**: Trust 30%, Expertise 25%, Authority 25%, Experience 20%
|
|
105
|
+
|
|
106
|
+
**Usage**: `/agileflow:seo:content URL [TYPE=page_type]`
|
|
107
|
+
<!-- COMPACT_SUMMARY_END -->
|