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,110 @@
1
+ # E-E-A-T Scoring Framework
2
+
3
+ Reference data for content quality analysis. Updated February 2026.
4
+
5
+ ---
6
+
7
+ ## Scoring Weights (100-point scale)
8
+
9
+ | Factor | Weight | Description |
10
+ |--------|--------|-------------|
11
+ | **Trustworthiness** | 30% | Transparency, contact info, HTTPS, no deception |
12
+ | **Expertise** | 25% | Credentials, accuracy, technical depth |
13
+ | **Authoritativeness** | 25% | Citations, media features, industry standing |
14
+ | **Experience** | 20% | First-hand knowledge, original content, case studies |
15
+
16
+ ---
17
+
18
+ ## Signal Detection
19
+
20
+ ### Trustworthiness (30%)
21
+
22
+ | Signal | Present | Absent |
23
+ |--------|---------|--------|
24
+ | HTTPS | +5 | -10 |
25
+ | Contact page / About page | +5 | -5 |
26
+ | Privacy policy | +3 | -3 |
27
+ | Terms of service | +2 | -2 |
28
+ | Physical address | +3 | 0 |
29
+ | Clear editorial policy | +4 | 0 |
30
+ | No deceptive patterns (dark UX) | +5 | -10 |
31
+ | Transparent affiliate disclosure | +3 | -5 |
32
+
33
+ ### Expertise (25%)
34
+
35
+ | Signal | Present | Absent |
36
+ |--------|---------|--------|
37
+ | Author bylines with credentials | +5 | -3 |
38
+ | Cited sources / references | +5 | -3 |
39
+ | Technical accuracy (no factual errors) | +5 | -5 |
40
+ | Industry-specific terminology (appropriate use) | +3 | 0 |
41
+ | Depth of coverage (not surface-level) | +4 | -2 |
42
+ | Peer review / editorial review mentioned | +3 | 0 |
43
+
44
+ ### Authoritativeness (25%)
45
+
46
+ | Signal | Present | Absent |
47
+ |--------|---------|--------|
48
+ | Backlinks from authoritative domains | +5 | 0 |
49
+ | Mentioned in media / press | +4 | 0 |
50
+ | Industry awards / certifications | +3 | 0 |
51
+ | Wikipedia reference | +4 | 0 |
52
+ | Featured on Reddit / YouTube / forums | +3 | 0 |
53
+ | Brand search volume indicators | +3 | 0 |
54
+ | Consistent NAP (Name, Address, Phone) | +3 | -2 |
55
+
56
+ ### Experience (20%)
57
+
58
+ | Signal | Present | Absent |
59
+ |--------|---------|--------|
60
+ | First-person accounts / case studies | +5 | -2 |
61
+ | Original photography / screenshots | +4 | -1 |
62
+ | Specific data / metrics from real usage | +4 | -2 |
63
+ | User reviews / testimonials (authentic) | +3 | 0 |
64
+ | Step-by-step from personal experience | +4 | -1 |
65
+
66
+ ---
67
+
68
+ ## Content Quality Minimums by Type
69
+
70
+ | Page Type | Min Words | Unique Content % | Internal Links |
71
+ |-----------|-----------|------------------|----------------|
72
+ | Homepage | 500 | 100% | 5-10 |
73
+ | Service pages | 800 | 60% | 3-8 |
74
+ | Blog posts | 1,500 | 100% | 2-5 |
75
+ | Product pages | 300-400 | 40% | 3-6 |
76
+ | Location pages | 500-600 | 40% | 3-5 |
77
+ | About page | 400 | 100% | 2-4 |
78
+ | FAQ page | 600 | 80% | 2-5 |
79
+
80
+ ---
81
+
82
+ ## AI Content Rules
83
+
84
+ - AI content is acceptable IF it demonstrates genuine E-E-A-T
85
+ - Red flags for AI-generated content:
86
+ - Generic phrasing without specifics
87
+ - No original insights or data
88
+ - Fabricated first-person experiences
89
+ - Lack of cited sources
90
+ - Cookie-cutter structure across pages
91
+
92
+ ---
93
+
94
+ ## Critical 2025-2026 Updates
95
+
96
+ | Date | Update | Impact |
97
+ |------|--------|--------|
98
+ | Dec 2025 | E-E-A-T applies to ALL queries (not just YMYL) | Affiliate traffic -71%, health -67% |
99
+ | Feb 2026 | Experience signals weighted more heavily | Differentiator vs AI-generated content |
100
+
101
+ ---
102
+
103
+ ## Score Interpretation
104
+
105
+ | Score | Rating | Action |
106
+ |-------|--------|--------|
107
+ | 80-100 | Strong E-E-A-T | Maintain, optimize further |
108
+ | 60-79 | Adequate | Improve weakest factor |
109
+ | 40-59 | Weak | Significant improvements needed |
110
+ | 0-39 | Critical | Major content overhaul required |
@@ -0,0 +1,91 @@
1
+ # SEO Quality Gates
2
+
3
+ Reference data for programmatic SEO and content quality thresholds. Updated February 2026.
4
+
5
+ ---
6
+
7
+ ## On-Page Elements
8
+
9
+ ### Title Tag
10
+ - **Length**: 30-60 characters
11
+ - **Requirements**: Unique per page, keyword-forward, no truncation
12
+ - **Flags**: Missing, duplicate, too short (<30), too long (>60), keyword-stuffed
13
+
14
+ ### Meta Description
15
+ - **Length**: 120-160 characters
16
+ - **Requirements**: Unique per page, natural keywords, includes CTA
17
+ - **Flags**: Missing, duplicate, too short (<120), too long (>160)
18
+
19
+ ### Headings
20
+ - **H1**: Exactly 1 per page, contains primary keyword
21
+ - **H2-H6**: Logical hierarchy (no skipping levels), keyword-relevant
22
+ - **Flags**: Missing H1, multiple H1s, skipped heading levels
23
+
24
+ ### Alt Text
25
+ - **Length**: 10-125 characters
26
+ - **Requirements**: Descriptive, not filename-based, contextually relevant
27
+ - **Flags**: Missing, filename-based (IMG_001.jpg), too long, keyword-stuffed
28
+
29
+ ### Internal Links
30
+ - **Target**: 2-10 per page (varies by content type)
31
+ - **Requirements**: Descriptive anchor text, no broken links, logical structure
32
+ - **Flags**: Orphan pages (0 internal links in), excessive links (>100)
33
+
34
+ ---
35
+
36
+ ## Programmatic SEO Thresholds
37
+
38
+ | Metric | Warning | Hard Stop |
39
+ |--------|---------|-----------|
40
+ | Pages without audit | 100+ | 500+ |
41
+ | Unique content per page | < 40% | < 20% |
42
+ | Location pages created | 30+ | 50+ |
43
+ | Thin pages (< 300 words) | 10+ | 50+ |
44
+ | Duplicate title tags | 5+ | 20+ |
45
+ | Duplicate meta descriptions | 10+ | 30+ |
46
+ | Pages with no internal links in | 5+ | 20+ |
47
+ | 404 errors | 5+ | 20+ |
48
+ | Redirect chains (3+ hops) | 3+ | 10+ |
49
+
50
+ ---
51
+
52
+ ## Content Uniqueness Requirements
53
+
54
+ | Page Type | Min Unique % | Template Allowed % |
55
+ |-----------|-------------|-------------------|
56
+ | Core pages (home, about, services) | 100% | 0% |
57
+ | Blog posts / articles | 100% | 0% |
58
+ | Product pages | 40% | 60% |
59
+ | Location pages | 40% | 60% |
60
+ | Category pages | 30% | 70% |
61
+
62
+ ---
63
+
64
+ ## URL Quality Standards
65
+
66
+ - **Format**: Lowercase, hyphens (not underscores), no special characters
67
+ - **Length**: Under 75 characters preferred, max 2048
68
+ - **Depth**: Max 3-4 levels from root (e.g., /category/subcategory/page)
69
+ - **Flags**: Uppercase, underscores, parameters without canonical, double slashes
70
+
71
+ ---
72
+
73
+ ## Crawl Budget Indicators
74
+
75
+ | Metric | Healthy | Warning | Critical |
76
+ |--------|---------|---------|----------|
77
+ | Crawl rate (pages/day) | Stable/growing | Declining >10% | Declining >30% |
78
+ | Index coverage errors | < 1% | 1-5% | > 5% |
79
+ | Soft 404s | 0 | 1-10 | > 10 |
80
+ | Blocked resources (CSS/JS) | 0 | 1-5 | > 5 |
81
+
82
+ ---
83
+
84
+ ## Priority Framework
85
+
86
+ | Priority | Criteria | Examples |
87
+ |----------|----------|----------|
88
+ | **Critical** | Blocks indexing or causes penalties | noindex on key pages, robots.txt blocking, manual action |
89
+ | **High** | Direct ranking impact | Missing title tags, slow LCP, broken canonical chains |
90
+ | **Medium** | Optimization opportunity | Thin content, missing schema, suboptimal alt text |
91
+ | **Low** | Nice-to-have improvement | Trailing slashes inconsistency, suboptimal URL structure |
@@ -0,0 +1,102 @@
1
+ # Schema Markup Types Reference
2
+
3
+ Reference data for JSON-LD structured data validation. Updated February 2026.
4
+
5
+ ---
6
+
7
+ ## Actively Recommended Types
8
+
9
+ These schema types are actively supported by Google and can generate rich results:
10
+
11
+ | Type | Use Case | Required Properties |
12
+ |------|----------|-------------------|
13
+ | **Organization** | Business identity | name, url, logo |
14
+ | **LocalBusiness** | Physical businesses | name, address, telephone, openingHours |
15
+ | **Product** | E-commerce products | name, image, offers (price, availability, priceCurrency) |
16
+ | **Article** | News/blog content | headline, image, datePublished, author |
17
+ | **BlogPosting** | Blog content | headline, image, datePublished, author |
18
+ | **Review** | Product/service reviews | itemReviewed, reviewRating, author |
19
+ | **Event** | Events | name, startDate, location |
20
+ | **JobPosting** | Job listings | title, description, datePosted, hiringOrganization |
21
+ | **Course** | Educational content | name, description, provider |
22
+ | **VideoObject** | Videos | name, description, thumbnailUrl, uploadDate |
23
+ | **BroadcastEvent** | Live streams | isLiveBroadcast, startDate |
24
+ | **ProfilePage** | Author profiles | mainEntity (Person) |
25
+ | **ProductGroup** | Product variants | name, productGroupID, hasVariant |
26
+ | **WebSite** | Site-level (sitelinks search) | name, url, potentialAction (SearchAction) |
27
+ | **BreadcrumbList** | Navigation | itemListElement |
28
+ | **FAQPage** | FAQs (restricted - see below) | mainEntity (Question + acceptedAnswer) |
29
+
30
+ ---
31
+
32
+ ## Restricted Types (Limited Use)
33
+
34
+ | Type | Restriction | Details |
35
+ |------|-------------|---------|
36
+ | **FAQPage** | Government/healthcare only | Since August 2023, Google restricted FAQ rich results to government and health authority websites. Commercial sites should NOT use FAQPage schema. |
37
+
38
+ ---
39
+
40
+ ## Deprecated Types (Never Use)
41
+
42
+ These types no longer generate rich results or have been explicitly deprecated:
43
+
44
+ | Type | Deprecated Since | Replacement |
45
+ |------|-----------------|-------------|
46
+ | **HowTo** | Aug 2023 | None (removed from search features) |
47
+ | **SpecialAnnouncement** | 2024 | None (COVID-era, sunset) |
48
+ | **CourseInfo** | 2024 | Use Course instead |
49
+ | **EstimatedSalary** | 2024 | Use JobPosting.estimatedSalary |
50
+ | **LearningVideo** | 2024 | Use VideoObject |
51
+ | **ClaimReview** | 2024 | Limited to approved fact-checkers |
52
+ | **VehicleListing** | 2024 | Merchant API only |
53
+ | **PracticeProblem** | 2024 | None |
54
+ | **Dataset** | 2024 | Dataset Search only (not main SERP) |
55
+
56
+ ---
57
+
58
+ ## Critical Validation Rules
59
+
60
+ | Rule | Details |
61
+ |------|---------|
62
+ | **@context** | Must use `https://schema.org` (HTTPS, not HTTP) |
63
+ | **returnPolicyCountry** | Mandatory for Product schema (since March 2025) |
64
+ | **ISO 8601 dates** | All date fields must use ISO 8601 format |
65
+ | **Required properties** | All required properties must be present |
66
+ | **Valid URLs** | All URL fields must be valid, accessible URLs |
67
+ | **No empty values** | Properties must have meaningful values |
68
+ | **Merchant API** | Product structured data must migrate to Merchant API by August 18, 2026 |
69
+
70
+ ---
71
+
72
+ ## Implementation Format
73
+
74
+ - **Preferred**: JSON-LD in `<script type="application/ld+json">` (head or body)
75
+ - **Acceptable**: Microdata, RDFa
76
+ - **Recommendation**: Always use JSON-LD; it's easiest to maintain and Google's preferred format
77
+
78
+ ---
79
+
80
+ ## Common Validation Errors
81
+
82
+ | Error | Severity | Fix |
83
+ |-------|----------|-----|
84
+ | Missing @context | Critical | Add `"@context": "https://schema.org"` |
85
+ | HTTP in @context | High | Change to HTTPS |
86
+ | Missing required property | High | Add the required property with valid value |
87
+ | Deprecated type | Medium | Remove or replace per table above |
88
+ | Invalid date format | Medium | Convert to ISO 8601 |
89
+ | Missing returnPolicyCountry | High | Add to Product/Offer schema |
90
+ | Nested errors in offers | Medium | Validate Offer sub-schema |
91
+
92
+ ---
93
+
94
+ ## Business Type to Schema Mapping
95
+
96
+ | Business Type | Primary Schema Types |
97
+ |--------------|---------------------|
98
+ | **SaaS** | Organization, WebSite, Product, Article, FAQPage (if applicable) |
99
+ | **Local Business** | LocalBusiness, Organization, Product/Service, Review, Event |
100
+ | **E-commerce** | Product, ProductGroup, Organization, BreadcrumbList, Review |
101
+ | **Publisher** | Article, BlogPosting, Organization, WebSite, ProfilePage |
102
+ | **Agency** | Organization, LocalBusiness, Service, Review, Article |
@@ -0,0 +1,183 @@
1
+ ---
2
+ description: Schema markup validation, deprecated type detection, and ready-to-use JSON-LD generation for rich results
3
+ argument-hint: "URL [GENERATE=true]"
4
+ compact_context:
5
+ priority: medium
6
+ preserve_rules:
7
+ - "ACTIVE COMMAND: /agileflow:seo:schema - Schema markup analysis"
8
+ - "Detect existing JSON-LD, Microdata, RDFa on the page"
9
+ - "Validate against current Google standards (2025-2026)"
10
+ - "Flag deprecated types (HowTo, SpecialAnnouncement, etc.)"
11
+ - "If GENERATE=true, produce ready-to-use JSON-LD snippets"
12
+ state_fields:
13
+ - target_url
14
+ - generate
15
+ - schema_found
16
+ ---
17
+
18
+ # /agileflow:seo:schema
19
+
20
+ Detect, validate, and generate schema markup (structured data) for rich results in Google Search.
21
+
22
+ ---
23
+
24
+ ## Quick Reference
25
+
26
+ ```
27
+ /agileflow:seo:schema https://example.com # Detect and validate existing schema
28
+ /agileflow:seo:schema https://example.com GENERATE=true # Also generate missing JSON-LD
29
+ /agileflow:seo:schema https://example.com/product # Analyze product page schema
30
+ ```
31
+
32
+ ---
33
+
34
+ ## Arguments
35
+
36
+ | Argument | Values | Default | Description |
37
+ |----------|--------|---------|-------------|
38
+ | URL | Any valid URL | Required | Page to analyze |
39
+ | GENERATE | true, false | false | Generate ready-to-use JSON-LD for missing schema |
40
+
41
+ ---
42
+
43
+ ## Process
44
+
45
+ ### STEP 1: Fetch and Detect
46
+
47
+ Use WebFetch to retrieve the page. Extract all structured data:
48
+ - `<script type="application/ld+json">` blocks (JSON-LD)
49
+ - Elements with `itemscope`/`itemtype`/`itemprop` (Microdata)
50
+ - Elements with `typeof`/`property` (RDFa)
51
+
52
+ ### STEP 2: Validate Existing Schema
53
+
54
+ For each schema block found, check:
55
+
56
+ **Format**:
57
+ - Valid JSON syntax (for JSON-LD)
58
+ - `@context` uses `https://schema.org` (HTTPS, not HTTP)
59
+ - `@type` is a recognized type
60
+
61
+ **Required Properties** (per type - see schema-types.md reference):
62
+ - Organization: name, url, logo
63
+ - Product: name, image, offers (price, priceCurrency, availability)
64
+ - Article: headline, image, datePublished, author
65
+ - LocalBusiness: name, address, telephone
66
+ - etc.
67
+
68
+ **Current Rules**:
69
+ - `returnPolicyCountry` mandatory for Products (March 2025)
70
+ - ISO 8601 dates required
71
+ - Merchant API migration by August 18, 2026
72
+
73
+ ### STEP 3: Flag Deprecated/Restricted Types
74
+
75
+ **Deprecated (remove immediately)**:
76
+ - HowTo, SpecialAnnouncement, CourseInfo, EstimatedSalary
77
+ - LearningVideo, ClaimReview, VehicleListing, PracticeProblem, Dataset
78
+
79
+ **Restricted (use only if eligible)**:
80
+ - FAQPage: Only government/healthcare sites since August 2023
81
+
82
+ ### STEP 4: Identify Missing Opportunities
83
+
84
+ Based on page content, recommend schema that should be present:
85
+
86
+ | Page Contains | Recommended Schema |
87
+ |--------------|-------------------|
88
+ | Business info | Organization or LocalBusiness |
89
+ | Products | Product with Offer |
90
+ | Blog articles | Article or BlogPosting |
91
+ | Events | Event |
92
+ | Job listings | JobPosting |
93
+ | Videos | VideoObject |
94
+ | Breadcrumbs | BreadcrumbList |
95
+ | Site search | WebSite with SearchAction |
96
+ | Reviews | Review with Rating |
97
+
98
+ ### STEP 5: Generate JSON-LD (if GENERATE=true)
99
+
100
+ For each missing schema, generate a ready-to-use JSON-LD snippet with placeholder values filled from the actual page content:
101
+
102
+ ```json
103
+ {
104
+ "@context": "https://schema.org",
105
+ "@type": "Organization",
106
+ "name": "[extracted from page]",
107
+ "url": "[page URL]",
108
+ "logo": "[detected logo URL]",
109
+ "sameAs": [
110
+ "[detected social links]"
111
+ ]
112
+ }
113
+ ```
114
+
115
+ ### STEP 6: Output Report
116
+
117
+ ```markdown
118
+ # Schema Analysis: {URL}
119
+
120
+ ## Existing Schema
121
+
122
+ | # | Type | Format | Valid | Issues |
123
+ |---|------|--------|-------|--------|
124
+ | 1 | Organization | JSON-LD | Yes | None |
125
+ | 2 | FAQPage | JSON-LD | No | Restricted type (commercial site) |
126
+
127
+ ## Validation Results
128
+
129
+ ### Schema 1: Organization (Valid)
130
+ ```json
131
+ {existing schema}
132
+ ```
133
+ All required properties present.
134
+
135
+ ### Schema 2: FAQPage (Invalid)
136
+ - Issue: FAQPage restricted to government/healthcare since Aug 2023
137
+ - Action: Remove FAQPage schema from commercial pages
138
+
139
+ ## Missing Schema Opportunities
140
+
141
+ | Type | Why | Rich Result |
142
+ |------|-----|-------------|
143
+ | BreadcrumbList | Page has breadcrumb nav | Breadcrumb trail in SERP |
144
+ | WebSite | Homepage, has search | Sitelinks search box |
145
+
146
+ ## Generated JSON-LD (if requested)
147
+
148
+ [Ready-to-use code blocks]
149
+
150
+ ## Schema Score: X/100
151
+ ```
152
+
153
+ ### STEP 7: Offer Next Steps
154
+
155
+ ```xml
156
+ <invoke name="AskUserQuestion">
157
+ <parameter name="questions">[{
158
+ "question": "Schema analysis: {found} types detected, {valid} valid, {issues} issues, {missing} opportunities.",
159
+ "header": "Next steps",
160
+ "multiSelect": false,
161
+ "options": [
162
+ {"label": "Generate missing JSON-LD (Recommended)", "description": "Create ready-to-use schema for {missing} opportunities"},
163
+ {"label": "Fix {issues} validation errors", "description": "{top_error_summary}"},
164
+ {"label": "Test in Rich Results Test", "description": "Validate generated schema at search.google.com/test/rich-results"},
165
+ {"label": "Run full SEO audit", "description": "/agileflow:seo:audit {domain}"}
166
+ ]
167
+ }]</parameter>
168
+ </invoke>
169
+ ```
170
+
171
+ ---
172
+
173
+ <!-- COMPACT_SUMMARY_START -->
174
+ ## Compact Summary
175
+
176
+ **Command**: `/agileflow:seo:schema` - Schema markup validation and generation
177
+
178
+ **Usage**: `/agileflow:seo:schema URL [GENERATE=true]`
179
+
180
+ **What It Does**: Detect existing schema → Validate against Google standards → Flag deprecated types → Identify missing opportunities → Generate JSON-LD
181
+
182
+ **Key References**: schema-types.md (recommended, restricted, deprecated types)
183
+ <!-- COMPACT_SUMMARY_END -->
@@ -0,0 +1,97 @@
1
+ ---
2
+ description: XML sitemap validation, URL coverage analysis, quality gate enforcement, and sitemap generation assistance
3
+ argument-hint: "URL [GENERATE=true]"
4
+ compact_context:
5
+ priority: medium
6
+ preserve_rules:
7
+ - "ACTIVE COMMAND: /agileflow:seo:sitemap - Sitemap validation"
8
+ - "Deploy seo-analyzer-sitemap for comprehensive sitemap audit"
9
+ - "Check existence, structure, coverage, quality gates"
10
+ - "If GENERATE=true, help create or fix the sitemap"
11
+ state_fields:
12
+ - target_url
13
+ - generate
14
+ - sitemap_found
15
+ ---
16
+
17
+ # /agileflow:seo:sitemap
18
+
19
+ Validate XML sitemap structure, assess URL coverage, enforce quality gates, and optionally generate or fix sitemaps.
20
+
21
+ ---
22
+
23
+ ## Quick Reference
24
+
25
+ ```
26
+ /agileflow:seo:sitemap https://example.com # Validate existing sitemap
27
+ /agileflow:seo:sitemap https://example.com GENERATE=true # Also generate improvements
28
+ ```
29
+
30
+ ---
31
+
32
+ ## Arguments
33
+
34
+ | Argument | Values | Default | Description |
35
+ |----------|--------|---------|-------------|
36
+ | URL | Any valid URL (domain) | Required | Site to analyze |
37
+ | GENERATE | true, false | false | Generate or fix sitemap XML |
38
+
39
+ ---
40
+
41
+ ## Process
42
+
43
+ ### STEP 1: Deploy Sitemap Analyzer
44
+
45
+ ```xml
46
+ <invoke name="Task">
47
+ <parameter name="description">Sitemap validation analysis</parameter>
48
+ <parameter name="prompt">TASK: Validate XML sitemap comprehensively.
49
+
50
+ TARGET URL: {url}
51
+
52
+ Check:
53
+ 1. Locate sitemap: robots.txt Sitemap: directive, /sitemap.xml, /sitemap_index.xml
54
+ 2. Structure: Valid XML, correct namespace, proper elements
55
+ 3. URL quality: Status codes, canonical match, not noindexed, HTTPS
56
+ 4. Coverage: Important pages included, no orphans
57
+ 5. Quality: lastmod dates present and valid, under 50k URLs / 50MB
58
+ 6. robots.txt: Sitemap declared in robots.txt
59
+
60
+ Quality gates:
61
+ - Non-200 URLs: Warning >5%, Critical >15%
62
+ - Missing lastmod: Warning >20%, Critical >50%
63
+ - Stale lastmod (>1 year): Warning >30%, Critical >60%
64
+ - Duplicate URLs: Any = Warning
65
+
66
+ OUTPUT: Sitemap Score X/100 with detailed findings.</parameter>
67
+ <parameter name="subagent_type">seo-analyzer-sitemap</parameter>
68
+ </invoke>
69
+ ```
70
+
71
+ ### STEP 2: Present Results and Optionally Generate
72
+
73
+ If GENERATE=true and issues found, help create a corrected sitemap or generate one from scratch based on discovered pages.
74
+
75
+ ---
76
+
77
+ ## Quality Gates
78
+
79
+ | Metric | Warning | Critical |
80
+ |--------|---------|----------|
81
+ | Non-200 URLs | > 5% | > 15% |
82
+ | Missing lastmod | > 20% | > 50% |
83
+ | Stale lastmod | > 30% | > 60% |
84
+ | Not in robots.txt | Always | - |
85
+ | No sitemap at all | - | Always |
86
+
87
+ ---
88
+
89
+ <!-- COMPACT_SUMMARY_START -->
90
+ ## Compact Summary
91
+
92
+ **Command**: `/agileflow:seo:sitemap` - XML sitemap validation
93
+
94
+ **Checks**: Existence, XML structure, URL coverage, lastmod quality, robots.txt reference
95
+
96
+ **Usage**: `/agileflow:seo:sitemap URL [GENERATE=true]`
97
+ <!-- COMPACT_SUMMARY_END -->
@@ -0,0 +1,100 @@
1
+ ---
2
+ description: Deep technical SEO analysis - crawlability, indexability, security headers, URL structure, mobile-friendliness, and rendering
3
+ argument-hint: "URL [FOCUS=crawl|index|security|urls|mobile|rendering|all]"
4
+ compact_context:
5
+ priority: medium
6
+ preserve_rules:
7
+ - "ACTIVE COMMAND: /agileflow:seo:technical - Technical SEO deep-dive"
8
+ - "Deploy seo-analyzer-technical agent for comprehensive assessment"
9
+ - "8 categories: crawl, index, security, urls, mobile, rendering, international, performance"
10
+ state_fields:
11
+ - target_url
12
+ - focus
13
+ - tech_score
14
+ ---
15
+
16
+ # /agileflow:seo:technical
17
+
18
+ Deep technical SEO analysis covering crawlability, indexability, security headers, URL structure, mobile-friendliness, JavaScript rendering, and international signals.
19
+
20
+ ---
21
+
22
+ ## Quick Reference
23
+
24
+ ```
25
+ /agileflow:seo:technical https://example.com # Full 8-category assessment
26
+ /agileflow:seo:technical https://example.com FOCUS=crawl # Crawlability only
27
+ /agileflow:seo:technical https://example.com FOCUS=security # Security headers only
28
+ /agileflow:seo:technical https://example.com FOCUS=mobile # Mobile-friendliness only
29
+ ```
30
+
31
+ ---
32
+
33
+ ## Arguments
34
+
35
+ | Argument | Values | Default | Description |
36
+ |----------|--------|---------|-------------|
37
+ | URL | Any valid URL | Required | Site to analyze |
38
+ | FOCUS | crawl, index, security, urls, mobile, rendering, international, all | all | Narrow to specific area |
39
+
40
+ ---
41
+
42
+ ## Process
43
+
44
+ ### STEP 1: Deploy Technical Analyzer
45
+
46
+ ```xml
47
+ <invoke name="Task">
48
+ <parameter name="description">Technical SEO deep-dive</parameter>
49
+ <parameter name="prompt">TASK: Perform a deep technical SEO analysis.
50
+
51
+ TARGET URL: {url}
52
+ FOCUS: {focus or "all 8 categories"}
53
+
54
+ Analyze all 8 categories in depth:
55
+ 1. Crawlability: robots.txt, meta robots, canonicals, redirect chains, crawl budget
56
+ 2. Indexability: noindex directives, orphan pages, sitemap coverage, crawl depth
57
+ 3. Security: HTTPS, HSTS, X-Content-Type-Options, CSP, X-Frame-Options, Referrer-Policy
58
+ 4. URL Structure: Cleanliness, hierarchy, parameters, consistency, depth
59
+ 5. Mobile: Viewport, responsive design, tap targets, font sizes, no horizontal scroll
60
+ 6. JavaScript Rendering: Client-side content, JS-dependent elements, hydration
61
+ 7. International: hreflang, language tags, geo-targeting, content localization
62
+ 8. Performance Indicators: TTFB, render-blocking, resource hints, compression
63
+
64
+ For each category, provide specific findings with evidence and a category score out of 100.
65
+
66
+ OUTPUT: Technical SEO Score X/100 with category breakdown.</parameter>
67
+ <parameter name="subagent_type">seo-analyzer-technical</parameter>
68
+ </invoke>
69
+ ```
70
+
71
+ ### STEP 2: Present Results
72
+
73
+ Show the technical assessment with category scores and offer targeted fixes.
74
+
75
+ ---
76
+
77
+ ## 8 Categories
78
+
79
+ | Category | Weight | Key Checks |
80
+ |----------|--------|-----------|
81
+ | Crawlability | 25% | robots.txt, canonicals, redirects |
82
+ | Indexability | 20% | noindex, orphans, sitemap coverage |
83
+ | Security | 15% | HTTPS, HSTS, CSP, security headers |
84
+ | URL Structure | 15% | Clean URLs, hierarchy, consistency |
85
+ | Mobile | 15% | Viewport, responsive, tap targets |
86
+ | JS Rendering | 5% | Client-side content visibility |
87
+ | International | 3% | hreflang, language declarations |
88
+ | Performance | 2% | TTFB, resource hints, compression |
89
+
90
+ ---
91
+
92
+ <!-- COMPACT_SUMMARY_START -->
93
+ ## Compact Summary
94
+
95
+ **Command**: `/agileflow:seo:technical` - Deep technical SEO analysis
96
+
97
+ **8 Categories**: Crawlability, Indexability, Security, URLs, Mobile, JS Rendering, International, Performance
98
+
99
+ **Usage**: `/agileflow:seo:technical URL [FOCUS=category]`
100
+ <!-- COMPACT_SUMMARY_END -->