agileflow 3.3.0 → 3.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/CHANGELOG.md +10 -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/agileflow-welcome.js +79 -0
  7. package/scripts/claude-tmux.sh +90 -23
  8. package/scripts/claude-watchdog.sh +225 -0
  9. package/scripts/generators/agent-registry.js +14 -1
  10. package/scripts/generators/inject-babysit.js +22 -9
  11. package/scripts/generators/inject-help.js +19 -9
  12. package/scripts/lib/ac-test-matcher.js +452 -0
  13. package/scripts/lib/audit-cleanup.js +250 -0
  14. package/scripts/lib/audit-registry.js +304 -0
  15. package/scripts/lib/configure-features.js +35 -0
  16. package/scripts/lib/feature-catalog.js +3 -3
  17. package/scripts/lib/gate-enforcer.js +295 -0
  18. package/scripts/lib/model-profiles.js +118 -0
  19. package/scripts/lib/quality-gates.js +163 -0
  20. package/scripts/lib/signal-detectors.js +44 -1
  21. package/scripts/lib/skill-catalog.js +557 -0
  22. package/scripts/lib/skill-recommender.js +311 -0
  23. package/scripts/lib/status-writer.js +255 -0
  24. package/scripts/lib/story-claiming.js +128 -45
  25. package/scripts/lib/task-sync.js +32 -38
  26. package/scripts/lib/tdd-phase-manager.js +455 -0
  27. package/scripts/lib/team-events.js +34 -3
  28. package/scripts/lib/tmux-audit-monitor.js +611 -0
  29. package/scripts/lib/tmux-group-colors.js +113 -0
  30. package/scripts/lib/tool-registry.yaml +241 -0
  31. package/scripts/lib/tool-shed.js +441 -0
  32. package/scripts/messaging-bridge.js +209 -1
  33. package/scripts/native-team-observer.js +219 -0
  34. package/scripts/obtain-context.js +14 -0
  35. package/scripts/ralph-loop.js +30 -5
  36. package/scripts/smart-detect.js +21 -0
  37. package/scripts/spawn-audit-sessions.js +877 -0
  38. package/scripts/team-manager.js +56 -16
  39. package/scripts/tmux-close-windows.sh +180 -0
  40. package/src/core/agents/a11y-analyzer-aria.md +155 -0
  41. package/src/core/agents/a11y-analyzer-forms.md +162 -0
  42. package/src/core/agents/a11y-analyzer-keyboard.md +175 -0
  43. package/src/core/agents/a11y-analyzer-semantic.md +153 -0
  44. package/src/core/agents/a11y-analyzer-visual.md +158 -0
  45. package/src/core/agents/a11y-consensus.md +248 -0
  46. package/src/core/agents/ads-audit-budget.md +181 -0
  47. package/src/core/agents/ads-audit-compliance.md +169 -0
  48. package/src/core/agents/ads-audit-creative.md +164 -0
  49. package/src/core/agents/ads-audit-google.md +226 -0
  50. package/src/core/agents/ads-audit-meta.md +183 -0
  51. package/src/core/agents/ads-audit-tracking.md +197 -0
  52. package/src/core/agents/ads-consensus.md +396 -0
  53. package/src/core/agents/ads-generate.md +145 -0
  54. package/src/core/agents/ads-performance-tracker.md +197 -0
  55. package/src/core/agents/api-quality-analyzer-conventions.md +148 -0
  56. package/src/core/agents/api-quality-analyzer-docs.md +176 -0
  57. package/src/core/agents/api-quality-analyzer-errors.md +183 -0
  58. package/src/core/agents/api-quality-analyzer-pagination.md +171 -0
  59. package/src/core/agents/api-quality-analyzer-versioning.md +143 -0
  60. package/src/core/agents/api-quality-consensus.md +214 -0
  61. package/src/core/agents/arch-analyzer-circular.md +148 -0
  62. package/src/core/agents/arch-analyzer-complexity.md +171 -0
  63. package/src/core/agents/arch-analyzer-coupling.md +146 -0
  64. package/src/core/agents/arch-analyzer-layering.md +151 -0
  65. package/src/core/agents/arch-analyzer-patterns.md +162 -0
  66. package/src/core/agents/arch-consensus.md +227 -0
  67. package/src/core/agents/brainstorm-analyzer-features.md +169 -0
  68. package/src/core/agents/brainstorm-analyzer-growth.md +161 -0
  69. package/src/core/agents/brainstorm-analyzer-integration.md +172 -0
  70. package/src/core/agents/brainstorm-analyzer-market.md +147 -0
  71. package/src/core/agents/brainstorm-analyzer-ux.md +167 -0
  72. package/src/core/agents/brainstorm-consensus.md +237 -0
  73. package/src/core/agents/completeness-consensus.md +5 -5
  74. package/src/core/agents/perf-consensus.md +2 -2
  75. package/src/core/agents/security-consensus.md +2 -2
  76. package/src/core/agents/seo-analyzer-content.md +167 -0
  77. package/src/core/agents/seo-analyzer-images.md +187 -0
  78. package/src/core/agents/seo-analyzer-performance.md +206 -0
  79. package/src/core/agents/seo-analyzer-schema.md +176 -0
  80. package/src/core/agents/seo-analyzer-sitemap.md +172 -0
  81. package/src/core/agents/seo-analyzer-technical.md +144 -0
  82. package/src/core/agents/seo-consensus.md +289 -0
  83. package/src/core/agents/test-consensus.md +2 -2
  84. package/src/core/commands/adr.md +1 -0
  85. package/src/core/commands/ads/audit.md +375 -0
  86. package/src/core/commands/ads/budget.md +97 -0
  87. package/src/core/commands/ads/competitor.md +112 -0
  88. package/src/core/commands/ads/creative.md +85 -0
  89. package/src/core/commands/ads/generate.md +238 -0
  90. package/src/core/commands/ads/google.md +112 -0
  91. package/src/core/commands/ads/health.md +327 -0
  92. package/src/core/commands/ads/landing.md +119 -0
  93. package/src/core/commands/ads/linkedin.md +112 -0
  94. package/src/core/commands/ads/meta.md +91 -0
  95. package/src/core/commands/ads/microsoft.md +115 -0
  96. package/src/core/commands/ads/plan.md +321 -0
  97. package/src/core/commands/ads/test-plan.md +317 -0
  98. package/src/core/commands/ads/tiktok.md +129 -0
  99. package/src/core/commands/ads/track.md +288 -0
  100. package/src/core/commands/ads/youtube.md +124 -0
  101. package/src/core/commands/ads.md +140 -0
  102. package/src/core/commands/assign.md +1 -0
  103. package/src/core/commands/audit.md +43 -6
  104. package/src/core/commands/babysit.md +315 -1266
  105. package/src/core/commands/baseline.md +1 -0
  106. package/src/core/commands/blockers.md +1 -0
  107. package/src/core/commands/board.md +1 -0
  108. package/src/core/commands/changelog.md +1 -0
  109. package/src/core/commands/choose.md +1 -0
  110. package/src/core/commands/ci.md +1 -0
  111. package/src/core/commands/code/accessibility.md +347 -0
  112. package/src/core/commands/code/api.md +297 -0
  113. package/src/core/commands/code/architecture.md +297 -0
  114. package/src/core/commands/{audit → code}/completeness.md +72 -25
  115. package/src/core/commands/{audit → code}/legal.md +63 -16
  116. package/src/core/commands/{audit → code}/logic.md +64 -16
  117. package/src/core/commands/{audit → code}/performance.md +67 -20
  118. package/src/core/commands/{audit → code}/security.md +69 -19
  119. package/src/core/commands/{audit → code}/test.md +67 -20
  120. package/src/core/commands/configure.md +1 -0
  121. package/src/core/commands/council.md +1 -0
  122. package/src/core/commands/deploy.md +1 -0
  123. package/src/core/commands/diagnose.md +1 -0
  124. package/src/core/commands/docs.md +1 -0
  125. package/src/core/commands/epic/edit.md +213 -0
  126. package/src/core/commands/epic.md +1 -0
  127. package/src/core/commands/export.md +238 -0
  128. package/src/core/commands/help.md +16 -1
  129. package/src/core/commands/{discovery → ideate}/brief.md +12 -12
  130. package/src/core/commands/{discovery/new.md → ideate/discover.md} +20 -16
  131. package/src/core/commands/ideate/features.md +496 -0
  132. package/src/core/commands/ideate/new.md +158 -124
  133. package/src/core/commands/impact.md +1 -0
  134. package/src/core/commands/learn/explain.md +118 -0
  135. package/src/core/commands/learn/glossary.md +135 -0
  136. package/src/core/commands/learn/patterns.md +138 -0
  137. package/src/core/commands/learn/tour.md +126 -0
  138. package/src/core/commands/migrate/codemods.md +151 -0
  139. package/src/core/commands/migrate/plan.md +131 -0
  140. package/src/core/commands/migrate/scan.md +114 -0
  141. package/src/core/commands/migrate/validate.md +119 -0
  142. package/src/core/commands/multi-expert.md +1 -0
  143. package/src/core/commands/pr.md +1 -0
  144. package/src/core/commands/review.md +1 -0
  145. package/src/core/commands/seo/audit.md +373 -0
  146. package/src/core/commands/seo/competitor.md +174 -0
  147. package/src/core/commands/seo/content.md +107 -0
  148. package/src/core/commands/seo/geo.md +229 -0
  149. package/src/core/commands/seo/hreflang.md +140 -0
  150. package/src/core/commands/seo/images.md +96 -0
  151. package/src/core/commands/seo/page.md +198 -0
  152. package/src/core/commands/seo/plan.md +163 -0
  153. package/src/core/commands/seo/programmatic.md +131 -0
  154. package/src/core/commands/seo/references/cwv-thresholds.md +64 -0
  155. package/src/core/commands/seo/references/eeat-framework.md +110 -0
  156. package/src/core/commands/seo/references/quality-gates.md +91 -0
  157. package/src/core/commands/seo/references/schema-types.md +102 -0
  158. package/src/core/commands/seo/schema.md +183 -0
  159. package/src/core/commands/seo/sitemap.md +97 -0
  160. package/src/core/commands/seo/technical.md +100 -0
  161. package/src/core/commands/seo.md +107 -0
  162. package/src/core/commands/skill/list.md +68 -212
  163. package/src/core/commands/skill/recommend.md +216 -0
  164. package/src/core/commands/sprint.md +1 -0
  165. package/src/core/commands/status/undo.md +191 -0
  166. package/src/core/commands/status.md +1 -0
  167. package/src/core/commands/story/edit.md +204 -0
  168. package/src/core/commands/story/view.md +29 -7
  169. package/src/core/commands/story-validate.md +1 -0
  170. package/src/core/commands/story.md +1 -0
  171. package/src/core/commands/tdd-next.md +238 -0
  172. package/src/core/commands/tdd.md +211 -0
  173. package/src/core/commands/team/start.md +10 -6
  174. package/src/core/commands/tests.md +1 -0
  175. package/src/core/commands/verify.md +27 -1
  176. package/src/core/commands/workflow.md +2 -0
  177. package/src/core/experts/_core-expertise.yaml +105 -0
  178. package/src/core/experts/analytics/expertise.yaml +5 -99
  179. package/src/core/experts/codebase-query/expertise.yaml +3 -72
  180. package/src/core/experts/compliance/expertise.yaml +6 -72
  181. package/src/core/experts/database/expertise.yaml +9 -52
  182. package/src/core/experts/documentation/expertise.yaml +7 -140
  183. package/src/core/experts/integrations/expertise.yaml +7 -127
  184. package/src/core/experts/mentor/expertise.yaml +8 -35
  185. package/src/core/experts/monitoring/expertise.yaml +7 -49
  186. package/src/core/experts/performance/expertise.yaml +1 -26
  187. package/src/core/experts/security/expertise.yaml +9 -34
  188. package/src/core/experts/ui/expertise.yaml +6 -36
  189. package/src/core/knowledge/ads/ad-audit-checklist-scoring.md +424 -0
  190. package/src/core/knowledge/ads/ad-optimization-logic.md +590 -0
  191. package/src/core/knowledge/ads/ad-technical-specifications.md +385 -0
  192. package/src/core/knowledge/ads/definitive-advertising-reference-2026.md +506 -0
  193. package/src/core/knowledge/ads/paid-advertising-research-2026.md +445 -0
  194. package/src/core/teams/backend.json +41 -0
  195. package/src/core/teams/frontend.json +41 -0
  196. package/src/core/teams/qa.json +41 -0
  197. package/src/core/teams/solo.json +35 -0
  198. package/src/core/templates/agileflow-metadata.json +20 -1
  199. package/tools/cli/commands/setup.js +85 -3
  200. package/tools/cli/commands/update.js +42 -0
  201. package/tools/cli/installers/ide/_base-ide.js +42 -5
  202. package/tools/cli/installers/ide/claude-code.js +71 -3
  203. package/tools/cli/lib/content-injector.js +160 -12
  204. package/tools/cli/lib/docs-setup.js +1 -1
  205. package/src/core/commands/skill/create.md +0 -698
  206. package/src/core/commands/skill/delete.md +0 -316
  207. package/src/core/commands/skill/edit.md +0 -359
  208. package/src/core/commands/skill/test.md +0 -394
  209. package/src/core/commands/skill/upgrade.md +0 -552
  210. package/src/core/templates/skill-template.md +0 -117
@@ -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 -->
@@ -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 -->