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,96 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Image optimization analysis - alt text quality, sizing for CLS, WebP/AVIF format detection, lazy loading, and responsive images
|
|
3
|
+
argument-hint: "URL"
|
|
4
|
+
compact_context:
|
|
5
|
+
priority: medium
|
|
6
|
+
preserve_rules:
|
|
7
|
+
- "ACTIVE COMMAND: /agileflow:seo:images - Image optimization analysis"
|
|
8
|
+
- "Deploy seo-analyzer-images for comprehensive image audit"
|
|
9
|
+
- "Check alt text, sizing, formats, lazy loading, LCP priority, responsive srcset"
|
|
10
|
+
state_fields:
|
|
11
|
+
- target_url
|
|
12
|
+
- image_count
|
|
13
|
+
- issues_found
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# /agileflow:seo:images
|
|
17
|
+
|
|
18
|
+
Analyze image optimization on a page: alt text quality, explicit sizing for CLS prevention, modern formats (WebP/AVIF), lazy loading, LCP image priority, and responsive images.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Quick Reference
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
/agileflow:seo:images https://example.com # Image audit for homepage
|
|
26
|
+
/agileflow:seo:images https://example.com/products/item # Product page images
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Arguments
|
|
32
|
+
|
|
33
|
+
| Argument | Values | Default | Description |
|
|
34
|
+
|----------|--------|---------|-------------|
|
|
35
|
+
| URL | Any valid URL | Required | Page to analyze |
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Process
|
|
40
|
+
|
|
41
|
+
### STEP 1: Deploy Image Analyzer
|
|
42
|
+
|
|
43
|
+
```xml
|
|
44
|
+
<invoke name="Task">
|
|
45
|
+
<parameter name="description">Image optimization analysis</parameter>
|
|
46
|
+
<parameter name="prompt">TASK: Perform comprehensive image optimization analysis.
|
|
47
|
+
|
|
48
|
+
TARGET URL: {url}
|
|
49
|
+
|
|
50
|
+
For every image on the page, check:
|
|
51
|
+
1. Alt text: Present, descriptive (10-125 chars), not filename-based, not keyword-stuffed
|
|
52
|
+
2. Sizing: width and height attributes present (CLS prevention)
|
|
53
|
+
3. Format: WebP/AVIF (modern) vs JPEG/PNG (legacy) vs BMP/TIFF (never)
|
|
54
|
+
4. Lazy loading: Below-fold images have loading="lazy"
|
|
55
|
+
5. LCP priority: Hero/above-fold image has fetchpriority="high"
|
|
56
|
+
6. Responsive: srcset and sizes for responsive delivery
|
|
57
|
+
7. Decorative: Decorative images correctly use alt=""
|
|
58
|
+
|
|
59
|
+
Also check for:
|
|
60
|
+
- CSS background images (can't have alt text)
|
|
61
|
+
- <picture> elements with format fallbacks
|
|
62
|
+
- Missing <link rel="preload"> for LCP image
|
|
63
|
+
|
|
64
|
+
OUTPUT: Image Optimization Score X/100 with per-image findings.</parameter>
|
|
65
|
+
<parameter name="subagent_type">seo-analyzer-images</parameter>
|
|
66
|
+
</invoke>
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### STEP 2: Present Results
|
|
70
|
+
|
|
71
|
+
Show image-by-image findings table and prioritized fixes.
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## What Gets Checked
|
|
76
|
+
|
|
77
|
+
| Aspect | Weight | Impact |
|
|
78
|
+
|--------|--------|--------|
|
|
79
|
+
| Alt text quality | 30% | Accessibility + image search rankings |
|
|
80
|
+
| Sizing (CLS) | 20% | Core Web Vitals - layout stability |
|
|
81
|
+
| Modern formats | 15% | Page speed + LCP |
|
|
82
|
+
| Lazy loading | 15% | Page speed |
|
|
83
|
+
| LCP optimization | 10% | Core Web Vitals - largest paint |
|
|
84
|
+
| Responsive images | 10% | Mobile performance |
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
<!-- COMPACT_SUMMARY_START -->
|
|
89
|
+
## Compact Summary
|
|
90
|
+
|
|
91
|
+
**Command**: `/agileflow:seo:images` - Image optimization analysis
|
|
92
|
+
|
|
93
|
+
**Checks**: Alt text, sizing/CLS, WebP/AVIF, lazy loading, LCP priority, responsive srcset
|
|
94
|
+
|
|
95
|
+
**Usage**: `/agileflow:seo:images URL`
|
|
96
|
+
<!-- COMPACT_SUMMARY_END -->
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Deep single-page SEO analysis across 6 dimensions - on-page, content, technical, schema, images, and performance
|
|
3
|
+
argument-hint: "URL [FOCUS=all|on-page|content|technical|schema|images|performance]"
|
|
4
|
+
compact_context:
|
|
5
|
+
priority: medium
|
|
6
|
+
preserve_rules:
|
|
7
|
+
- "ACTIVE COMMAND: /agileflow:seo:page - Single page SEO analysis"
|
|
8
|
+
- "Fetch the page with WebFetch, then analyze across 6 dimensions"
|
|
9
|
+
- "FOCUS parameter narrows analysis to specific dimension"
|
|
10
|
+
- "Output a scored report card per dimension"
|
|
11
|
+
state_fields:
|
|
12
|
+
- target_url
|
|
13
|
+
- focus
|
|
14
|
+
- page_scores
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# /agileflow:seo:page
|
|
18
|
+
|
|
19
|
+
Deep analysis of a single page across 6 SEO dimensions. More thorough than the full-site audit for individual pages.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Quick Reference
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
/agileflow:seo:page https://example.com/about # Full 6-dimension analysis
|
|
27
|
+
/agileflow:seo:page https://example.com/blog/post FOCUS=content # Content quality only
|
|
28
|
+
/agileflow:seo:page https://example.com/product FOCUS=schema # Schema markup only
|
|
29
|
+
/agileflow:seo:page https://example.com FOCUS=on-page # On-page SEO elements
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Arguments
|
|
35
|
+
|
|
36
|
+
| Argument | Values | Default | Description |
|
|
37
|
+
|----------|--------|---------|-------------|
|
|
38
|
+
| URL | Any valid page URL | Required | Page to analyze |
|
|
39
|
+
| FOCUS | all, on-page, content, technical, schema, images, performance | all | Which dimension(s) to analyze |
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Analysis Dimensions
|
|
44
|
+
|
|
45
|
+
### 1. On-Page SEO
|
|
46
|
+
|
|
47
|
+
Analyze the fundamental on-page elements:
|
|
48
|
+
|
|
49
|
+
| Element | Check | Good | Issue |
|
|
50
|
+
|---------|-------|------|-------|
|
|
51
|
+
| **Title tag** | Present, 30-60 chars, keyword-forward | Unique, relevant | Missing, duplicate, wrong length |
|
|
52
|
+
| **Meta description** | Present, 120-160 chars, has CTA | Compelling, keyword-rich | Missing, duplicate, wrong length |
|
|
53
|
+
| **H1** | Exactly 1, contains target keyword | Clear, descriptive | Missing, multiple, keyword-stuffed |
|
|
54
|
+
| **H2-H6** | Logical hierarchy, no skipped levels | Organized structure | Skipped levels, flat structure |
|
|
55
|
+
| **Internal links** | 2-10 per page, descriptive anchors | Relevant, contextual | None, generic "click here" |
|
|
56
|
+
| **External links** | Authoritative sources | Relevant citations | Broken, spammy |
|
|
57
|
+
| **URL** | Clean, short, keyword-relevant | Descriptive path | Parameters, long, irrelevant |
|
|
58
|
+
| **Canonical** | Self-referencing or correct target | Present, valid | Missing, pointing wrong |
|
|
59
|
+
| **Open Graph** | og:title, og:description, og:image | All present | Missing key tags |
|
|
60
|
+
|
|
61
|
+
### 2. Content Quality
|
|
62
|
+
|
|
63
|
+
Assess using E-E-A-T framework (see eeat-framework.md reference):
|
|
64
|
+
- Word count vs page type minimum
|
|
65
|
+
- Content uniqueness (not boilerplate)
|
|
66
|
+
- Readability level
|
|
67
|
+
- Author attribution
|
|
68
|
+
- E-E-A-T signals present
|
|
69
|
+
- AI citation readiness (134-167 word blocks)
|
|
70
|
+
|
|
71
|
+
### 3. Technical
|
|
72
|
+
|
|
73
|
+
Page-level technical checks:
|
|
74
|
+
- HTTP status code
|
|
75
|
+
- Response time / TTFB
|
|
76
|
+
- HTTPS
|
|
77
|
+
- Mobile viewport
|
|
78
|
+
- Canonical tag correctness
|
|
79
|
+
- Robots directives (index/noindex)
|
|
80
|
+
- Structured data presence
|
|
81
|
+
- Language declaration
|
|
82
|
+
|
|
83
|
+
### 4. Schema
|
|
84
|
+
|
|
85
|
+
Structured data on this specific page:
|
|
86
|
+
- What JSON-LD/Microdata is present
|
|
87
|
+
- Validation of existing schema
|
|
88
|
+
- Missing schema opportunities for this page type
|
|
89
|
+
- Rich result eligibility
|
|
90
|
+
|
|
91
|
+
### 5. Images
|
|
92
|
+
|
|
93
|
+
All images on the page:
|
|
94
|
+
- Alt text quality
|
|
95
|
+
- Width/height attributes
|
|
96
|
+
- Format (WebP/AVIF vs legacy)
|
|
97
|
+
- Lazy loading
|
|
98
|
+
- LCP image optimization
|
|
99
|
+
|
|
100
|
+
### 6. Performance
|
|
101
|
+
|
|
102
|
+
Page-level performance indicators:
|
|
103
|
+
- Render-blocking resources
|
|
104
|
+
- Script loading (async/defer)
|
|
105
|
+
- Image optimization
|
|
106
|
+
- Third-party resources
|
|
107
|
+
- Font loading
|
|
108
|
+
- Estimated CWV impact
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Process
|
|
113
|
+
|
|
114
|
+
### STEP 1: Fetch the Page
|
|
115
|
+
|
|
116
|
+
Use WebFetch to retrieve the target URL. Extract full HTML content.
|
|
117
|
+
|
|
118
|
+
### STEP 2: Analyze Per Focus
|
|
119
|
+
|
|
120
|
+
If `FOCUS=all`, analyze all 6 dimensions. Otherwise, analyze only the specified dimension.
|
|
121
|
+
|
|
122
|
+
For each dimension, produce a score out of 100 and a findings list.
|
|
123
|
+
|
|
124
|
+
### STEP 3: Generate Report Card
|
|
125
|
+
|
|
126
|
+
Output a report card:
|
|
127
|
+
|
|
128
|
+
```markdown
|
|
129
|
+
# Page SEO Report: {URL}
|
|
130
|
+
|
|
131
|
+
## Report Card
|
|
132
|
+
|
|
133
|
+
| Dimension | Score | Key Finding |
|
|
134
|
+
|-----------|-------|-------------|
|
|
135
|
+
| On-Page SEO | {X}/100 | {top issue or "All good"} |
|
|
136
|
+
| Content Quality | {X}/100 | {top issue or "All good"} |
|
|
137
|
+
| Technical | {X}/100 | {top issue or "All good"} |
|
|
138
|
+
| Schema | {X}/100 | {top issue or "All good"} |
|
|
139
|
+
| Images | {X}/100 | {top issue or "All good"} |
|
|
140
|
+
| Performance | {X}/100 | {top issue or "All good"} |
|
|
141
|
+
|
|
142
|
+
**Page Score: {average}/100**
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## Detailed Findings
|
|
147
|
+
|
|
148
|
+
### On-Page SEO ({X}/100)
|
|
149
|
+
|
|
150
|
+
| Element | Status | Details |
|
|
151
|
+
|---------|--------|---------|
|
|
152
|
+
| Title | {pass/fail} | "{actual title}" ({length} chars) |
|
|
153
|
+
| Meta Description | {pass/fail} | "{actual}" ({length} chars) |
|
|
154
|
+
| H1 | {pass/fail} | "{actual H1}" |
|
|
155
|
+
| ...
|
|
156
|
+
|
|
157
|
+
[Findings for each dimension]
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## Quick Fixes
|
|
162
|
+
|
|
163
|
+
1. {Highest impact, easiest fix}
|
|
164
|
+
2. {Next priority}
|
|
165
|
+
3. {Next priority}
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### STEP 4: Offer Next Steps
|
|
169
|
+
|
|
170
|
+
```xml
|
|
171
|
+
<invoke name="AskUserQuestion">
|
|
172
|
+
<parameter name="questions">[{
|
|
173
|
+
"question": "Page analysis complete: {URL} scored {X}/100. Lowest dimension: {dim} ({score}/100).",
|
|
174
|
+
"header": "Next steps",
|
|
175
|
+
"multiSelect": false,
|
|
176
|
+
"options": [
|
|
177
|
+
{"label": "Fix {top_issue} (Recommended)", "description": "{specific fix description}"},
|
|
178
|
+
{"label": "Generate schema markup", "description": "Create JSON-LD for this page type"},
|
|
179
|
+
{"label": "Run full site audit", "description": "/agileflow:seo:audit {domain}"},
|
|
180
|
+
{"label": "Analyze another page", "description": "Run /agileflow:seo:page on a different URL"}
|
|
181
|
+
]
|
|
182
|
+
}]</parameter>
|
|
183
|
+
</invoke>
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
<!-- COMPACT_SUMMARY_START -->
|
|
189
|
+
## Compact Summary
|
|
190
|
+
|
|
191
|
+
**Command**: `/agileflow:seo:page` - Single page SEO analysis across 6 dimensions
|
|
192
|
+
|
|
193
|
+
**Dimensions**: On-Page, Content, Technical, Schema, Images, Performance
|
|
194
|
+
|
|
195
|
+
**Usage**: `/agileflow:seo:page URL [FOCUS=dimension]`
|
|
196
|
+
|
|
197
|
+
**Output**: Scored report card per dimension + prioritized fixes
|
|
198
|
+
<!-- COMPACT_SUMMARY_END -->
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Strategic SEO planning with industry-specific templates, competitive positioning, and prioritized roadmap generation
|
|
3
|
+
argument-hint: "URL [TIMEFRAME=3mo|6mo|12mo]"
|
|
4
|
+
compact_context:
|
|
5
|
+
priority: medium
|
|
6
|
+
preserve_rules:
|
|
7
|
+
- "ACTIVE COMMAND: /agileflow:seo:plan - Strategic SEO planning"
|
|
8
|
+
- "Detect business type first, then apply industry template"
|
|
9
|
+
- "Generate prioritized roadmap with timeframe milestones"
|
|
10
|
+
- "Reference audit results if available"
|
|
11
|
+
state_fields:
|
|
12
|
+
- target_url
|
|
13
|
+
- business_type
|
|
14
|
+
- timeframe
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# /agileflow:seo:plan
|
|
18
|
+
|
|
19
|
+
Generate a strategic SEO plan with industry-specific templates, competitive positioning analysis, and a prioritized improvement roadmap.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Quick Reference
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
/agileflow:seo:plan https://example.com # 6-month SEO plan (default)
|
|
27
|
+
/agileflow:seo:plan https://example.com TIMEFRAME=3mo # 3-month sprint plan
|
|
28
|
+
/agileflow:seo:plan https://example.com TIMEFRAME=12mo # Annual SEO strategy
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Arguments
|
|
34
|
+
|
|
35
|
+
| Argument | Values | Default | Description |
|
|
36
|
+
|----------|--------|---------|-------------|
|
|
37
|
+
| URL | Any valid URL | Required | Site to plan for |
|
|
38
|
+
| TIMEFRAME | 3mo, 6mo, 12mo | 6mo | Planning horizon |
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Process
|
|
43
|
+
|
|
44
|
+
### STEP 1: Assess Current State
|
|
45
|
+
|
|
46
|
+
Fetch the site and determine:
|
|
47
|
+
- Business type (SaaS, Local, E-commerce, Publisher, Agency)
|
|
48
|
+
- Current SEO maturity (based on quick checks)
|
|
49
|
+
- Existing audit results (check `docs/08-project/seo-audits/`)
|
|
50
|
+
|
|
51
|
+
### STEP 2: Apply Industry Template
|
|
52
|
+
|
|
53
|
+
| Business Type | Priority Areas | Key Strategies |
|
|
54
|
+
|--------------|---------------|----------------|
|
|
55
|
+
| **SaaS** | Content marketing, technical SEO, schema | Blog strategy, documentation SEO, product schema |
|
|
56
|
+
| **Local Business** | Local SEO, Google Business, reviews | NAP consistency, local schema, review generation |
|
|
57
|
+
| **E-commerce** | Product SEO, site structure, CWV | Product schema, faceted navigation, page speed |
|
|
58
|
+
| **Publisher** | Content quality, E-E-A-T, freshness | Author pages, topic clusters, article schema |
|
|
59
|
+
| **Agency** | Authority, portfolio SEO, local | Case studies, service pages, expertise signals |
|
|
60
|
+
|
|
61
|
+
### STEP 3: Generate Roadmap
|
|
62
|
+
|
|
63
|
+
Break the plan into phases:
|
|
64
|
+
|
|
65
|
+
**3-Month Plan**:
|
|
66
|
+
- Month 1: Critical fixes (blocking issues)
|
|
67
|
+
- Month 2: Foundation (technical + schema)
|
|
68
|
+
- Month 3: Content optimization
|
|
69
|
+
|
|
70
|
+
**6-Month Plan**:
|
|
71
|
+
- Month 1-2: Critical fixes + technical foundation
|
|
72
|
+
- Month 3-4: Content strategy + schema implementation
|
|
73
|
+
- Month 5-6: Authority building + performance optimization
|
|
74
|
+
|
|
75
|
+
**12-Month Plan**:
|
|
76
|
+
- Q1: Foundation (technical + critical fixes)
|
|
77
|
+
- Q2: Content + schema
|
|
78
|
+
- Q3: Authority + link building
|
|
79
|
+
- Q4: Advanced optimization + monitoring
|
|
80
|
+
|
|
81
|
+
### STEP 4: Output Plan
|
|
82
|
+
|
|
83
|
+
```markdown
|
|
84
|
+
# SEO Strategy: {URL}
|
|
85
|
+
|
|
86
|
+
## Business Type: {type}
|
|
87
|
+
## Timeframe: {timeframe}
|
|
88
|
+
## Current Maturity: {Beginner/Intermediate/Advanced}
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Executive Summary
|
|
93
|
+
|
|
94
|
+
{2-3 sentence overview of the site's SEO status and key opportunities}
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Phase 1: {title} (Month 1-X)
|
|
99
|
+
|
|
100
|
+
### Goals
|
|
101
|
+
- {Goal 1}
|
|
102
|
+
- {Goal 2}
|
|
103
|
+
|
|
104
|
+
### Actions
|
|
105
|
+
- [ ] {Specific action with expected impact}
|
|
106
|
+
- [ ] {Specific action}
|
|
107
|
+
- [ ] {Specific action}
|
|
108
|
+
|
|
109
|
+
### KPIs
|
|
110
|
+
- {Metric to track}
|
|
111
|
+
- {Metric to track}
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Phase 2: {title} (Month X-Y)
|
|
116
|
+
|
|
117
|
+
[Same structure]
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Content Strategy
|
|
122
|
+
|
|
123
|
+
### Topic Clusters
|
|
124
|
+
| Pillar | Supporting Content | Target Keywords |
|
|
125
|
+
|--------|-------------------|----------------|
|
|
126
|
+
| {topic} | {subtopics} | {keywords} |
|
|
127
|
+
|
|
128
|
+
### Content Calendar
|
|
129
|
+
| Month | Content Type | Topic | Goal |
|
|
130
|
+
|-------|-------------|-------|------|
|
|
131
|
+
| 1 | {type} | {topic} | {goal} |
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Technical Priorities
|
|
136
|
+
|
|
137
|
+
[Ranked list from audit findings or quick assessment]
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## Measurement Framework
|
|
142
|
+
|
|
143
|
+
| KPI | Current | Target ({timeframe}) |
|
|
144
|
+
|-----|---------|---------------------|
|
|
145
|
+
| Organic traffic | Baseline | +X% |
|
|
146
|
+
| Indexed pages | {N} | {target} |
|
|
147
|
+
| Core Web Vitals | {status} | All Good |
|
|
148
|
+
| Schema types | {N} | {target} |
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
<!-- COMPACT_SUMMARY_START -->
|
|
154
|
+
## Compact Summary
|
|
155
|
+
|
|
156
|
+
**Command**: `/agileflow:seo:plan` - Strategic SEO planning
|
|
157
|
+
|
|
158
|
+
**Input**: URL + timeframe (3mo/6mo/12mo)
|
|
159
|
+
|
|
160
|
+
**Output**: Industry-specific roadmap with phases, content strategy, and KPIs
|
|
161
|
+
|
|
162
|
+
**Usage**: `/agileflow:seo:plan URL [TIMEFRAME=6mo]`
|
|
163
|
+
<!-- COMPACT_SUMMARY_END -->
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Programmatic SEO quality gates - validate bulk-generated pages for uniqueness, thin content, duplicate titles, and scale limits
|
|
3
|
+
argument-hint: "URL [MAX_SAMPLE=20]"
|
|
4
|
+
compact_context:
|
|
5
|
+
priority: medium
|
|
6
|
+
preserve_rules:
|
|
7
|
+
- "ACTIVE COMMAND: /agileflow:seo:programmatic - Programmatic SEO QA"
|
|
8
|
+
- "Check quality gates from quality-gates.md reference"
|
|
9
|
+
- "Sample pages to assess uniqueness and content quality"
|
|
10
|
+
- "Flag when thresholds are exceeded"
|
|
11
|
+
state_fields:
|
|
12
|
+
- target_url
|
|
13
|
+
- max_sample
|
|
14
|
+
- pages_sampled
|
|
15
|
+
- gate_violations
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# /agileflow:seo:programmatic
|
|
19
|
+
|
|
20
|
+
Quality gate enforcement for programmatic SEO. Validate bulk-generated pages for uniqueness, thin content, duplicate elements, and scale safety limits.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Quick Reference
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
/agileflow:seo:programmatic https://example.com # Sample 20 pages for QA
|
|
28
|
+
/agileflow:seo:programmatic https://example.com MAX_SAMPLE=50 # Larger sample
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Arguments
|
|
34
|
+
|
|
35
|
+
| Argument | Values | Default | Description |
|
|
36
|
+
|----------|--------|---------|-------------|
|
|
37
|
+
| URL | Any valid URL | Required | Site with programmatic pages |
|
|
38
|
+
| MAX_SAMPLE | 5-100 | 20 | Number of pages to sample and analyze |
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Quality Gates (from quality-gates.md)
|
|
43
|
+
|
|
44
|
+
| Metric | Warning | Hard Stop |
|
|
45
|
+
|--------|---------|-----------|
|
|
46
|
+
| Pages without audit | 100+ | 500+ |
|
|
47
|
+
| Unique content per page | < 40% | < 20% |
|
|
48
|
+
| Location pages | 30+ | 50+ |
|
|
49
|
+
| Thin pages (< 300 words) | 10+ | 50+ |
|
|
50
|
+
| Duplicate title tags | 5+ | 20+ |
|
|
51
|
+
| Duplicate meta descriptions | 10+ | 30+ |
|
|
52
|
+
| Pages with no internal links in | 5+ | 20+ |
|
|
53
|
+
| 404 errors | 5+ | 20+ |
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Process
|
|
58
|
+
|
|
59
|
+
### STEP 1: Discover Programmatic Pages
|
|
60
|
+
|
|
61
|
+
Fetch sitemap to identify programmatic page patterns:
|
|
62
|
+
- `/locations/*`, `/cities/*` (location pages)
|
|
63
|
+
- `/products/*`, `/categories/*` (product pages)
|
|
64
|
+
- `/topics/*`, `/tags/*` (topic pages)
|
|
65
|
+
- Any repeating URL pattern with varying slugs
|
|
66
|
+
|
|
67
|
+
### STEP 2: Sample Pages
|
|
68
|
+
|
|
69
|
+
Select a representative sample:
|
|
70
|
+
- Random selection across the pattern
|
|
71
|
+
- Include first, middle, and last pages
|
|
72
|
+
- Include edge cases (short slugs, long slugs)
|
|
73
|
+
|
|
74
|
+
### STEP 3: Analyze Each Sampled Page
|
|
75
|
+
|
|
76
|
+
For each page, check:
|
|
77
|
+
|
|
78
|
+
| Check | What | Threshold |
|
|
79
|
+
|-------|------|-----------|
|
|
80
|
+
| **Word count** | Total content words | ≥ 300 (product), ≥ 500 (location) |
|
|
81
|
+
| **Unique content %** | Content not shared with template | ≥ 40% |
|
|
82
|
+
| **Title uniqueness** | Not identical to other sampled pages | Unique |
|
|
83
|
+
| **Meta description** | Present and unique | Not duplicate |
|
|
84
|
+
| **Internal links** | Links pointing to this page | ≥ 1 |
|
|
85
|
+
| **Structured data** | Schema present and valid | Present |
|
|
86
|
+
| **Content quality** | Not just template with city name swapped | Substantive |
|
|
87
|
+
|
|
88
|
+
### STEP 4: Aggregate and Report
|
|
89
|
+
|
|
90
|
+
```markdown
|
|
91
|
+
# Programmatic SEO QA: {URL}
|
|
92
|
+
|
|
93
|
+
## Pages Sampled: {N} of ~{total estimated}
|
|
94
|
+
|
|
95
|
+
## Quality Gate Results
|
|
96
|
+
|
|
97
|
+
| Gate | Status | Value | Threshold |
|
|
98
|
+
|------|--------|-------|-----------|
|
|
99
|
+
| Unique content | PASS/WARN/FAIL | {avg}% | ≥ 40% |
|
|
100
|
+
| Thin content | PASS/WARN/FAIL | {N} pages < 300w | < 10 |
|
|
101
|
+
| Duplicate titles | PASS/WARN/FAIL | {N} duplicates | < 5 |
|
|
102
|
+
| Duplicate descriptions | PASS/WARN/FAIL | {N} duplicates | < 10 |
|
|
103
|
+
| Internal links | PASS/WARN/FAIL | {N} orphans | < 5 |
|
|
104
|
+
| Schema present | PASS/WARN/FAIL | {N} missing | 0 |
|
|
105
|
+
|
|
106
|
+
## Sample Analysis
|
|
107
|
+
|
|
108
|
+
| Page | Words | Unique % | Title Unique | Schema |
|
|
109
|
+
|------|-------|----------|-------------|--------|
|
|
110
|
+
| /locations/new-york | 450 | 52% | Yes | Yes |
|
|
111
|
+
| /locations/los-angeles | 420 | 48% | Yes | Yes |
|
|
112
|
+
| /locations/chicago | 280 | 35% | No (dup) | No |
|
|
113
|
+
|
|
114
|
+
## Recommendations
|
|
115
|
+
|
|
116
|
+
1. {Priority recommendation}
|
|
117
|
+
2. {Next priority}
|
|
118
|
+
3. {Next priority}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
<!-- COMPACT_SUMMARY_START -->
|
|
124
|
+
## Compact Summary
|
|
125
|
+
|
|
126
|
+
**Command**: `/agileflow:seo:programmatic` - Programmatic SEO quality gates
|
|
127
|
+
|
|
128
|
+
**Checks**: Content uniqueness, thin pages, duplicate titles/descriptions, orphan pages
|
|
129
|
+
|
|
130
|
+
**Usage**: `/agileflow:seo:programmatic URL [MAX_SAMPLE=20]`
|
|
131
|
+
<!-- COMPACT_SUMMARY_END -->
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Core Web Vitals Thresholds
|
|
2
|
+
|
|
3
|
+
Reference data for SEO performance analysis. Updated February 2026.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Primary Metrics (75th Percentile)
|
|
8
|
+
|
|
9
|
+
| Metric | Good | Needs Improvement | Poor |
|
|
10
|
+
|--------|------|-------------------|------|
|
|
11
|
+
| **LCP** (Largest Contentful Paint) | ≤ 2.5s | 2.5s - 4.0s | > 4.0s |
|
|
12
|
+
| **INP** (Interaction to Next Paint) | ≤ 200ms | 200ms - 500ms | > 500ms |
|
|
13
|
+
| **CLS** (Cumulative Layout Shift) | ≤ 0.1 | 0.1 - 0.25 | > 0.25 |
|
|
14
|
+
|
|
15
|
+
**Note**: INP replaced FID (First Input Delay) as of March 2024.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## LCP Component Breakdown
|
|
20
|
+
|
|
21
|
+
| Component | Target | Description |
|
|
22
|
+
|-----------|--------|-------------|
|
|
23
|
+
| TTFB (Time to First Byte) | < 800ms | Server response time |
|
|
24
|
+
| Resource load delay | Minimize | Time between TTFB and resource request |
|
|
25
|
+
| Resource load time | Minimize | Time to download LCP resource |
|
|
26
|
+
| Element render delay | Minimize | Time between download and render |
|
|
27
|
+
|
|
28
|
+
**Common LCP elements**: Hero images, heading text, video poster images, background images via CSS.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Industry Adoption (Oct 2025)
|
|
33
|
+
|
|
34
|
+
| Device | Meeting All Three CWV |
|
|
35
|
+
|--------|----------------------|
|
|
36
|
+
| Desktop | 57% |
|
|
37
|
+
| Mobile | 50% |
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Mobile-Specific (Dec 2025 Update)
|
|
42
|
+
|
|
43
|
+
- Mobile CWV now weighted heavier in ranking
|
|
44
|
+
- Mobile performance is a critical ranking factor
|
|
45
|
+
- Test with 4G throttling (1.6 Mbps down, 750 Kbps up, 150ms RTT)
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Scoring Ranges (for SEO audit)
|
|
50
|
+
|
|
51
|
+
| Score | CWV Status | Meaning |
|
|
52
|
+
|-------|-----------|---------|
|
|
53
|
+
| 90-100 | All Good | All three metrics in "Good" range |
|
|
54
|
+
| 70-89 | Mostly Good | 2 of 3 metrics Good, 1 Needs Improvement |
|
|
55
|
+
| 50-69 | Needs Work | 1+ metrics in Needs Improvement |
|
|
56
|
+
| 0-49 | Poor | 1+ metrics in Poor range |
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Data Sources
|
|
61
|
+
|
|
62
|
+
- **Field data**: Chrome User Experience Report (CrUX), PageSpeed Insights API
|
|
63
|
+
- **Lab data**: Lighthouse, WebPageTest, Chrome DevTools
|
|
64
|
+
- **Recommendation**: Always prefer field data over lab data when available
|