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.
Files changed (121) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/README.md +6 -6
  3. package/lib/skill-loader.js +0 -1
  4. package/package.json +1 -1
  5. package/scripts/agileflow-statusline.sh +81 -0
  6. package/scripts/claude-tmux.sh +113 -22
  7. package/scripts/claude-watchdog.sh +225 -0
  8. package/scripts/generators/agent-registry.js +14 -1
  9. package/scripts/generators/inject-babysit.js +22 -9
  10. package/scripts/generators/inject-help.js +19 -9
  11. package/scripts/lib/audit-cleanup.js +250 -0
  12. package/scripts/lib/audit-registry.js +248 -0
  13. package/scripts/lib/feature-catalog.js +3 -3
  14. package/scripts/lib/gate-enforcer.js +295 -0
  15. package/scripts/lib/model-profiles.js +98 -0
  16. package/scripts/lib/signal-detectors.js +1 -1
  17. package/scripts/lib/skill-catalog.js +557 -0
  18. package/scripts/lib/skill-recommender.js +311 -0
  19. package/scripts/lib/tdd-phase-manager.js +455 -0
  20. package/scripts/lib/team-events.js +34 -3
  21. package/scripts/lib/tmux-group-colors.js +113 -0
  22. package/scripts/messaging-bridge.js +209 -1
  23. package/scripts/spawn-audit-sessions.js +549 -0
  24. package/scripts/team-manager.js +37 -16
  25. package/scripts/tmux-close-windows.sh +180 -0
  26. package/src/core/agents/ads-audit-budget.md +181 -0
  27. package/src/core/agents/ads-audit-compliance.md +169 -0
  28. package/src/core/agents/ads-audit-creative.md +164 -0
  29. package/src/core/agents/ads-audit-google.md +226 -0
  30. package/src/core/agents/ads-audit-meta.md +183 -0
  31. package/src/core/agents/ads-audit-tracking.md +197 -0
  32. package/src/core/agents/ads-consensus.md +322 -0
  33. package/src/core/agents/brainstorm-analyzer-features.md +169 -0
  34. package/src/core/agents/brainstorm-analyzer-growth.md +161 -0
  35. package/src/core/agents/brainstorm-analyzer-integration.md +172 -0
  36. package/src/core/agents/brainstorm-analyzer-market.md +147 -0
  37. package/src/core/agents/brainstorm-analyzer-ux.md +167 -0
  38. package/src/core/agents/brainstorm-consensus.md +237 -0
  39. package/src/core/agents/completeness-consensus.md +5 -5
  40. package/src/core/agents/perf-consensus.md +2 -2
  41. package/src/core/agents/security-consensus.md +2 -2
  42. package/src/core/agents/seo-analyzer-content.md +167 -0
  43. package/src/core/agents/seo-analyzer-images.md +187 -0
  44. package/src/core/agents/seo-analyzer-performance.md +206 -0
  45. package/src/core/agents/seo-analyzer-schema.md +176 -0
  46. package/src/core/agents/seo-analyzer-sitemap.md +172 -0
  47. package/src/core/agents/seo-analyzer-technical.md +144 -0
  48. package/src/core/agents/seo-consensus.md +289 -0
  49. package/src/core/agents/test-consensus.md +2 -2
  50. package/src/core/commands/ads/audit.md +375 -0
  51. package/src/core/commands/ads/budget.md +97 -0
  52. package/src/core/commands/ads/competitor.md +112 -0
  53. package/src/core/commands/ads/creative.md +85 -0
  54. package/src/core/commands/ads/google.md +112 -0
  55. package/src/core/commands/ads/landing.md +119 -0
  56. package/src/core/commands/ads/linkedin.md +112 -0
  57. package/src/core/commands/ads/meta.md +91 -0
  58. package/src/core/commands/ads/microsoft.md +115 -0
  59. package/src/core/commands/ads/plan.md +321 -0
  60. package/src/core/commands/ads/tiktok.md +129 -0
  61. package/src/core/commands/ads/youtube.md +124 -0
  62. package/src/core/commands/ads.md +128 -0
  63. package/src/core/commands/babysit.md +249 -1284
  64. package/src/core/commands/{audit → code}/completeness.md +35 -25
  65. package/src/core/commands/{audit → code}/legal.md +26 -16
  66. package/src/core/commands/{audit → code}/logic.md +27 -16
  67. package/src/core/commands/{audit → code}/performance.md +30 -20
  68. package/src/core/commands/{audit → code}/security.md +32 -19
  69. package/src/core/commands/{audit → code}/test.md +30 -20
  70. package/src/core/commands/{discovery → ideate}/brief.md +12 -12
  71. package/src/core/commands/{discovery/new.md → ideate/discover.md} +13 -13
  72. package/src/core/commands/ideate/features.md +435 -0
  73. package/src/core/commands/seo/audit.md +373 -0
  74. package/src/core/commands/seo/competitor.md +174 -0
  75. package/src/core/commands/seo/content.md +107 -0
  76. package/src/core/commands/seo/geo.md +229 -0
  77. package/src/core/commands/seo/hreflang.md +140 -0
  78. package/src/core/commands/seo/images.md +96 -0
  79. package/src/core/commands/seo/page.md +198 -0
  80. package/src/core/commands/seo/plan.md +163 -0
  81. package/src/core/commands/seo/programmatic.md +131 -0
  82. package/src/core/commands/seo/references/cwv-thresholds.md +64 -0
  83. package/src/core/commands/seo/references/eeat-framework.md +110 -0
  84. package/src/core/commands/seo/references/quality-gates.md +91 -0
  85. package/src/core/commands/seo/references/schema-types.md +102 -0
  86. package/src/core/commands/seo/schema.md +183 -0
  87. package/src/core/commands/seo/sitemap.md +97 -0
  88. package/src/core/commands/seo/technical.md +100 -0
  89. package/src/core/commands/seo.md +107 -0
  90. package/src/core/commands/skill/list.md +68 -212
  91. package/src/core/commands/skill/recommend.md +216 -0
  92. package/src/core/commands/tdd-next.md +238 -0
  93. package/src/core/commands/tdd.md +210 -0
  94. package/src/core/experts/_core-expertise.yaml +105 -0
  95. package/src/core/experts/analytics/expertise.yaml +5 -99
  96. package/src/core/experts/codebase-query/expertise.yaml +3 -72
  97. package/src/core/experts/compliance/expertise.yaml +6 -72
  98. package/src/core/experts/database/expertise.yaml +9 -52
  99. package/src/core/experts/documentation/expertise.yaml +7 -140
  100. package/src/core/experts/integrations/expertise.yaml +7 -127
  101. package/src/core/experts/mentor/expertise.yaml +8 -35
  102. package/src/core/experts/monitoring/expertise.yaml +7 -49
  103. package/src/core/experts/performance/expertise.yaml +1 -26
  104. package/src/core/experts/security/expertise.yaml +9 -34
  105. package/src/core/experts/ui/expertise.yaml +6 -36
  106. package/src/core/knowledge/ads/ad-audit-checklist-scoring.md +424 -0
  107. package/src/core/knowledge/ads/ad-optimization-logic.md +590 -0
  108. package/src/core/knowledge/ads/ad-technical-specifications.md +385 -0
  109. package/src/core/knowledge/ads/definitive-advertising-reference-2026.md +506 -0
  110. package/src/core/knowledge/ads/paid-advertising-research-2026.md +445 -0
  111. package/src/core/templates/agileflow-metadata.json +15 -1
  112. package/tools/cli/installers/ide/_base-ide.js +42 -5
  113. package/tools/cli/installers/ide/claude-code.js +3 -3
  114. package/tools/cli/lib/content-injector.js +160 -12
  115. package/tools/cli/lib/docs-setup.js +1 -1
  116. package/src/core/commands/skill/create.md +0 -698
  117. package/src/core/commands/skill/delete.md +0 -316
  118. package/src/core/commands/skill/edit.md +0 -359
  119. package/src/core/commands/skill/test.md +0 -394
  120. package/src/core/commands/skill/upgrade.md +0 -552
  121. package/src/core/templates/skill-template.md +0 -117
