strray-ai 1.7.3 → 1.7.6
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/.opencode/codex.codex +2 -2
- package/.opencode/commands/mode-switch.md +4 -4
- package/.opencode/enforcer-config.json +2 -2
- package/.opencode/integrations/claude-seo/README.md +77 -0
- package/.opencode/integrations/claude-seo/routing.json +103 -0
- package/.opencode/integrations/claude-seo/seo-audit/SKILL.md +127 -0
- package/.opencode/integrations/claude-seo/seo-competitor-pages/SKILL.md +220 -0
- package/.opencode/integrations/claude-seo/seo-content/SKILL.md +177 -0
- package/.opencode/integrations/claude-seo/seo-geo/SKILL.md +251 -0
- package/.opencode/integrations/claude-seo/seo-hreflang/SKILL.md +200 -0
- package/.opencode/integrations/claude-seo/seo-images/SKILL.md +184 -0
- package/.opencode/integrations/claude-seo/seo-page/SKILL.md +94 -0
- package/.opencode/integrations/claude-seo/seo-plan/SKILL.md +126 -0
- package/.opencode/integrations/claude-seo/seo-programmatic/SKILL.md +178 -0
- package/.opencode/integrations/claude-seo/seo-schema/SKILL.md +167 -0
- package/.opencode/integrations/claude-seo/seo-sitemap/SKILL.md +120 -0
- package/.opencode/integrations/claude-seo/seo-technical/SKILL.md +168 -0
- package/.opencode/package.json +1 -1
- package/.opencode/plugins/strray-codex-injection.js +1 -1
- package/.opencode/strray/codex.json +531 -1
- package/.opencode/strray/config.json +1 -1
- package/.opencode/strray/features.json +1 -1
- package/AGENTS-consumer.md +2 -2
- package/AGENTS.md +52 -51
- package/LICENSE.claude-seo +39 -0
- package/README.md +170 -17
- package/dist/analytics/routing-refiner.js +1 -1
- package/dist/cli/index.js +0 -0
- package/dist/core/adaptive-kernel.js +1 -1
- package/dist/core/adaptive-kernel.js.map +1 -1
- package/dist/core/boot-orchestrator.js +2 -2
- package/dist/core/features-config.js +1 -1
- package/dist/core/framework-logger.d.ts +6 -14
- package/dist/core/framework-logger.d.ts.map +1 -1
- package/dist/core/framework-logger.js +5 -6
- package/dist/core/framework-logger.js.map +1 -1
- package/dist/core/kernel-patterns.d.ts +58 -39
- package/dist/core/kernel-patterns.d.ts.map +1 -1
- package/dist/core/kernel-patterns.js +27 -93
- package/dist/core/kernel-patterns.js.map +1 -1
- package/dist/delegation/agent-delegator.d.ts +10 -0
- package/dist/delegation/agent-delegator.d.ts.map +1 -1
- package/dist/delegation/agent-delegator.js +67 -14
- package/dist/delegation/agent-delegator.js.map +1 -1
- package/dist/delegation/task-skill-router.d.ts +133 -241
- package/dist/delegation/task-skill-router.d.ts.map +1 -1
- package/dist/delegation/task-skill-router.js +199 -772
- package/dist/delegation/task-skill-router.js.map +1 -1
- package/dist/mcps/architect-tools.server.js +1 -1
- package/dist/mcps/auto-format.server.js +1 -1
- package/dist/mcps/boot-orchestrator.server.js +1 -1
- package/dist/mcps/enforcer-tools.server.js +1 -1
- package/dist/mcps/framework-compliance-audit.server.js +1 -1
- package/dist/mcps/framework-help.server.js +2 -2
- package/dist/mcps/knowledge-skills/api-design.server.js +1 -1
- package/dist/mcps/knowledge-skills/architecture-patterns.server.js +1 -1
- package/dist/mcps/knowledge-skills/bug-triage-specialist.server.js +1 -1
- package/dist/mcps/knowledge-skills/code-analyzer.server.js +1 -1
- package/dist/mcps/knowledge-skills/code-review.server.js +1 -1
- package/dist/mcps/knowledge-skills/content-creator.server.js +1 -1
- package/dist/mcps/knowledge-skills/database-design.server.js +1 -1
- package/dist/mcps/knowledge-skills/devops-deployment.server.js +1 -1
- package/dist/mcps/knowledge-skills/git-workflow.server.js +1 -1
- package/dist/mcps/knowledge-skills/growth-strategist.server.js +1 -1
- package/dist/mcps/knowledge-skills/log-monitor.server.js +1 -1
- package/dist/mcps/knowledge-skills/mobile-development.server.js +1 -1
- package/dist/mcps/knowledge-skills/multimodal-looker.server.js +1 -1
- package/dist/mcps/knowledge-skills/performance-optimization.server.js +1 -1
- package/dist/mcps/knowledge-skills/project-analysis.server.js +1 -1
- package/dist/mcps/knowledge-skills/refactoring-strategies.server.js +1 -1
- package/dist/mcps/knowledge-skills/security-audit.server.js +1 -1
- package/dist/mcps/knowledge-skills/seo-consultant.server.js +1 -1
- package/dist/mcps/knowledge-skills/session-management.server.js +1 -1
- package/dist/mcps/knowledge-skills/skill-invocation.server.js +1 -1
- package/dist/mcps/knowledge-skills/strategist.server.js +1 -1
- package/dist/mcps/knowledge-skills/tech-writer.server.js +2 -2
- package/dist/mcps/knowledge-skills/testing-best-practices.server.js +1 -1
- package/dist/mcps/knowledge-skills/testing-strategy.server.js +1 -1
- package/dist/mcps/knowledge-skills/ui-ux-design.server.js +1 -1
- package/dist/mcps/lint.server.js +1 -1
- package/dist/mcps/mcp-client.js +2 -2
- package/dist/mcps/model-health-check.server.js +1 -1
- package/dist/mcps/orchestrator.server.js +1 -1
- package/dist/mcps/performance-analysis.server.js +1 -1
- package/dist/mcps/processor-pipeline.server.js +1 -1
- package/dist/mcps/researcher.server.js +1 -1
- package/dist/mcps/security-scan.server.js +1 -1
- package/dist/mcps/state-manager.server.js +1 -1
- package/dist/orchestrator/universal-registry-bridge.js +1 -1
- package/dist/postprocessor/PostProcessor.js +1 -1
- package/dist/postprocessor/PostProcessor.js.map +1 -1
- package/dist/postprocessor/triggers/APITrigger.d.ts +26 -3
- package/dist/postprocessor/triggers/APITrigger.d.ts.map +1 -1
- package/dist/postprocessor/triggers/APITrigger.js +98 -2
- package/dist/postprocessor/triggers/APITrigger.js.map +1 -1
- package/dist/postprocessor/triggers/WebhookTrigger.d.ts +38 -3
- package/dist/postprocessor/triggers/WebhookTrigger.d.ts.map +1 -1
- package/dist/postprocessor/triggers/WebhookTrigger.js +191 -3
- package/dist/postprocessor/triggers/WebhookTrigger.js.map +1 -1
- package/dist/postprocessor/types.d.ts +5 -0
- package/dist/postprocessor/types.d.ts.map +1 -1
- package/dist/processors/processor-manager.d.ts +5 -5
- package/dist/processors/processor-manager.d.ts.map +1 -1
- package/dist/processors/processor-manager.js +14 -12
- package/dist/processors/processor-manager.js.map +1 -1
- package/dist/processors/processor-types.d.ts +25 -8
- package/dist/processors/processor-types.d.ts.map +1 -1
- package/dist/processors/processor-types.js +2 -1
- package/dist/processors/processor-types.js.map +1 -1
- package/dist/scripts/analytics/daily-routing-analysis.js +0 -0
- package/dist/scripts/integration.js +0 -0
- package/package.json +32 -2
- package/scripts/integrations/install-antigravity-skills.js.mjs +195 -0
- package/scripts/integrations/install-claude-seo.js +561 -0
- package/scripts/node/universal-version-manager.js +585 -45
package/.opencode/codex.codex
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.
|
|
2
|
+
"version": "1.7.5",
|
|
3
3
|
"terms": [
|
|
4
|
-
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 24, 29, 32, 38, 42, 43
|
|
4
|
+
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60
|
|
5
5
|
],
|
|
6
6
|
"framework": "StringRay Universal Development Codex",
|
|
7
7
|
"compliance": "99.6% Error Prevention"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mode-switch
|
|
3
|
-
description: Switch between full (
|
|
3
|
+
description: Switch between full (27 agents) and lite (27 agents) modes dynamically
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
#!/bin/bash
|
|
@@ -20,7 +20,7 @@ DISABLED_COUNT=$(jq '.agent | map(select(.disable == true)) | length' opencode.j
|
|
|
20
20
|
if [ "$DISABLED_COUNT" -eq 0 ] || [ -z "$DISABLED_COUNT" ]; then
|
|
21
21
|
CURRENT_MODE="full"
|
|
22
22
|
echo "🎯 Current Mode: $CURRENT_MODE"
|
|
23
|
-
echo "📝 Description: All
|
|
23
|
+
echo "📝 Description: All 27 agents active for comprehensive development support"
|
|
24
24
|
echo "🤖 Active Agents: 8"
|
|
25
25
|
echo " enforcer architect orchestrator bug-triage-specialist code-reviewer security-auditor refactorer testing-lead"
|
|
26
26
|
elif [ "$DISABLED_COUNT" -eq 4 ]; then
|
|
@@ -62,7 +62,7 @@ local new_mode="$1"
|
|
|
62
62
|
jq '.disabled_agents = []' "$ENFORCER_CONFIG_FILE" > "${ENFORCER_CONFIG_FILE}.tmp" && mv "${ENFORCER_CONFIG_FILE}.tmp" "$ENFORCER_CONFIG_FILE"
|
|
63
63
|
fi
|
|
64
64
|
else
|
|
65
|
-
# Set disabled_agents for lite mode (
|
|
65
|
+
# Set disabled_agents for lite mode (27 agents disabled)
|
|
66
66
|
jq '.disabled_agents = ["security-auditor", "refactorer", "testing-lead", "bug-triage-specialist"]' "$CONFIG_FILE" > "${CONFIG_FILE}.tmp" && mv "${CONFIG_FILE}.tmp" "$CONFIG_FILE"
|
|
67
67
|
if [ -f "$ENFORCER_CONFIG_FILE" ]; then
|
|
68
68
|
jq '.disabled_agents = ["security-auditor", "refactorer", "testing-lead", "bug-triage-specialist"]' "$ENFORCER_CONFIG_FILE" > "${ENFORCER_CONFIG_FILE}.tmp" && mv "${ENFORCER_CONFIG_FILE}.tmp" "$ENFORCER_CONFIG_FILE"
|
|
@@ -81,7 +81,7 @@ case "$1" in
|
|
|
81
81
|
"")
|
|
82
82
|
show_current_mode
|
|
83
83
|
echo "Usage: mode-switch [full|lite]"
|
|
84
|
-
echo " full - All
|
|
84
|
+
echo " full - All 27 agents active"
|
|
85
85
|
echo " lite - 4 core agents active"
|
|
86
86
|
;;
|
|
87
87
|
"full"|"lite")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"framework": "StringRay 1.0.0",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.5",
|
|
4
4
|
"description": "Codex-compliant framework configuration for Credible UI project",
|
|
5
5
|
"thresholds": {
|
|
6
6
|
"bundleSize": {
|
|
@@ -174,7 +174,7 @@
|
|
|
174
174
|
}
|
|
175
175
|
},
|
|
176
176
|
"codex": {
|
|
177
|
-
"version": "1.7.
|
|
177
|
+
"version": "1.7.5",
|
|
178
178
|
"terms": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 24, 29, 32, 38, 42, 43],
|
|
179
179
|
"principles": [
|
|
180
180
|
"progressive-prod-ready-code",
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Claude SEO Integration
|
|
2
|
+
|
|
3
|
+
This directory contains the Claude SEO skill integrated into StringRay.
|
|
4
|
+
|
|
5
|
+
## Source
|
|
6
|
+
|
|
7
|
+
- **Original**: [https://github.com/AgriciDaniel/claude-seo](https://github.com/AgriciDaniel/claude-seo)
|
|
8
|
+
- **License**: MIT
|
|
9
|
+
- **Version**: Installed 2026-03-09T07:40:30.001Z
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
|
|
13
|
+
### Core Skills (8)
|
|
14
|
+
- `seo-audit/` - Full website audit with parallel subagents
|
|
15
|
+
- `seo-page/` - Deep single-page analysis
|
|
16
|
+
- `seo-sitemap/` - XML sitemap analysis and generation
|
|
17
|
+
- `seo-schema/` - Schema markup detection and generation
|
|
18
|
+
- `seo-technical/` - Technical SEO audit (8 categories)
|
|
19
|
+
- `seo-content/` - E-E-A-T and content quality analysis
|
|
20
|
+
- `seo-geo/` - AI Search / GEO optimization
|
|
21
|
+
- `seo-plan/` - Strategic SEO planning
|
|
22
|
+
|
|
23
|
+
### Advanced Skills (4, --full only)
|
|
24
|
+
- `seo-programmatic/` - Programmatic SEO with quality gates
|
|
25
|
+
- `seo-competitor-pages/` - "X vs Y" comparison generator
|
|
26
|
+
- `seo-hreflang/` - Multi-language SEO validation
|
|
27
|
+
- `seo-images/` - Image optimization analysis
|
|
28
|
+
|
|
29
|
+
### Subagents (5, --full only)
|
|
30
|
+
- seo-ai-visibility
|
|
31
|
+
- seo-platform-analysis
|
|
32
|
+
- seo-technical-agent
|
|
33
|
+
- seo-content-agent
|
|
34
|
+
- seo-schema-agent
|
|
35
|
+
|
|
36
|
+
## Usage
|
|
37
|
+
|
|
38
|
+
After installation, use these commands in Claude Code:
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
/seo audit <url> - Full website audit
|
|
42
|
+
/seo page <url> - Single page analysis
|
|
43
|
+
/seo technical <url> - Technical SEO audit
|
|
44
|
+
/seo content <url> - E-E-A-T analysis
|
|
45
|
+
/seo geo <url> - AI search optimization
|
|
46
|
+
/seo schema <url> - Schema markup
|
|
47
|
+
/seo sitemap generate - Generate sitemap
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Integration with StringRay
|
|
51
|
+
|
|
52
|
+
This integration works alongside StringRay's built-in SEO tools:
|
|
53
|
+
|
|
54
|
+
| Feature | StringRay | Claude SEO |
|
|
55
|
+
|---------|-----------|------------|
|
|
56
|
+
| Technical SEO | Basic | Advanced (8 cats) |
|
|
57
|
+
| Schema | 6 types | 10+ types |
|
|
58
|
+
| AI Search | Basic | Advanced |
|
|
59
|
+
| E-E-A-T | ❌ | ✅ |
|
|
60
|
+
| PDF Reports | ❌ | ✅ |
|
|
61
|
+
| Programmatic | ❌ | ✅ |
|
|
62
|
+
|
|
63
|
+
## Commands
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
# Install core skills
|
|
67
|
+
node scripts/integrations/install-claude-seo.js
|
|
68
|
+
|
|
69
|
+
# Install everything
|
|
70
|
+
node scripts/integrations/install-claude-seo.js --full
|
|
71
|
+
|
|
72
|
+
# Re-install
|
|
73
|
+
node scripts/integrations/install-claude-seo.js --full
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
*Integrated into StringRay v1.7.5*
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "claude-seo-routing",
|
|
3
|
+
"description": "SEO routing configuration for Claude SEO integration",
|
|
4
|
+
"routes": [
|
|
5
|
+
{
|
|
6
|
+
"pattern": "/seo audit",
|
|
7
|
+
"skill": "seo-audit",
|
|
8
|
+
"agents": [
|
|
9
|
+
"seo-consultant"
|
|
10
|
+
]
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"pattern": "/seo page",
|
|
14
|
+
"skill": "seo-page",
|
|
15
|
+
"agents": [
|
|
16
|
+
"seo-consultant"
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"pattern": "/seo sitemap",
|
|
21
|
+
"skill": "seo-sitemap",
|
|
22
|
+
"agents": [
|
|
23
|
+
"seo-consultant"
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"pattern": "/seo schema",
|
|
28
|
+
"skill": "seo-schema",
|
|
29
|
+
"agents": [
|
|
30
|
+
"seo-consultant"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"pattern": "/seo technical",
|
|
35
|
+
"skill": "seo-technical",
|
|
36
|
+
"agents": [
|
|
37
|
+
"seo-consultant"
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"pattern": "/seo content",
|
|
42
|
+
"skill": "seo-content",
|
|
43
|
+
"agents": [
|
|
44
|
+
"seo-consultant"
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"pattern": "/seo geo",
|
|
49
|
+
"skill": "seo-geo",
|
|
50
|
+
"agents": [
|
|
51
|
+
"seo-consultant"
|
|
52
|
+
]
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"pattern": "/seo plan",
|
|
56
|
+
"skill": "seo-plan",
|
|
57
|
+
"agents": [
|
|
58
|
+
"seo-consultant"
|
|
59
|
+
]
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"pattern": "/seo programmatic",
|
|
63
|
+
"skill": "seo-programmatic",
|
|
64
|
+
"agents": [
|
|
65
|
+
"seo-consultant"
|
|
66
|
+
]
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"pattern": "/seo competitor",
|
|
70
|
+
"skill": "seo-competitor-pages",
|
|
71
|
+
"agents": [
|
|
72
|
+
"seo-consultant"
|
|
73
|
+
]
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"pattern": "/seo hreflang",
|
|
77
|
+
"skill": "seo-hreflang",
|
|
78
|
+
"agents": [
|
|
79
|
+
"seo-consultant"
|
|
80
|
+
]
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"pattern": "/seo images",
|
|
84
|
+
"skill": "seo-images",
|
|
85
|
+
"agents": [
|
|
86
|
+
"seo-consultant"
|
|
87
|
+
]
|
|
88
|
+
}
|
|
89
|
+
],
|
|
90
|
+
"keywords": [
|
|
91
|
+
"seo audit",
|
|
92
|
+
"seo analysis",
|
|
93
|
+
"technical seo",
|
|
94
|
+
"on-page seo",
|
|
95
|
+
"schema markup",
|
|
96
|
+
"sitemap",
|
|
97
|
+
"core web vitals",
|
|
98
|
+
"e-e-a-t",
|
|
99
|
+
"ai search",
|
|
100
|
+
"geo optimization",
|
|
101
|
+
"programmatic seo"
|
|
102
|
+
]
|
|
103
|
+
}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: seo-audit
|
|
3
|
+
source: claude-seo
|
|
4
|
+
attribution: |
|
|
5
|
+
Originally from https://github.com/AgriciDaniel/claude-seo
|
|
6
|
+
License: MIT (see LICENSE.claude-seo)
|
|
7
|
+
converted: 2026-03-09T07:40:29.995Z
|
|
8
|
+
framework: StringRay v1.7.5
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
name: seo-audit
|
|
13
|
+
description: >
|
|
14
|
+
Full website SEO audit with parallel subagent delegation. Crawls up to 500
|
|
15
|
+
pages, detects business type, delegates to 6 specialists, generates health
|
|
16
|
+
score. Use when user says "audit", "full SEO check", "analyze my site",
|
|
17
|
+
or "website health check".
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Full Website SEO Audit
|
|
21
|
+
|
|
22
|
+
## Process
|
|
23
|
+
|
|
24
|
+
1. **Fetch homepage** — use `scripts/fetch_page.py` to retrieve HTML
|
|
25
|
+
2. **Detect business type** — analyze homepage signals per seo orchestrator
|
|
26
|
+
3. **Crawl site** — follow internal links up to 500 pages, respect robots.txt
|
|
27
|
+
4. **Delegate to subagents** (if available, otherwise run inline sequentially):
|
|
28
|
+
- `seo-technical` — robots.txt, sitemaps, canonicals, Core Web Vitals, security headers
|
|
29
|
+
- `seo-content` — E-E-A-T, readability, thin content, AI citation readiness
|
|
30
|
+
- `seo-schema` — detection, validation, generation recommendations
|
|
31
|
+
- `seo-sitemap` — structure analysis, quality gates, missing pages
|
|
32
|
+
- `seo-performance` — LCP, INP, CLS measurements
|
|
33
|
+
- `seo-visual` — screenshots, mobile testing, above-fold analysis
|
|
34
|
+
5. **Score** — aggregate into SEO Health Score (0-100)
|
|
35
|
+
6. **Report** — generate prioritized action plan
|
|
36
|
+
|
|
37
|
+
## Crawl Configuration
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
Max pages: 500
|
|
41
|
+
Respect robots.txt: Yes
|
|
42
|
+
Follow redirects: Yes (max 3 hops)
|
|
43
|
+
Timeout per page: 30 seconds
|
|
44
|
+
Concurrent requests: 5
|
|
45
|
+
Delay between requests: 1 second
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Output Files
|
|
49
|
+
|
|
50
|
+
- `FULL-AUDIT-REPORT.md` — Comprehensive findings
|
|
51
|
+
- `ACTION-PLAN.md` — Prioritized recommendations (Critical → High → Medium → Low)
|
|
52
|
+
- `screenshots/` — Desktop + mobile captures (if Playwright available)
|
|
53
|
+
|
|
54
|
+
## Scoring Weights
|
|
55
|
+
|
|
56
|
+
| Category | Weight |
|
|
57
|
+
|----------|--------|
|
|
58
|
+
| Technical SEO | 25% |
|
|
59
|
+
| Content Quality | 25% |
|
|
60
|
+
| On-Page SEO | 20% |
|
|
61
|
+
| Schema / Structured Data | 10% |
|
|
62
|
+
| Performance (CWV) | 10% |
|
|
63
|
+
| Images | 5% |
|
|
64
|
+
| AI Search Readiness | 5% |
|
|
65
|
+
|
|
66
|
+
## Report Structure
|
|
67
|
+
|
|
68
|
+
### Executive Summary
|
|
69
|
+
- Overall SEO Health Score (0-100)
|
|
70
|
+
- Business type detected
|
|
71
|
+
- Top 5 critical issues
|
|
72
|
+
- Top 5 quick wins
|
|
73
|
+
|
|
74
|
+
### Technical SEO
|
|
75
|
+
- Crawlability issues
|
|
76
|
+
- Indexability problems
|
|
77
|
+
- Security concerns
|
|
78
|
+
- Core Web Vitals status
|
|
79
|
+
|
|
80
|
+
### Content Quality
|
|
81
|
+
- E-E-A-T assessment
|
|
82
|
+
- Thin content pages
|
|
83
|
+
- Duplicate content issues
|
|
84
|
+
- Readability scores
|
|
85
|
+
|
|
86
|
+
### On-Page SEO
|
|
87
|
+
- Title tag issues
|
|
88
|
+
- Meta description problems
|
|
89
|
+
- Heading structure
|
|
90
|
+
- Internal linking gaps
|
|
91
|
+
|
|
92
|
+
### Schema & Structured Data
|
|
93
|
+
- Current implementation
|
|
94
|
+
- Validation errors
|
|
95
|
+
- Missing opportunities
|
|
96
|
+
|
|
97
|
+
### Performance
|
|
98
|
+
- LCP, INP, CLS scores
|
|
99
|
+
- Resource optimization needs
|
|
100
|
+
- Third-party script impact
|
|
101
|
+
|
|
102
|
+
### Images
|
|
103
|
+
- Missing alt text
|
|
104
|
+
- Oversized images
|
|
105
|
+
- Format recommendations
|
|
106
|
+
|
|
107
|
+
### AI Search Readiness
|
|
108
|
+
- Citability score
|
|
109
|
+
- Structural improvements
|
|
110
|
+
- Authority signals
|
|
111
|
+
|
|
112
|
+
## Priority Definitions
|
|
113
|
+
|
|
114
|
+
- **Critical**: Blocks indexing or causes penalties (fix immediately)
|
|
115
|
+
- **High**: Significantly impacts rankings (fix within 1 week)
|
|
116
|
+
- **Medium**: Optimization opportunity (fix within 1 month)
|
|
117
|
+
- **Low**: Nice to have (backlog)
|
|
118
|
+
|
|
119
|
+
## DataForSEO Integration (Optional)
|
|
120
|
+
|
|
121
|
+
If DataForSEO MCP tools are available, spawn the `seo-dataforseo` agent alongside existing subagents to enrich the audit with live data: real SERP positions, backlink profiles with spam scores, on-page analysis (Lighthouse), business listings, and AI visibility checks (ChatGPT scraper, LLM mentions).
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
*This skill was integrated into StringRay via the claude-seo integration script.*
|
|
127
|
+
*Original source: https://github.com/AgriciDaniel/claude-seo*
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: seo-competitor-pages
|
|
3
|
+
source: claude-seo
|
|
4
|
+
attribution: |
|
|
5
|
+
Originally from https://github.com/AgriciDaniel/claude-seo
|
|
6
|
+
License: MIT (see LICENSE.claude-seo)
|
|
7
|
+
converted: 2026-03-09T07:40:30.000Z
|
|
8
|
+
framework: StringRay v1.7.5
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
name: seo-competitor-pages
|
|
13
|
+
description: >
|
|
14
|
+
Generate SEO-optimized competitor comparison and alternatives pages. Covers
|
|
15
|
+
"X vs Y" layouts, "alternatives to X" pages, feature matrices, schema markup,
|
|
16
|
+
and conversion optimization. Use when user says "comparison page", "vs page",
|
|
17
|
+
"alternatives page", "competitor comparison", or "X vs Y".
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Competitor Comparison & Alternatives Pages
|
|
21
|
+
|
|
22
|
+
Create high-converting comparison and alternatives pages that target
|
|
23
|
+
competitive intent keywords with accurate, structured content.
|
|
24
|
+
|
|
25
|
+
## Page Types
|
|
26
|
+
|
|
27
|
+
### 1. "X vs Y" Comparison Pages
|
|
28
|
+
- Direct head-to-head comparison between two products/services
|
|
29
|
+
- Balanced feature-by-feature analysis
|
|
30
|
+
- Clear verdict or recommendation with justification
|
|
31
|
+
- Target keyword: `[Product A] vs [Product B]`
|
|
32
|
+
|
|
33
|
+
### 2. "Alternatives to X" Pages
|
|
34
|
+
- List of alternatives to a specific product/service
|
|
35
|
+
- Each alternative with brief summary, pros/cons, best-for use case
|
|
36
|
+
- Target keyword: `[Product] alternatives`, `best alternatives to [Product]`
|
|
37
|
+
|
|
38
|
+
### 3. "Best [Category] Tools" Roundup Pages
|
|
39
|
+
- Curated list of top tools/services in a category
|
|
40
|
+
- Ranking criteria clearly stated
|
|
41
|
+
- Target keyword: `best [category] tools [year]`, `top [category] software`
|
|
42
|
+
|
|
43
|
+
### 4. Comparison Table Pages
|
|
44
|
+
- Feature matrix with multiple products in columns
|
|
45
|
+
- Sortable/filterable if interactive
|
|
46
|
+
- Target keyword: `[category] comparison`, `[category] comparison chart`
|
|
47
|
+
|
|
48
|
+
## Comparison Table Generation
|
|
49
|
+
|
|
50
|
+
### Feature Matrix Layout
|
|
51
|
+
```
|
|
52
|
+
| Feature | Your Product | Competitor A | Competitor B |
|
|
53
|
+
|------------------|:------------:|:------------:|:------------:|
|
|
54
|
+
| Feature 1 | ✅ | ✅ | ❌ |
|
|
55
|
+
| Feature 2 | ✅ | ⚠️ Partial | ✅ |
|
|
56
|
+
| Feature 3 | ✅ | ❌ | ❌ |
|
|
57
|
+
| Pricing (from) | $X/mo | $Y/mo | $Z/mo |
|
|
58
|
+
| Free Tier | ✅ | ❌ | ✅ |
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Data Accuracy Requirements
|
|
62
|
+
- All feature claims must be verifiable from public sources
|
|
63
|
+
- Pricing must be current (include "as of [date]" note)
|
|
64
|
+
- Update frequency: review quarterly or when competitors ship major changes
|
|
65
|
+
- Link to source for each competitor data point where possible
|
|
66
|
+
|
|
67
|
+
## Schema Markup Recommendations
|
|
68
|
+
|
|
69
|
+
### Product Schema with AggregateRating
|
|
70
|
+
```json
|
|
71
|
+
{
|
|
72
|
+
"@context": "https://schema.org",
|
|
73
|
+
"@type": "Product",
|
|
74
|
+
"name": "[Product Name]",
|
|
75
|
+
"description": "[Product Description]",
|
|
76
|
+
"brand": {
|
|
77
|
+
"@type": "Brand",
|
|
78
|
+
"name": "[Brand Name]"
|
|
79
|
+
},
|
|
80
|
+
"aggregateRating": {
|
|
81
|
+
"@type": "AggregateRating",
|
|
82
|
+
"ratingValue": "[Rating]",
|
|
83
|
+
"reviewCount": "[Count]",
|
|
84
|
+
"bestRating": "5",
|
|
85
|
+
"worstRating": "1"
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### SoftwareApplication (for software comparisons)
|
|
91
|
+
```json
|
|
92
|
+
{
|
|
93
|
+
"@context": "https://schema.org",
|
|
94
|
+
"@type": "SoftwareApplication",
|
|
95
|
+
"name": "[Software Name]",
|
|
96
|
+
"applicationCategory": "[Category]",
|
|
97
|
+
"operatingSystem": "[OS]",
|
|
98
|
+
"offers": {
|
|
99
|
+
"@type": "Offer",
|
|
100
|
+
"price": "[Price]",
|
|
101
|
+
"priceCurrency": "USD"
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### ItemList (for roundup pages)
|
|
107
|
+
```json
|
|
108
|
+
{
|
|
109
|
+
"@context": "https://schema.org",
|
|
110
|
+
"@type": "ItemList",
|
|
111
|
+
"name": "Best [Category] Tools [Year]",
|
|
112
|
+
"itemListOrder": "https://schema.org/ItemListOrderDescending",
|
|
113
|
+
"numberOfItems": "[Count]",
|
|
114
|
+
"itemListElement": [
|
|
115
|
+
{
|
|
116
|
+
"@type": "ListItem",
|
|
117
|
+
"position": 1,
|
|
118
|
+
"name": "[Product Name]",
|
|
119
|
+
"url": "[Product URL]"
|
|
120
|
+
}
|
|
121
|
+
]
|
|
122
|
+
}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## Keyword Targeting
|
|
126
|
+
|
|
127
|
+
### Comparison Intent Patterns
|
|
128
|
+
| Pattern | Example | Search Volume Signal |
|
|
129
|
+
|---------|---------|---------------------|
|
|
130
|
+
| `[A] vs [B]` | "Slack vs Teams" | High |
|
|
131
|
+
| `[A] alternative` | "Figma alternatives" | High |
|
|
132
|
+
| `[A] alternatives [year]` | "Notion alternatives 2026" | High |
|
|
133
|
+
| `best [category] tools` | "best project management tools" | High |
|
|
134
|
+
| `[A] vs [B] for [use case]` | "AWS vs Azure for startups" | Medium |
|
|
135
|
+
| `[A] review [year]` | "Monday.com review 2026" | Medium |
|
|
136
|
+
| `[A] vs [B] pricing` | "HubSpot vs Salesforce pricing" | Medium |
|
|
137
|
+
| `is [A] better than [B]` | "is Notion better than Confluence" | Medium |
|
|
138
|
+
|
|
139
|
+
### Title Tag Formulas
|
|
140
|
+
- X vs Y: `[A] vs [B]: [Key Differentiator] ([Year])`
|
|
141
|
+
- Alternatives: `[N] Best [A] Alternatives in [Year] (Free & Paid)`
|
|
142
|
+
- Roundup: `[N] Best [Category] Tools in [Year] — Compared & Ranked`
|
|
143
|
+
|
|
144
|
+
### H1 Patterns
|
|
145
|
+
- Match title tag intent
|
|
146
|
+
- Include primary keyword naturally
|
|
147
|
+
- Keep under 70 characters
|
|
148
|
+
|
|
149
|
+
## Conversion-Optimized Layouts
|
|
150
|
+
|
|
151
|
+
### CTA Placement
|
|
152
|
+
- **Above fold**: Brief comparison summary with primary CTA
|
|
153
|
+
- **After comparison table**: "Try [Your Product] free" CTA
|
|
154
|
+
- **Bottom of page**: Final recommendation with CTA
|
|
155
|
+
- Avoid aggressive CTAs in competitor description sections (reduces trust)
|
|
156
|
+
|
|
157
|
+
### Social Proof Sections
|
|
158
|
+
- Customer testimonials relevant to comparison criteria
|
|
159
|
+
- G2/Capterra/TrustPilot ratings (with source links)
|
|
160
|
+
- Case studies showing migration from competitor
|
|
161
|
+
- "Switched from [Competitor]" stories
|
|
162
|
+
|
|
163
|
+
### Pricing Highlights
|
|
164
|
+
- Clear pricing comparison table
|
|
165
|
+
- Highlight value advantages (not just lowest price)
|
|
166
|
+
- Include hidden costs (setup fees, per-user pricing, overage charges)
|
|
167
|
+
- Link to full pricing page
|
|
168
|
+
|
|
169
|
+
### Trust Signals
|
|
170
|
+
- "Last updated [date]" timestamp
|
|
171
|
+
- Author with relevant expertise
|
|
172
|
+
- Methodology disclosure (how comparisons were conducted)
|
|
173
|
+
- Disclosure of own product affiliation
|
|
174
|
+
|
|
175
|
+
## Fairness Guidelines
|
|
176
|
+
|
|
177
|
+
- **Accuracy**: All competitor information must be verifiable from public sources
|
|
178
|
+
- **No defamation**: Never make false or misleading claims about competitors
|
|
179
|
+
- **Cite sources**: Link to competitor websites, review sites, or documentation
|
|
180
|
+
- **Timely updates**: Review and update when competitors release major changes
|
|
181
|
+
- **Disclose affiliation**: Clearly state which product is yours
|
|
182
|
+
- **Balanced presentation**: Acknowledge competitor strengths honestly
|
|
183
|
+
- **Pricing accuracy**: Include "as of [date]" disclaimers on all pricing data
|
|
184
|
+
- **Feature verification**: Test competitor features where possible, cite documentation otherwise
|
|
185
|
+
|
|
186
|
+
## Internal Linking
|
|
187
|
+
|
|
188
|
+
- Link to your own product/service pages from comparison sections
|
|
189
|
+
- Cross-link between related comparison pages (e.g., "A vs B" links to "A vs C")
|
|
190
|
+
- Link to feature-specific pages when discussing individual features
|
|
191
|
+
- Breadcrumb: Home > Comparisons > [This Page]
|
|
192
|
+
- Related comparisons section at bottom of page
|
|
193
|
+
- Link to case studies and testimonials mentioned in the comparison
|
|
194
|
+
|
|
195
|
+
## Output
|
|
196
|
+
|
|
197
|
+
### Comparison Page Template
|
|
198
|
+
- `COMPARISON-PAGE.md` — Ready-to-implement page structure with sections
|
|
199
|
+
- Feature matrix table
|
|
200
|
+
- Content outline with word count targets (minimum 1,500 words)
|
|
201
|
+
|
|
202
|
+
### Schema Markup
|
|
203
|
+
- `comparison-schema.json` — Product/SoftwareApplication/ItemList JSON-LD
|
|
204
|
+
|
|
205
|
+
### Keyword Strategy
|
|
206
|
+
- Primary and secondary keywords
|
|
207
|
+
- Related long-tail opportunities
|
|
208
|
+
- Content gaps vs existing competitor pages
|
|
209
|
+
|
|
210
|
+
### Recommendations
|
|
211
|
+
- Content improvements for existing comparison pages
|
|
212
|
+
- New comparison page opportunities
|
|
213
|
+
- Schema markup additions
|
|
214
|
+
- Conversion optimization suggestions
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
*This skill was integrated into StringRay via the claude-seo integration script.*
|
|
220
|
+
*Original source: https://github.com/AgriciDaniel/claude-seo*
|