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.
- package/CHANGELOG.md +10 -0
- package/README.md +6 -6
- package/lib/skill-loader.js +0 -1
- package/package.json +1 -1
- package/scripts/agileflow-statusline.sh +81 -0
- package/scripts/agileflow-welcome.js +79 -0
- package/scripts/claude-tmux.sh +90 -23
- package/scripts/claude-watchdog.sh +225 -0
- package/scripts/generators/agent-registry.js +14 -1
- package/scripts/generators/inject-babysit.js +22 -9
- package/scripts/generators/inject-help.js +19 -9
- package/scripts/lib/ac-test-matcher.js +452 -0
- package/scripts/lib/audit-cleanup.js +250 -0
- package/scripts/lib/audit-registry.js +304 -0
- package/scripts/lib/configure-features.js +35 -0
- package/scripts/lib/feature-catalog.js +3 -3
- package/scripts/lib/gate-enforcer.js +295 -0
- package/scripts/lib/model-profiles.js +118 -0
- package/scripts/lib/quality-gates.js +163 -0
- package/scripts/lib/signal-detectors.js +44 -1
- package/scripts/lib/skill-catalog.js +557 -0
- package/scripts/lib/skill-recommender.js +311 -0
- package/scripts/lib/status-writer.js +255 -0
- package/scripts/lib/story-claiming.js +128 -45
- package/scripts/lib/task-sync.js +32 -38
- package/scripts/lib/tdd-phase-manager.js +455 -0
- package/scripts/lib/team-events.js +34 -3
- package/scripts/lib/tmux-audit-monitor.js +611 -0
- package/scripts/lib/tmux-group-colors.js +113 -0
- package/scripts/lib/tool-registry.yaml +241 -0
- package/scripts/lib/tool-shed.js +441 -0
- package/scripts/messaging-bridge.js +209 -1
- package/scripts/native-team-observer.js +219 -0
- package/scripts/obtain-context.js +14 -0
- package/scripts/ralph-loop.js +30 -5
- package/scripts/smart-detect.js +21 -0
- package/scripts/spawn-audit-sessions.js +877 -0
- package/scripts/team-manager.js +56 -16
- package/scripts/tmux-close-windows.sh +180 -0
- package/src/core/agents/a11y-analyzer-aria.md +155 -0
- package/src/core/agents/a11y-analyzer-forms.md +162 -0
- package/src/core/agents/a11y-analyzer-keyboard.md +175 -0
- package/src/core/agents/a11y-analyzer-semantic.md +153 -0
- package/src/core/agents/a11y-analyzer-visual.md +158 -0
- package/src/core/agents/a11y-consensus.md +248 -0
- package/src/core/agents/ads-audit-budget.md +181 -0
- package/src/core/agents/ads-audit-compliance.md +169 -0
- package/src/core/agents/ads-audit-creative.md +164 -0
- package/src/core/agents/ads-audit-google.md +226 -0
- package/src/core/agents/ads-audit-meta.md +183 -0
- package/src/core/agents/ads-audit-tracking.md +197 -0
- package/src/core/agents/ads-consensus.md +396 -0
- package/src/core/agents/ads-generate.md +145 -0
- package/src/core/agents/ads-performance-tracker.md +197 -0
- package/src/core/agents/api-quality-analyzer-conventions.md +148 -0
- package/src/core/agents/api-quality-analyzer-docs.md +176 -0
- package/src/core/agents/api-quality-analyzer-errors.md +183 -0
- package/src/core/agents/api-quality-analyzer-pagination.md +171 -0
- package/src/core/agents/api-quality-analyzer-versioning.md +143 -0
- package/src/core/agents/api-quality-consensus.md +214 -0
- package/src/core/agents/arch-analyzer-circular.md +148 -0
- package/src/core/agents/arch-analyzer-complexity.md +171 -0
- package/src/core/agents/arch-analyzer-coupling.md +146 -0
- package/src/core/agents/arch-analyzer-layering.md +151 -0
- package/src/core/agents/arch-analyzer-patterns.md +162 -0
- package/src/core/agents/arch-consensus.md +227 -0
- package/src/core/agents/brainstorm-analyzer-features.md +169 -0
- package/src/core/agents/brainstorm-analyzer-growth.md +161 -0
- package/src/core/agents/brainstorm-analyzer-integration.md +172 -0
- package/src/core/agents/brainstorm-analyzer-market.md +147 -0
- package/src/core/agents/brainstorm-analyzer-ux.md +167 -0
- package/src/core/agents/brainstorm-consensus.md +237 -0
- package/src/core/agents/completeness-consensus.md +5 -5
- package/src/core/agents/perf-consensus.md +2 -2
- package/src/core/agents/security-consensus.md +2 -2
- package/src/core/agents/seo-analyzer-content.md +167 -0
- package/src/core/agents/seo-analyzer-images.md +187 -0
- package/src/core/agents/seo-analyzer-performance.md +206 -0
- package/src/core/agents/seo-analyzer-schema.md +176 -0
- package/src/core/agents/seo-analyzer-sitemap.md +172 -0
- package/src/core/agents/seo-analyzer-technical.md +144 -0
- package/src/core/agents/seo-consensus.md +289 -0
- package/src/core/agents/test-consensus.md +2 -2
- package/src/core/commands/adr.md +1 -0
- package/src/core/commands/ads/audit.md +375 -0
- package/src/core/commands/ads/budget.md +97 -0
- package/src/core/commands/ads/competitor.md +112 -0
- package/src/core/commands/ads/creative.md +85 -0
- package/src/core/commands/ads/generate.md +238 -0
- package/src/core/commands/ads/google.md +112 -0
- package/src/core/commands/ads/health.md +327 -0
- package/src/core/commands/ads/landing.md +119 -0
- package/src/core/commands/ads/linkedin.md +112 -0
- package/src/core/commands/ads/meta.md +91 -0
- package/src/core/commands/ads/microsoft.md +115 -0
- package/src/core/commands/ads/plan.md +321 -0
- package/src/core/commands/ads/test-plan.md +317 -0
- package/src/core/commands/ads/tiktok.md +129 -0
- package/src/core/commands/ads/track.md +288 -0
- package/src/core/commands/ads/youtube.md +124 -0
- package/src/core/commands/ads.md +140 -0
- package/src/core/commands/assign.md +1 -0
- package/src/core/commands/audit.md +43 -6
- package/src/core/commands/babysit.md +315 -1266
- package/src/core/commands/baseline.md +1 -0
- package/src/core/commands/blockers.md +1 -0
- package/src/core/commands/board.md +1 -0
- package/src/core/commands/changelog.md +1 -0
- package/src/core/commands/choose.md +1 -0
- package/src/core/commands/ci.md +1 -0
- package/src/core/commands/code/accessibility.md +347 -0
- package/src/core/commands/code/api.md +297 -0
- package/src/core/commands/code/architecture.md +297 -0
- package/src/core/commands/{audit → code}/completeness.md +72 -25
- package/src/core/commands/{audit → code}/legal.md +63 -16
- package/src/core/commands/{audit → code}/logic.md +64 -16
- package/src/core/commands/{audit → code}/performance.md +67 -20
- package/src/core/commands/{audit → code}/security.md +69 -19
- package/src/core/commands/{audit → code}/test.md +67 -20
- package/src/core/commands/configure.md +1 -0
- package/src/core/commands/council.md +1 -0
- package/src/core/commands/deploy.md +1 -0
- package/src/core/commands/diagnose.md +1 -0
- package/src/core/commands/docs.md +1 -0
- package/src/core/commands/epic/edit.md +213 -0
- package/src/core/commands/epic.md +1 -0
- package/src/core/commands/export.md +238 -0
- package/src/core/commands/help.md +16 -1
- package/src/core/commands/{discovery → ideate}/brief.md +12 -12
- package/src/core/commands/{discovery/new.md → ideate/discover.md} +20 -16
- package/src/core/commands/ideate/features.md +496 -0
- package/src/core/commands/ideate/new.md +158 -124
- package/src/core/commands/impact.md +1 -0
- package/src/core/commands/learn/explain.md +118 -0
- package/src/core/commands/learn/glossary.md +135 -0
- package/src/core/commands/learn/patterns.md +138 -0
- package/src/core/commands/learn/tour.md +126 -0
- package/src/core/commands/migrate/codemods.md +151 -0
- package/src/core/commands/migrate/plan.md +131 -0
- package/src/core/commands/migrate/scan.md +114 -0
- package/src/core/commands/migrate/validate.md +119 -0
- package/src/core/commands/multi-expert.md +1 -0
- package/src/core/commands/pr.md +1 -0
- package/src/core/commands/review.md +1 -0
- package/src/core/commands/seo/audit.md +373 -0
- package/src/core/commands/seo/competitor.md +174 -0
- package/src/core/commands/seo/content.md +107 -0
- package/src/core/commands/seo/geo.md +229 -0
- package/src/core/commands/seo/hreflang.md +140 -0
- package/src/core/commands/seo/images.md +96 -0
- package/src/core/commands/seo/page.md +198 -0
- package/src/core/commands/seo/plan.md +163 -0
- package/src/core/commands/seo/programmatic.md +131 -0
- package/src/core/commands/seo/references/cwv-thresholds.md +64 -0
- package/src/core/commands/seo/references/eeat-framework.md +110 -0
- package/src/core/commands/seo/references/quality-gates.md +91 -0
- package/src/core/commands/seo/references/schema-types.md +102 -0
- package/src/core/commands/seo/schema.md +183 -0
- package/src/core/commands/seo/sitemap.md +97 -0
- package/src/core/commands/seo/technical.md +100 -0
- package/src/core/commands/seo.md +107 -0
- package/src/core/commands/skill/list.md +68 -212
- package/src/core/commands/skill/recommend.md +216 -0
- package/src/core/commands/sprint.md +1 -0
- package/src/core/commands/status/undo.md +191 -0
- package/src/core/commands/status.md +1 -0
- package/src/core/commands/story/edit.md +204 -0
- package/src/core/commands/story/view.md +29 -7
- package/src/core/commands/story-validate.md +1 -0
- package/src/core/commands/story.md +1 -0
- package/src/core/commands/tdd-next.md +238 -0
- package/src/core/commands/tdd.md +211 -0
- package/src/core/commands/team/start.md +10 -6
- package/src/core/commands/tests.md +1 -0
- package/src/core/commands/verify.md +27 -1
- package/src/core/commands/workflow.md +2 -0
- package/src/core/experts/_core-expertise.yaml +105 -0
- package/src/core/experts/analytics/expertise.yaml +5 -99
- package/src/core/experts/codebase-query/expertise.yaml +3 -72
- package/src/core/experts/compliance/expertise.yaml +6 -72
- package/src/core/experts/database/expertise.yaml +9 -52
- package/src/core/experts/documentation/expertise.yaml +7 -140
- package/src/core/experts/integrations/expertise.yaml +7 -127
- package/src/core/experts/mentor/expertise.yaml +8 -35
- package/src/core/experts/monitoring/expertise.yaml +7 -49
- package/src/core/experts/performance/expertise.yaml +1 -26
- package/src/core/experts/security/expertise.yaml +9 -34
- package/src/core/experts/ui/expertise.yaml +6 -36
- package/src/core/knowledge/ads/ad-audit-checklist-scoring.md +424 -0
- package/src/core/knowledge/ads/ad-optimization-logic.md +590 -0
- package/src/core/knowledge/ads/ad-technical-specifications.md +385 -0
- package/src/core/knowledge/ads/definitive-advertising-reference-2026.md +506 -0
- package/src/core/knowledge/ads/paid-advertising-research-2026.md +445 -0
- package/src/core/teams/backend.json +41 -0
- package/src/core/teams/frontend.json +41 -0
- package/src/core/teams/qa.json +41 -0
- package/src/core/teams/solo.json +35 -0
- package/src/core/templates/agileflow-metadata.json +20 -1
- package/tools/cli/commands/setup.js +85 -3
- package/tools/cli/commands/update.js +42 -0
- package/tools/cli/installers/ide/_base-ide.js +42 -5
- package/tools/cli/installers/ide/claude-code.js +71 -3
- package/tools/cli/lib/content-injector.js +160 -12
- package/tools/cli/lib/docs-setup.js +1 -1
- package/src/core/commands/skill/create.md +0 -698
- package/src/core/commands/skill/delete.md +0 -316
- package/src/core/commands/skill/edit.md +0 -359
- package/src/core/commands/skill/test.md +0 -394
- package/src/core/commands/skill/upgrade.md +0 -552
- package/src/core/templates/skill-template.md +0 -117
|
@@ -0,0 +1,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 -->
|