@@ -0,0 +1,229 @@
1
+ ---
2
+ description: Generative Engine Optimization (GEO) - analyze and optimize content for AI search platforms like ChatGPT, Google AI Overviews, and Perplexity
3
+ argument-hint: "URL"
4
+ compact_context:
5
+ priority: medium
6
+ preserve_rules:
7
+ - "ACTIVE COMMAND: /agileflow:seo:geo - AI search optimization"
8
+ - "Assess 5 GEO dimensions: Citability, Structure, Multimodal, Authority, Technical Access"
9
+ - "Check robots.txt for AI bot access (GPTBot, ClaudeBot, PerplexityBot)"
10
+ - "Check for /llms.txt file"
11
+ - "Optimize for 134-167 word citation blocks"
12
+ state_fields:
13
+ - target_url
14
+ - geo_score
15
+ - ai_bot_access
16
+ ---
17
+
18
+ # /agileflow:seo:geo
19
+
20
+ Analyze and optimize content for AI search platforms (Generative Engine Optimization). Ensure your content gets cited by ChatGPT, Google AI Overviews, Perplexity, and Claude.
21
+
22
+ ---
23
+
24
+ ## Quick Reference
25
+
26
+ ```
27
+ /agileflow:seo:geo https://example.com # Full GEO analysis
28
+ /agileflow:seo:geo https://example.com/blog/guide # Analyze specific content page
29
+ ```
30
+
31
+ ---
32
+
33
+ ## Background
34
+
35
+ **GEO (Generative Engine Optimization)** optimizes content for AI-powered search platforms:
36
+ - Google AI Overviews
37
+ - ChatGPT (with Browse/Search)
38
+ - Perplexity
39
+ - Claude
40
+
41
+ **Key insight**: Brand correlation is 3x stronger than backlinks for AI visibility. 92% of AI citations come from top-10 traditional search results.
42
+
43
+ ---
44
+
45
+ ## Arguments
46
+
47
+ | Argument | Values | Default | Description |
48
+ |----------|--------|---------|-------------|
49
+ | URL | Any valid URL | Required | Page or site to analyze |
50
+
51
+ ---
52
+
53
+ ## GEO Assessment Framework
54
+
55
+ ### 1. Citability (25%)
56
+
57
+ AI platforms cite content that contains self-contained, quotable blocks:
58
+
59
+ | Signal | Good | Poor |
60
+ |--------|------|------|
61
+ | Answer blocks | 134-167 word self-contained paragraphs | Long unbroken paragraphs |
62
+ | Specific facts | Numbers, dates, names, percentages | Vague generalizations |
63
+ | Definitions | Clear "X is Y" statements | Implied definitions |
64
+ | Lists | Numbered/bulleted key points | Points buried in prose |
65
+ | Attribution | "According to [source]..." | Unsourced claims |
66
+
67
+ **Check**: Count paragraphs in the 134-167 word range. Assess whether they answer specific questions independently.
68
+
69
+ ### 2. Structure (20%)
70
+
71
+ AI platforms parse structured content more effectively:
72
+
73
+ | Signal | Good | Poor |
74
+ |--------|------|------|
75
+ | Question headers | H2/H3 as questions (Who, What, How) | Generic headings |
76
+ | Short paragraphs | 2-4 sentences | Wall of text |
77
+ | Tables | Comparison data in tables | Comparisons in prose |
78
+ | Numbered steps | Step-by-step instructions | Instructions in paragraphs |
79
+ | TL;DR / Summary | Key takeaway at top or bottom | No summary |
80
+
81
+ ### 3. Multimodal Content (15%)
82
+
83
+ Pages with multiple content types get 156% higher AI citation rates:
84
+
85
+ | Signal | Good | Poor |
86
+ |--------|------|------|
87
+ | Text + Images | Informative images with good alt text | Text only |
88
+ | Text + Video | Embedded video with transcript | No video |
89
+ | Text + Tables | Data visualization | Numbers in paragraphs |
90
+ | Interactive | Calculators, tools, quizzes | Static content only |
91
+ | Infographics | Visual summaries | No visual aids |
92
+
93
+ ### 4. Authority (20%)
94
+
95
+ AI platforms prioritize authoritative sources:
96
+
97
+ | Signal | Good | Poor |
98
+ |--------|------|------|
99
+ | Author credentials | Named author with bio/credentials | No attribution |
100
+ | Publication dates | Recent, prominently displayed | No dates or old |
101
+ | Primary sources | Original data, research, case studies | Only secondary sources |
102
+ | Citations | Links to authoritative references | No outbound links |
103
+ | Brand presence | Wikipedia, Reddit, YouTube mentions | No cross-platform presence |
104
+
105
+ ### 5. Technical Access (20%)
106
+
107
+ AI bots must be able to access your content:
108
+
109
+ | Signal | Good | Poor |
110
+ |--------|------|------|
111
+ | GPTBot allowed | Not blocked in robots.txt | Blocked |
112
+ | ClaudeBot allowed | Not blocked in robots.txt | Blocked |
113
+ | PerplexityBot allowed | Not blocked in robots.txt | Blocked |
114
+ | Google-Extended allowed | Not blocked | Blocked |
115
+ | `/llms.txt` present | Exists at root | Missing |
116
+ | Server-side rendering | Content in HTML source | JS-only rendering |
117
+ | Fast response | Quick TTFB | Slow or rate-limited |
118
+
119
+ ---
120
+
121
+ ## Process
122
+
123
+ ### STEP 1: Fetch Target Page
124
+
125
+ Use WebFetch to retrieve the page content.
126
+
127
+ ### STEP 2: Fetch robots.txt
128
+
129
+ Check `{domain}/robots.txt` for AI bot rules:
130
+ ```
131
+ User-agent: GPTBot
132
+ User-agent: ClaudeBot
133
+ User-agent: PerplexityBot
134
+ User-agent: Google-Extended
135
+ ```
136
+
137
+ ### STEP 3: Check for llms.txt
138
+
139
+ Fetch `{domain}/llms.txt` - a machine-readable site description for AI platforms.
140
+
141
+ ### STEP 4: Analyze Each Dimension
142
+
143
+ Score each of the 5 dimensions out of 100, then apply weights:
144
+
145
+ | Dimension | Weight |
146
+ |-----------|--------|
147
+ | Citability | 25% |
148
+ | Structure | 20% |
149
+ | Multimodal | 15% |
150
+ | Authority | 20% |
151
+ | Technical Access | 20% |
152
+
153
+ ### STEP 5: Output Report
154
+
155
+ ```markdown
156
+ # GEO Analysis: {URL}
157
+
158
+ ## AI Search Readiness Score: {X}/100
159
+
160
+ | Dimension | Score | Weight | Weighted | Key Finding |
161
+ |-----------|-------|--------|----------|-------------|
162
+ | Citability | {X}/100 | 25% | {X} | {finding} |
163
+ | Structure | {X}/100 | 20% | {X} | {finding} |
164
+ | Multimodal | {X}/100 | 15% | {X} | {finding} |
165
+ | Authority | {X}/100 | 20% | {X} | {finding} |
166
+ | Technical Access | {X}/100 | 20% | {X} | {finding} |
167
+
168
+ ## AI Bot Access Status
169
+
170
+ | Bot | Status | robots.txt |
171
+ |-----|--------|-----------|
172
+ | GPTBot (ChatGPT) | Allowed/Blocked | {rule or "No rule"} |
173
+ | ClaudeBot (Claude) | Allowed/Blocked | {rule or "No rule"} |
174
+ | PerplexityBot | Allowed/Blocked | {rule or "No rule"} |
175
+ | Google-Extended (AI Overviews) | Allowed/Blocked | {rule or "No rule"} |
176
+
177
+ ## llms.txt: {Present/Missing}
178
+
179
+ ## Citability Analysis
180
+
181
+ - Citation-ready blocks found: {N}
182
+ - Average paragraph length: {N} words
183
+ - Self-contained answer blocks: {N}
184
+
185
+ ## Recommendations
186
+
187
+ ### Quick Wins
188
+ 1. {highest impact, easiest change}
189
+ 2. {next priority}
190
+
191
+ ### Content Improvements
192
+ 1. {content change for better citability}
193
+ 2. {structural improvement}
194
+
195
+ ### Technical Changes
196
+ 1. {robots.txt or llms.txt change}
197
+ ```
198
+
199
+ ### STEP 6: Offer Next Steps
200
+
201
+ ```xml
202
+ <invoke name="AskUserQuestion">
203
+ <parameter name="questions">[{
204
+ "question": "GEO analysis: AI Search Readiness {X}/100. {bot_status}. {N} citation-ready blocks found.",
205
+ "header": "Next steps",
206
+ "multiSelect": false,
207
+ "options": [
208
+ {"label": "Improve citability (Recommended)", "description": "Restructure content into 134-167 word answer blocks"},
209
+ {"label": "Fix AI bot access", "description": "Update robots.txt to allow GPTBot, ClaudeBot, PerplexityBot"},
210
+ {"label": "Create llms.txt", "description": "Generate machine-readable site description"},
211
+ {"label": "Run full SEO audit", "description": "/agileflow:seo:audit {domain}"}
212
+ ]
213
+ }]</parameter>
214
+ </invoke>
215
+ ```
216
+
217
+ ---
218
+
219
+ <!-- COMPACT_SUMMARY_START -->
220
+ ## Compact Summary
221
+
222
+ **Command**: `/agileflow:seo:geo` - AI search optimization (Generative Engine Optimization)
223
+
224
+ **5 Dimensions**: Citability 25%, Structure 20%, Multimodal 15%, Authority 20%, Technical Access 20%
225
+
226
+ **Key Checks**: AI bot access in robots.txt, llms.txt presence, 134-167 word citation blocks
227
+
228
+ **Target Platforms**: Google AI Overviews, ChatGPT, Perplexity, Claude
229
+ <!-- COMPACT_SUMMARY_END -->
@@ -0,0 +1,140 @@
1
+ ---
2
+ description: Multi-language SEO validation - hreflang tag correctness, reciprocity checks, language code validation, and international targeting
3
+ argument-hint: "URL"
4
+ compact_context:
5
+ priority: medium
6
+ preserve_rules:
7
+ - "ACTIVE COMMAND: /agileflow:seo:hreflang - Multi-language SEO"
8
+ - "Check hreflang tags, reciprocity, language codes, x-default"
9
+ - "Verify all language versions reference each other"
10
+ state_fields:
11
+ - target_url
12
+ - languages_found
13
+ - reciprocity_issues
14
+ ---
15
+
16
+ # /agileflow:seo:hreflang
17
+
18
+ Validate multi-language SEO implementation: hreflang tags, reciprocity, language codes, x-default, and international targeting.
19
+
20
+ ---
21
+
22
+ ## Quick Reference
23
+
24
+ ```
25
+ /agileflow:seo:hreflang https://example.com # Check hreflang implementation
26
+ /agileflow:seo:hreflang https://example.com/es/ # Check from Spanish version
27
+ ```
28
+
29
+ ---
30
+
31
+ ## Arguments
32
+
33
+ | Argument | Values | Default | Description |
34
+ |----------|--------|---------|-------------|
35
+ | URL | Any valid URL | Required | Page to check hreflang |
36
+
37
+ ---
38
+
39
+ ## What Gets Checked
40
+
41
+ ### 1. Hreflang Tag Detection
42
+
43
+ Look for hreflang in three possible locations:
44
+ - HTML `<head>`: `<link rel="alternate" hreflang="es" href="...">`
45
+ - HTTP headers: `Link: <...>; rel="alternate"; hreflang="es"`
46
+ - XML sitemap: `<xhtml:link rel="alternate" hreflang="es" href="..."/>`
47
+
48
+ ### 2. Validation Rules
49
+
50
+ | Rule | Check | Common Error |
51
+ |------|-------|-------------|
52
+ | **Valid language codes** | ISO 639-1 (2-letter) | "eng" instead of "en" |
53
+ | **Valid region codes** | ISO 3166-1 (2-letter) | "uk" instead of "gb" |
54
+ | **x-default present** | Fallback for unmatched | Missing x-default |
55
+ | **Self-referencing** | Page includes itself | Missing self-reference |
56
+ | **Reciprocity** | A→B means B→A | One-way hreflang |
57
+ | **Consistent URLs** | Match canonical | hreflang to non-canonical |
58
+ | **Absolute URLs** | Full https:// URLs | Relative paths |
59
+ | **Return 200** | All hreflang URLs live | 404 or redirect targets |
60
+
61
+ ### 3. Reciprocity Check
62
+
63
+ For each language version:
64
+ 1. Fetch the page
65
+ 2. Check that it links back to all other versions
66
+ 3. Flag any broken reciprocity chains
67
+
68
+ ```
69
+ Page A (en) → B (es), C (fr)
70
+ Page B (es) → A (en), C (fr) ← Must reference A and C
71
+ Page C (fr) → A (en), B (es) ← Must reference A and B
72
+ ```
73
+
74
+ ### 4. Common Issues
75
+
76
+ | Issue | Severity | Fix |
77
+ |-------|----------|-----|
78
+ | Missing x-default | HIGH | Add x-default pointing to canonical version |
79
+ | Broken reciprocity | HIGH | Ensure all versions reference each other |
80
+ | Invalid language code | MEDIUM | Use ISO 639-1 codes |
81
+ | hreflang to redirect | MEDIUM | Point to final destination URL |
82
+ | hreflang to noindex | HIGH | Don't noindex alternate versions |
83
+ | Mixed implementation | LOW | Use one method consistently |
84
+
85
+ ---
86
+
87
+ ## Process
88
+
89
+ ### STEP 1: Fetch the Target Page
90
+
91
+ Use WebFetch to retrieve the page. Extract hreflang tags from HTML head.
92
+
93
+ ### STEP 2: Map All Language Versions
94
+
95
+ Build a matrix of all language versions and their hreflang references.
96
+
97
+ ### STEP 3: Verify Reciprocity
98
+
99
+ Fetch each alternate version and verify it references back to all other versions.
100
+
101
+ ### STEP 4: Output Report
102
+
103
+ ```markdown
104
+ # Hreflang Analysis: {URL}
105
+
106
+ ## Language Versions Found
107
+
108
+ | Language | Region | URL | Status |
109
+ |----------|--------|-----|--------|
110
+ | en | - | https://example.com/ | 200 |
111
+ | es | - | https://example.com/es/ | 200 |
112
+ | fr | FR | https://example.com/fr/ | 200 |
113
+ | x-default | - | https://example.com/ | 200 |
114
+
115
+ ## Reciprocity Matrix
116
+
117
+ | Page | → en | → es | → fr | → x-default |
118
+ |------|------|------|------|-------------|
119
+ | /en/ | self | yes | yes | yes |
120
+ | /es/ | yes | self | NO | yes |
121
+ | /fr/ | yes | yes | self | yes |
122
+
123
+ ## Issues Found
124
+
125
+ [Detailed findings]
126
+
127
+ ## Hreflang Score: X/100
128
+ ```
129
+
130
+ ---
131
+
132
+ <!-- COMPACT_SUMMARY_START -->
133
+ ## Compact Summary
134
+
135
+ **Command**: `/agileflow:seo:hreflang` - Multi-language SEO validation
136
+
137
+ **Checks**: hreflang tags, reciprocity, language codes, x-default, canonical consistency
138
+
139
+ **Usage**: `/agileflow:seo:hreflang URL`
140
+ <!-- COMPACT_SUMMARY_END -->
@@ -0,0 +1,96 @@
1
+ ---
2
+ description: Image optimization analysis - alt text quality, sizing for CLS, WebP/AVIF format detection, lazy loading, and responsive images
3
+ argument-hint: "URL"
4
+ compact_context:
5
+ priority: medium
6
+ preserve_rules:
7
+ - "ACTIVE COMMAND: /agileflow:seo:images - Image optimization analysis"
8
+ - "Deploy seo-analyzer-images for comprehensive image audit"
9
+ - "Check alt text, sizing, formats, lazy loading, LCP priority, responsive srcset"
10
+ state_fields:
11
+ - target_url
12
+ - image_count
13
+ - issues_found
14
+ ---
15
+
16
+ # /agileflow:seo:images
17
+
18
+ Analyze image optimization on a page: alt text quality, explicit sizing for CLS prevention, modern formats (WebP/AVIF), lazy loading, LCP image priority, and responsive images.
19
+
20
+ ---
21
+
22
+ ## Quick Reference
23
+
24
+ ```
25
+ /agileflow:seo:images https://example.com # Image audit for homepage
26
+ /agileflow:seo:images https://example.com/products/item # Product page images
27
+ ```
28
+
29
+ ---
30
+
31
+ ## Arguments
32
+
33
+ | Argument | Values | Default | Description |
34
+ |----------|--------|---------|-------------|
35
+ | URL | Any valid URL | Required | Page to analyze |
36
+
37
+ ---
38
+
39
+ ## Process
40
+
41
+ ### STEP 1: Deploy Image Analyzer
42
+
43
+ ```xml
44
+ <invoke name="Task">
45
+ <parameter name="description">Image optimization analysis</parameter>
46
+ <parameter name="prompt">TASK: Perform comprehensive image optimization analysis.
47
+
48
+ TARGET URL: {url}
49
+
50
+ For every image on the page, check:
51
+ 1. Alt text: Present, descriptive (10-125 chars), not filename-based, not keyword-stuffed
52
+ 2. Sizing: width and height attributes present (CLS prevention)
53
+ 3. Format: WebP/AVIF (modern) vs JPEG/PNG (legacy) vs BMP/TIFF (never)
54
+ 4. Lazy loading: Below-fold images have loading="lazy"
55
+ 5. LCP priority: Hero/above-fold image has fetchpriority="high"
56
+ 6. Responsive: srcset and sizes for responsive delivery
57
+ 7. Decorative: Decorative images correctly use alt=""
58
+
59
+ Also check for:
60
+ - CSS background images (can't have alt text)
61
+ - <picture> elements with format fallbacks
62
+ - Missing <link rel="preload"> for LCP image
63
+
64
+ OUTPUT: Image Optimization Score X/100 with per-image findings.</parameter>
65
+ <parameter name="subagent_type">seo-analyzer-images</parameter>
66
+ </invoke>
67
+ ```
68
+
69
+ ### STEP 2: Present Results
70
+
71
+ Show image-by-image findings table and prioritized fixes.
72
+
73
+ ---
74
+
75
+ ## What Gets Checked
76
+
77
+ | Aspect | Weight | Impact |
78
+ |--------|--------|--------|
79
+ | Alt text quality | 30% | Accessibility + image search rankings |
80
+ | Sizing (CLS) | 20% | Core Web Vitals - layout stability |
81
+ | Modern formats | 15% | Page speed + LCP |
82
+ | Lazy loading | 15% | Page speed |
83
+ | LCP optimization | 10% | Core Web Vitals - largest paint |
84
+ | Responsive images | 10% | Mobile performance |
85
+
86
+ ---
87
+
88
+ <!-- COMPACT_SUMMARY_START -->
89
+ ## Compact Summary
90
+
91
+ **Command**: `/agileflow:seo:images` - Image optimization analysis
92
+
93
+ **Checks**: Alt text, sizing/CLS, WebP/AVIF, lazy loading, LCP priority, responsive srcset
94
+
95
+ **Usage**: `/agileflow:seo:images URL`
96
+ <!-- COMPACT_SUMMARY_END -->
@@ -0,0 +1,198 @@
1
+ ---
2
+ description: Deep single-page SEO analysis across 6 dimensions - on-page, content, technical, schema, images, and performance
3
+ argument-hint: "URL [FOCUS=all|on-page|content|technical|schema|images|performance]"
4
+ compact_context:
5
+ priority: medium
6
+ preserve_rules:
7
+ - "ACTIVE COMMAND: /agileflow:seo:page - Single page SEO analysis"
8
+ - "Fetch the page with WebFetch, then analyze across 6 dimensions"
9
+ - "FOCUS parameter narrows analysis to specific dimension"
10
+ - "Output a scored report card per dimension"
11
+ state_fields:
12
+ - target_url
13
+ - focus
14
+ - page_scores
15
+ ---
16
+
17
+ # /agileflow:seo:page
18
+
19
+ Deep analysis of a single page across 6 SEO dimensions. More thorough than the full-site audit for individual pages.
20
+
21
+ ---
22
+
23
+ ## Quick Reference
24
+
25
+ ```
26
+ /agileflow:seo:page https://example.com/about # Full 6-dimension analysis
27
+ /agileflow:seo:page https://example.com/blog/post FOCUS=content # Content quality only
28
+ /agileflow:seo:page https://example.com/product FOCUS=schema # Schema markup only
29
+ /agileflow:seo:page https://example.com FOCUS=on-page # On-page SEO elements
30
+ ```
31
+
32
+ ---
33
+
34
+ ## Arguments
35
+
36
+ | Argument | Values | Default | Description |
37
+ |----------|--------|---------|-------------|
38
+ | URL | Any valid page URL | Required | Page to analyze |
39
+ | FOCUS | all, on-page, content, technical, schema, images, performance | all | Which dimension(s) to analyze |
40
+
41
+ ---
42
+
43
+ ## Analysis Dimensions
44
+
45
+ ### 1. On-Page SEO
46
+
47
+ Analyze the fundamental on-page elements:
48
+
49
+ | Element | Check | Good | Issue |
50
+ |---------|-------|------|-------|
51
+ | **Title tag** | Present, 30-60 chars, keyword-forward | Unique, relevant | Missing, duplicate, wrong length |
52
+ | **Meta description** | Present, 120-160 chars, has CTA | Compelling, keyword-rich | Missing, duplicate, wrong length |
53
+ | **H1** | Exactly 1, contains target keyword | Clear, descriptive | Missing, multiple, keyword-stuffed |
54
+ | **H2-H6** | Logical hierarchy, no skipped levels | Organized structure | Skipped levels, flat structure |
55
+ | **Internal links** | 2-10 per page, descriptive anchors | Relevant, contextual | None, generic "click here" |
56
+ | **External links** | Authoritative sources | Relevant citations | Broken, spammy |
57
+ | **URL** | Clean, short, keyword-relevant | Descriptive path | Parameters, long, irrelevant |
58
+ | **Canonical** | Self-referencing or correct target | Present, valid | Missing, pointing wrong |
59
+ | **Open Graph** | og:title, og:description, og:image | All present | Missing key tags |
60
+
61
+ ### 2. Content Quality
62
+
63
+ Assess using E-E-A-T framework (see eeat-framework.md reference):
64
+ - Word count vs page type minimum
65
+ - Content uniqueness (not boilerplate)
66
+ - Readability level
67
+ - Author attribution
68
+ - E-E-A-T signals present
69
+ - AI citation readiness (134-167 word blocks)
70
+
71
+ ### 3. Technical
72
+
73
+ Page-level technical checks:
74
+ - HTTP status code
75
+ - Response time / TTFB
76
+ - HTTPS
77
+ - Mobile viewport
78
+ - Canonical tag correctness
79
+ - Robots directives (index/noindex)
80
+ - Structured data presence
81
+ - Language declaration
82
+
83
+ ### 4. Schema
84
+
85
+ Structured data on this specific page:
86
+ - What JSON-LD/Microdata is present
87
+ - Validation of existing schema
88
+ - Missing schema opportunities for this page type
89
+ - Rich result eligibility
90
+
91
+ ### 5. Images
92
+
93
+ All images on the page:
94
+ - Alt text quality
95
+ - Width/height attributes
96
+ - Format (WebP/AVIF vs legacy)
97
+ - Lazy loading
98
+ - LCP image optimization
99
+
100
+ ### 6. Performance
101
+
102
+ Page-level performance indicators:
103
+ - Render-blocking resources
104
+ - Script loading (async/defer)
105
+ - Image optimization
106
+ - Third-party resources
107
+ - Font loading
108
+ - Estimated CWV impact
109
+
110
+ ---
111
+
112
+ ## Process
113
+
114
+ ### STEP 1: Fetch the Page
115
+
116
+ Use WebFetch to retrieve the target URL. Extract full HTML content.
117
+
118
+ ### STEP 2: Analyze Per Focus
119
+
120
+ If `FOCUS=all`, analyze all 6 dimensions. Otherwise, analyze only the specified dimension.
121
+
122
+ For each dimension, produce a score out of 100 and a findings list.
123
+
124
+ ### STEP 3: Generate Report Card
125
+
126
+ Output a report card:
127
+
128
+ ```markdown
129
+ # Page SEO Report: {URL}
130
+
131
+ ## Report Card
132
+
133
+ | Dimension | Score | Key Finding |
134
+ |-----------|-------|-------------|
135
+ | On-Page SEO | {X}/100 | {top issue or "All good"} |
136
+ | Content Quality | {X}/100 | {top issue or "All good"} |
137
+ | Technical | {X}/100 | {top issue or "All good"} |
138
+ | Schema | {X}/100 | {top issue or "All good"} |
139
+ | Images | {X}/100 | {top issue or "All good"} |
140
+ | Performance | {X}/100 | {top issue or "All good"} |
141
+
142
+ **Page Score: {average}/100**
143
+
144
+ ---
145
+
146
+ ## Detailed Findings
147
+
148
+ ### On-Page SEO ({X}/100)
149
+
150
+ | Element | Status | Details |
151
+ |---------|--------|---------|
152
+ | Title | {pass/fail} | "{actual title}" ({length} chars) |
153
+ | Meta Description | {pass/fail} | "{actual}" ({length} chars) |
154
+ | H1 | {pass/fail} | "{actual H1}" |
155
+ | ...
156
+
157
+ [Findings for each dimension]
158
+
159
+ ---
160
+
161
+ ## Quick Fixes
162
+
163
+ 1. {Highest impact, easiest fix}
164
+ 2. {Next priority}
165
+ 3. {Next priority}
166
+ ```
167
+
168
+ ### STEP 4: Offer Next Steps
169
+
170
+ ```xml
171
+ <invoke name="AskUserQuestion">
172
+ <parameter name="questions">[{
173
+ "question": "Page analysis complete: {URL} scored {X}/100. Lowest dimension: {dim} ({score}/100).",
174
+ "header": "Next steps",
175
+ "multiSelect": false,
176
+ "options": [
177
+ {"label": "Fix {top_issue} (Recommended)", "description": "{specific fix description}"},
178
+ {"label": "Generate schema markup", "description": "Create JSON-LD for this page type"},
179
+ {"label": "Run full site audit", "description": "/agileflow:seo:audit {domain}"},
180
+ {"label": "Analyze another page", "description": "Run /agileflow:seo:page on a different URL"}
181
+ ]
182
+ }]</parameter>
183
+ </invoke>
184
+ ```
185
+
186
+ ---
187
+
188
+ <!-- COMPACT_SUMMARY_START -->
189
+ ## Compact Summary
190
+
191
+ **Command**: `/agileflow:seo:page` - Single page SEO analysis across 6 dimensions
192
+
193
+ **Dimensions**: On-Page, Content, Technical, Schema, Images, Performance
194
+
195
+ **Usage**: `/agileflow:seo:page URL [FOCUS=dimension]`
196
+
197
+ **Output**: Scored report card per dimension + prioritized fixes
198
+ <!-- COMPACT_SUMMARY_END -->