opencode-skills-antigravity 1.0.4 → 1.0.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.
Files changed (151) hide show
  1. package/bundled-skills/ad-creative/SKILL.md +371 -0
  2. package/bundled-skills/ad-creative/evals/evals.json +90 -0
  3. package/bundled-skills/ad-creative/references/generative-tools.md +637 -0
  4. package/bundled-skills/ad-creative/references/platform-specs.md +213 -0
  5. package/bundled-skills/ai-seo/SKILL.md +407 -0
  6. package/bundled-skills/ai-seo/evals/evals.json +90 -0
  7. package/bundled-skills/ai-seo/references/content-patterns.md +285 -0
  8. package/bundled-skills/ai-seo/references/platform-ranking-factors.md +152 -0
  9. package/bundled-skills/backend-dev-guidelines/SKILL.md +1 -1
  10. package/bundled-skills/cc-skill-security-review/SKILL.md +1 -1
  11. package/bundled-skills/churn-prevention/SKILL.md +433 -0
  12. package/bundled-skills/churn-prevention/evals/evals.json +93 -0
  13. package/bundled-skills/churn-prevention/references/cancel-flow-patterns.md +316 -0
  14. package/bundled-skills/churn-prevention/references/dunning-playbook.md +408 -0
  15. package/bundled-skills/claude-api/LICENSE.txt +202 -0
  16. package/bundled-skills/claude-api/SKILL.md +252 -0
  17. package/bundled-skills/claude-api/csharp/claude-api.md +70 -0
  18. package/bundled-skills/claude-api/curl/examples.md +164 -0
  19. package/bundled-skills/claude-api/go/claude-api.md +146 -0
  20. package/bundled-skills/claude-api/java/claude-api.md +128 -0
  21. package/bundled-skills/claude-api/php/claude-api.md +88 -0
  22. package/bundled-skills/claude-api/python/agent-sdk/README.md +269 -0
  23. package/bundled-skills/claude-api/python/agent-sdk/patterns.md +319 -0
  24. package/bundled-skills/claude-api/python/claude-api/README.md +404 -0
  25. package/bundled-skills/claude-api/python/claude-api/batches.md +182 -0
  26. package/bundled-skills/claude-api/python/claude-api/files-api.md +162 -0
  27. package/bundled-skills/claude-api/python/claude-api/streaming.md +162 -0
  28. package/bundled-skills/claude-api/python/claude-api/tool-use.md +587 -0
  29. package/bundled-skills/claude-api/ruby/claude-api.md +87 -0
  30. package/bundled-skills/claude-api/shared/error-codes.md +205 -0
  31. package/bundled-skills/claude-api/shared/live-sources.md +121 -0
  32. package/bundled-skills/claude-api/shared/models.md +68 -0
  33. package/bundled-skills/claude-api/shared/tool-use-concepts.md +305 -0
  34. package/bundled-skills/claude-api/typescript/agent-sdk/README.md +220 -0
  35. package/bundled-skills/claude-api/typescript/agent-sdk/patterns.md +150 -0
  36. package/bundled-skills/claude-api/typescript/claude-api/README.md +313 -0
  37. package/bundled-skills/claude-api/typescript/claude-api/batches.md +106 -0
  38. package/bundled-skills/claude-api/typescript/claude-api/files-api.md +98 -0
  39. package/bundled-skills/claude-api/typescript/claude-api/streaming.md +178 -0
  40. package/bundled-skills/claude-api/typescript/claude-api/tool-use.md +477 -0
  41. package/bundled-skills/codex-review/SKILL.md +1 -1
  42. package/bundled-skills/cold-email/SKILL.md +167 -0
  43. package/bundled-skills/cold-email/evals/evals.json +94 -0
  44. package/bundled-skills/cold-email/references/benchmarks.md +83 -0
  45. package/bundled-skills/cold-email/references/follow-up-sequences.md +81 -0
  46. package/bundled-skills/cold-email/references/frameworks.md +90 -0
  47. package/bundled-skills/cold-email/references/personalization.md +79 -0
  48. package/bundled-skills/cold-email/references/subject-lines.md +53 -0
  49. package/bundled-skills/content-strategy/SKILL.md +374 -0
  50. package/bundled-skills/content-strategy/evals/evals.json +90 -0
  51. package/bundled-skills/content-strategy/references/headless-cms.md +194 -0
  52. package/bundled-skills/context7-auto-research/SKILL.md +1 -1
  53. package/bundled-skills/dbos-golang/SKILL.md +1 -1
  54. package/bundled-skills/dbos-python/SKILL.md +1 -1
  55. package/bundled-skills/dbos-typescript/SKILL.md +1 -1
  56. package/bundled-skills/debug-buttercup/SKILL.md +1 -1
  57. package/bundled-skills/defuddle/SKILL.md +50 -0
  58. package/bundled-skills/docs/integrations/jetski-cortex.md +3 -3
  59. package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +1 -1
  60. package/bundled-skills/docs/integrations/jetski-gemini-loader/package.json +1 -0
  61. package/bundled-skills/docs/maintainers/repo-growth-seo.md +3 -3
  62. package/bundled-skills/docs/maintainers/skills-import-2026-03-21.md +81 -0
  63. package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
  64. package/bundled-skills/docs/users/bundles.md +1 -1
  65. package/bundled-skills/docs/users/claude-code-skills.md +1 -1
  66. package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
  67. package/bundled-skills/docs/users/getting-started.md +1 -1
  68. package/bundled-skills/docs/users/kiro-integration.md +1 -1
  69. package/bundled-skills/docs/users/usage.md +4 -4
  70. package/bundled-skills/docs/users/visual-guide.md +4 -4
  71. package/bundled-skills/evaluation/SKILL.md +1 -1
  72. package/bundled-skills/exa-search/SKILL.md +1 -1
  73. package/bundled-skills/firecrawl-scraper/SKILL.md +1 -1
  74. package/bundled-skills/frontend-dev-guidelines/SKILL.md +1 -1
  75. package/bundled-skills/gha-security-review/SKILL.md +2 -1
  76. package/bundled-skills/git-pushing/SKILL.md +1 -1
  77. package/bundled-skills/internal-comms/LICENSE.txt +202 -0
  78. package/bundled-skills/internal-comms/SKILL.md +35 -0
  79. package/bundled-skills/internal-comms/examples/3p-updates.md +47 -0
  80. package/bundled-skills/internal-comms/examples/company-newsletter.md +65 -0
  81. package/bundled-skills/internal-comms/examples/faq-answers.md +30 -0
  82. package/bundled-skills/internal-comms/examples/general-comms.md +16 -0
  83. package/bundled-skills/json-canvas/SKILL.md +253 -0
  84. package/bundled-skills/json-canvas/references/EXAMPLES.md +329 -0
  85. package/bundled-skills/lead-magnets/SKILL.md +319 -0
  86. package/bundled-skills/lead-magnets/references/benchmarks.md +129 -0
  87. package/bundled-skills/lead-magnets/references/format-guide.md +196 -0
  88. package/bundled-skills/memory-systems/SKILL.md +1 -1
  89. package/bundled-skills/obsidian-bases/SKILL.md +506 -0
  90. package/bundled-skills/obsidian-bases/references/FUNCTIONS_REFERENCE.md +173 -0
  91. package/bundled-skills/obsidian-cli/SKILL.md +115 -0
  92. package/bundled-skills/obsidian-markdown/SKILL.md +205 -0
  93. package/bundled-skills/obsidian-markdown/references/CALLOUTS.md +58 -0
  94. package/bundled-skills/obsidian-markdown/references/EMBEDS.md +63 -0
  95. package/bundled-skills/obsidian-markdown/references/PROPERTIES.md +61 -0
  96. package/bundled-skills/product-marketing-context/SKILL.md +250 -0
  97. package/bundled-skills/product-marketing-context/evals/evals.json +85 -0
  98. package/bundled-skills/react-best-practices/SKILL.md +1 -1
  99. package/bundled-skills/revops/SKILL.md +352 -0
  100. package/bundled-skills/revops/evals/evals.json +91 -0
  101. package/bundled-skills/revops/references/automation-playbooks.md +290 -0
  102. package/bundled-skills/revops/references/lifecycle-definitions.md +278 -0
  103. package/bundled-skills/revops/references/routing-rules.md +203 -0
  104. package/bundled-skills/revops/references/scoring-models.md +247 -0
  105. package/bundled-skills/sales-enablement/SKILL.md +358 -0
  106. package/bundled-skills/sales-enablement/evals/evals.json +91 -0
  107. package/bundled-skills/sales-enablement/references/deck-frameworks.md +263 -0
  108. package/bundled-skills/sales-enablement/references/demo-scripts.md +355 -0
  109. package/bundled-skills/sales-enablement/references/objection-library.md +270 -0
  110. package/bundled-skills/sales-enablement/references/one-pager-templates.md +208 -0
  111. package/bundled-skills/seo/SKILL.md +139 -0
  112. package/bundled-skills/seo/references/cwv-thresholds.md +108 -0
  113. package/bundled-skills/seo/references/eeat-framework.md +214 -0
  114. package/bundled-skills/seo/references/quality-gates.md +155 -0
  115. package/bundled-skills/seo/references/schema-types.md +118 -0
  116. package/bundled-skills/seo-competitor-pages/SKILL.md +229 -0
  117. package/bundled-skills/seo-content/SKILL.md +186 -0
  118. package/bundled-skills/seo-dataforseo/SKILL.md +395 -0
  119. package/bundled-skills/seo-geo/SKILL.md +254 -0
  120. package/bundled-skills/seo-hreflang/SKILL.md +209 -0
  121. package/bundled-skills/seo-image-gen/SKILL.md +183 -0
  122. package/bundled-skills/seo-images/SKILL.md +193 -0
  123. package/bundled-skills/seo-page/SKILL.md +103 -0
  124. package/bundled-skills/seo-plan/SKILL.md +136 -0
  125. package/bundled-skills/seo-plan/assets/agency.md +175 -0
  126. package/bundled-skills/seo-plan/assets/ecommerce.md +167 -0
  127. package/bundled-skills/seo-plan/assets/generic.md +144 -0
  128. package/bundled-skills/seo-plan/assets/local-service.md +160 -0
  129. package/bundled-skills/seo-plan/assets/publisher.md +153 -0
  130. package/bundled-skills/seo-plan/assets/saas.md +135 -0
  131. package/bundled-skills/seo-programmatic/SKILL.md +184 -0
  132. package/bundled-skills/seo-schema/SKILL.md +178 -0
  133. package/bundled-skills/seo-sitemap/SKILL.md +129 -0
  134. package/bundled-skills/seo-technical/SKILL.md +175 -0
  135. package/bundled-skills/site-architecture/SKILL.md +366 -0
  136. package/bundled-skills/site-architecture/evals/evals.json +88 -0
  137. package/bundled-skills/site-architecture/references/mermaid-templates.md +216 -0
  138. package/bundled-skills/site-architecture/references/navigation-patterns.md +305 -0
  139. package/bundled-skills/site-architecture/references/site-type-templates.md +293 -0
  140. package/bundled-skills/skill-improver/SKILL.md +1 -1
  141. package/bundled-skills/tavily-web/SKILL.md +1 -1
  142. package/bundled-skills/test-fixing/SKILL.md +1 -1
  143. package/bundled-skills/tool-design/SKILL.md +1 -1
  144. package/bundled-skills/ui-ux-pro-max/SKILL.md +1 -1
  145. package/bundled-skills/verification-before-completion/SKILL.md +1 -1
  146. package/bundled-skills/wiki-changelog/SKILL.md +1 -1
  147. package/bundled-skills/wiki-onboarding/SKILL.md +1 -1
  148. package/bundled-skills/wiki-qa/SKILL.md +1 -1
  149. package/bundled-skills/wiki-researcher/SKILL.md +1 -1
  150. package/bundled-skills/wiki-vitepress/SKILL.md +1 -1
  151. package/package.json +1 -1
@@ -0,0 +1,178 @@
1
+ ---
2
+ name: seo-schema
3
+ description: >
4
+ Detect, validate, and generate Schema.org structured data. JSON-LD format
5
+ preferred. Use when user says "schema", "structured data", "rich results",
6
+ "JSON-LD", or "markup".
7
+ risk: unknown
8
+ source: "https://github.com/AgriciDaniel/claude-seo"
9
+ date_added: "2026-03-21"
10
+ user-invokable: true
11
+ argument-hint: "[url]"
12
+ allowed-tools:
13
+ - Read
14
+ - Grep
15
+ - Glob
16
+ - Bash
17
+ - WebFetch
18
+ - Write
19
+ ---
20
+
21
+ # Schema Markup Analysis & Generation
22
+
23
+ ## When to Use
24
+
25
+ - Use when detecting, validating, or generating Schema.org structured data.
26
+ - Use when the user asks about JSON-LD, rich results, or markup opportunities.
27
+ - Use when schema validation is the main task, rather than a broader SEO audit.
28
+
29
+ ## Detection
30
+
31
+ 1. Scan page source for JSON-LD `<script type="application/ld+json">`
32
+ 2. Check for Microdata (`itemscope`, `itemprop`)
33
+ 3. Check for RDFa (`typeof`, `property`)
34
+ 4. Always recommend JSON-LD as primary format (Google's stated preference)
35
+
36
+ ## Validation
37
+
38
+ - Check required properties per schema type
39
+ - Validate against Google's supported rich result types
40
+ - Test for common errors:
41
+ - Missing @context
42
+ - Invalid @type
43
+ - Wrong data types
44
+ - Placeholder text
45
+ - Relative URLs (should be absolute)
46
+ - Invalid date formats
47
+ - Flag deprecated types (see below)
48
+
49
+ ## Schema Type Status (as of Feb 2026)
50
+
51
+ Read `references/schema-types.md` for the full list. Key rules:
52
+
53
+ ### ACTIVE (recommend freely):
54
+ Organization, LocalBusiness, SoftwareApplication, WebApplication, Product (with Certification markup as of April 2025), ProductGroup, Offer, Service, Article, BlogPosting, NewsArticle, Review, AggregateRating, BreadcrumbList, WebSite, WebPage, Person, ProfilePage, ContactPage, VideoObject, ImageObject, Event, JobPosting, Course, DiscussionForumPosting
55
+
56
+ ### VIDEO & SPECIALIZED (recommend freely):
57
+ BroadcastEvent, Clip, SeekToAction, SoftwareSourceCode
58
+
59
+ See `schema/templates.json` for ready-to-use JSON-LD templates for these types.
60
+
61
+ > **JSON-LD and JavaScript rendering:** Per Google's December 2025 JS SEO guidance, structured data injected via JavaScript may face delayed processing. For time-sensitive markup (especially Product, Offer), include JSON-LD in the initial server-rendered HTML.
62
+
63
+ ### RESTRICTED (only for specific sites):
64
+ - **FAQ**: ONLY for government and healthcare authority sites (restricted Aug 2023)
65
+
66
+ ### DEPRECATED (never recommend):
67
+ - **HowTo**: Rich results removed September 2023
68
+ - **SpecialAnnouncement**: Deprecated July 31, 2025
69
+ - **CourseInfo, EstimatedSalary, LearningVideo**: Retired June 2025
70
+ - **ClaimReview**: Retired from rich results June 2025
71
+ - **VehicleListing**: Retired from rich results June 2025
72
+ - **Practice Problem**: Retired from rich results late 2025
73
+ - **Dataset**: Retired from rich results late 2025
74
+ - **Book Actions**: Deprecated then reversed, still functional as of Feb 2026 (historical note)
75
+
76
+ ## Generation
77
+
78
+ When generating schema for a page:
79
+ 1. Identify page type from content analysis
80
+ 2. Select appropriate schema type(s)
81
+ 3. Generate valid JSON-LD with all required + recommended properties
82
+ 4. Include only truthful, verifiable data. Use placeholders clearly marked for user to fill
83
+ 5. Validate output before presenting
84
+
85
+ ## Common Schema Templates
86
+
87
+ ### Organization
88
+ ```json
89
+ {
90
+ "@context": "https://schema.org",
91
+ "@type": "Organization",
92
+ "name": "[Company Name]",
93
+ "url": "[Website URL]",
94
+ "logo": "[Logo URL]",
95
+ "contactPoint": {
96
+ "@type": "ContactPoint",
97
+ "telephone": "[Phone]",
98
+ "contactType": "customer service"
99
+ },
100
+ "sameAs": [
101
+ "[Facebook URL]",
102
+ "[LinkedIn URL]",
103
+ "[Twitter URL]"
104
+ ]
105
+ }
106
+ ```
107
+
108
+ ### LocalBusiness
109
+ ```json
110
+ {
111
+ "@context": "https://schema.org",
112
+ "@type": "LocalBusiness",
113
+ "name": "[Business Name]",
114
+ "address": {
115
+ "@type": "PostalAddress",
116
+ "streetAddress": "[Street]",
117
+ "addressLocality": "[City]",
118
+ "addressRegion": "[State]",
119
+ "postalCode": "[ZIP]",
120
+ "addressCountry": "US"
121
+ },
122
+ "telephone": "[Phone]",
123
+ "openingHours": "Mo-Fr 09:00-17:00",
124
+ "geo": {
125
+ "@type": "GeoCoordinates",
126
+ "latitude": "[Lat]",
127
+ "longitude": "[Long]"
128
+ }
129
+ }
130
+ ```
131
+
132
+ ### Article/BlogPosting
133
+ ```json
134
+ {
135
+ "@context": "https://schema.org",
136
+ "@type": "Article",
137
+ "headline": "[Title]",
138
+ "author": {
139
+ "@type": "Person",
140
+ "name": "[Author Name]"
141
+ },
142
+ "datePublished": "[YYYY-MM-DD]",
143
+ "dateModified": "[YYYY-MM-DD]",
144
+ "image": "[Image URL]",
145
+ "publisher": {
146
+ "@type": "Organization",
147
+ "name": "[Publisher]",
148
+ "logo": {
149
+ "@type": "ImageObject",
150
+ "url": "[Logo URL]"
151
+ }
152
+ }
153
+ }
154
+ ```
155
+
156
+ ## Output
157
+
158
+ - `SCHEMA-REPORT.md`: detection and validation results
159
+ - `generated-schema.json`: ready-to-use JSON-LD snippets
160
+
161
+ ### Validation Results
162
+ | Schema | Type | Status | Issues |
163
+ |--------|------|--------|--------|
164
+ | ... | ... | ✅/⚠️/❌ | ... |
165
+
166
+ ### Recommendations
167
+ - Missing schema opportunities
168
+ - Validation fixes needed
169
+ - Generated code for implementation
170
+
171
+ ## Error Handling
172
+
173
+ | Scenario | Action |
174
+ |----------|--------|
175
+ | URL unreachable | Report connection error with status code. Suggest verifying URL and checking if the page requires authentication. |
176
+ | No schema markup found | Report that no JSON-LD, Microdata, or RDFa was detected. Recommend appropriate schema types based on page content analysis. |
177
+ | Invalid JSON-LD syntax | Parse and report specific syntax errors (missing brackets, trailing commas, unquoted keys). Provide corrected JSON-LD output. |
178
+ | Deprecated schema type detected | Flag the deprecated type with its retirement date. Recommend the current replacement type or advise removal if no replacement exists. |
@@ -0,0 +1,129 @@
1
+ ---
2
+ name: seo-sitemap
3
+ description: >
4
+ Analyze existing XML sitemaps or generate new ones with industry templates.
5
+ Validates format, URLs, and structure. Use when user says "sitemap",
6
+ "generate sitemap", "sitemap issues", or "XML sitemap".
7
+ risk: unknown
8
+ source: "https://github.com/AgriciDaniel/claude-seo"
9
+ date_added: "2026-03-21"
10
+ user-invokable: true
11
+ argument-hint: "[url or generate]"
12
+ allowed-tools:
13
+ - Read
14
+ - Grep
15
+ - Glob
16
+ - Bash
17
+ - WebFetch
18
+ - Write
19
+ ---
20
+
21
+ # Sitemap Analysis & Generation
22
+
23
+ ## When to Use
24
+
25
+ - Use when analyzing an existing XML sitemap or generating a new one.
26
+ - Use when the user mentions sitemap issues, sitemap generation, or sitemap validation.
27
+ - Use when checking URL coverage, sitemap limits, and sitemap quality rules.
28
+
29
+ ## Mode 1: Analyze Existing Sitemap
30
+
31
+ ### Validation Checks
32
+ - Valid XML format
33
+ - URL count <50,000 per file (protocol limit)
34
+ - All URLs return HTTP 200
35
+ - `<lastmod>` dates are accurate (not all identical)
36
+ - No deprecated tags: `<priority>` and `<changefreq>` are ignored by Google
37
+ - Sitemap referenced in robots.txt
38
+ - Compare crawled pages vs sitemap; flag missing pages
39
+
40
+ ### Quality Signals
41
+ - Sitemap index file if >50k URLs
42
+ - Split by content type (pages, posts, images, videos)
43
+ - No non-canonical URLs in sitemap
44
+ - No noindexed URLs in sitemap
45
+ - No redirected URLs in sitemap
46
+ - HTTPS URLs only (no HTTP)
47
+
48
+ ### Common Issues
49
+ | Issue | Severity | Fix |
50
+ |-------|----------|-----|
51
+ | >50k URLs in single file | Critical | Split with sitemap index |
52
+ | Non-200 URLs | High | Remove or fix broken URLs |
53
+ | Noindexed URLs included | High | Remove from sitemap |
54
+ | Redirected URLs included | Medium | Update to final URLs |
55
+ | All identical lastmod | Low | Use actual modification dates |
56
+ | Priority/changefreq used | Info | Can remove (ignored by Google) |
57
+
58
+ ## Mode 2: Generate New Sitemap
59
+
60
+ ### Process
61
+ 1. Ask for business type (or auto-detect from existing site)
62
+ 2. Load industry template from `../seo-plan/assets/` directory
63
+ 3. Interactive structure planning with user
64
+ 4. Apply quality gates:
65
+ - ⚠️ WARNING at 30+ location pages (require 60%+ unique content)
66
+ - 🛑 HARD STOP at 50+ location pages (require justification)
67
+ 5. Generate valid XML output
68
+ 6. Split at 50k URLs with sitemap index
69
+ 7. Generate STRUCTURE.md documentation
70
+
71
+ ### Safe Programmatic Pages (OK at scale)
72
+ ✅ Integration pages (with real setup docs)
73
+ ✅ Template/tool pages (with downloadable content)
74
+ ✅ Glossary pages (200+ word definitions)
75
+ ✅ Product pages (unique specs, reviews)
76
+ ✅ User profile pages (user-generated content)
77
+
78
+ ### Penalty Risk (avoid at scale)
79
+ ❌ Location pages with only city name swapped
80
+ ❌ "Best [tool] for [industry]" without industry-specific value
81
+ ❌ "[Competitor] alternative" without real comparison data
82
+ ❌ AI-generated pages without human review and unique value
83
+
84
+ ## Sitemap Format
85
+
86
+ ### Standard Sitemap
87
+ ```xml
88
+ <?xml version="1.0" encoding="UTF-8"?>
89
+ <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
90
+ <url>
91
+ <loc>https://example.com/page</loc>
92
+ <lastmod>2026-02-07</lastmod>
93
+ </url>
94
+ </urlset>
95
+ ```
96
+
97
+ ### Sitemap Index (for >50k URLs)
98
+ ```xml
99
+ <?xml version="1.0" encoding="UTF-8"?>
100
+ <sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
101
+ <sitemap>
102
+ <loc>https://example.com/sitemap-pages.xml</loc>
103
+ <lastmod>2026-02-07</lastmod>
104
+ </sitemap>
105
+ <sitemap>
106
+ <loc>https://example.com/sitemap-posts.xml</loc>
107
+ <lastmod>2026-02-07</lastmod>
108
+ </sitemap>
109
+ </sitemapindex>
110
+ ```
111
+
112
+ ## Error Handling
113
+
114
+ - **URL unreachable**: Report the HTTP status code and suggest checking if the site is live
115
+ - **No sitemap found**: Check common locations (/sitemap.xml, /sitemap_index.xml, robots.txt reference) before reporting "not found"
116
+ - **Invalid XML format**: Report specific parsing errors with line numbers
117
+ - **Rate limiting detected**: Back off and report partial results with a note about retry timing
118
+
119
+ ## Output
120
+
121
+ ### For Analysis
122
+ - `VALIDATION-REPORT.md`: analysis results
123
+ - Issues list with severity
124
+ - Recommendations
125
+
126
+ ### For Generation
127
+ - `sitemap.xml` (or split files with index)
128
+ - `STRUCTURE.md`: site architecture documentation
129
+ - URL count and organization summary
@@ -0,0 +1,175 @@
1
+ ---
2
+ name: seo-technical
3
+ description: "Audit technical SEO across crawlability, indexability, security, URLs, mobile, Core Web Vitals, structured data, JavaScript rendering, and related platform signals like robots.txt and AI crawler access."
4
+ risk: unknown
5
+ source: "https://github.com/AgriciDaniel/claude-seo"
6
+ date_added: "2026-03-21"
7
+ user-invokable: true
8
+ argument-hint: "[url]"
9
+ allowed-tools:
10
+ - Read
11
+ - Grep
12
+ - Glob
13
+ - Bash
14
+ - WebFetch
15
+ ---
16
+
17
+ # Technical SEO Audit
18
+
19
+ ## When to Use
20
+
21
+ - Use when the user wants a technical SEO review focused on crawlability, indexability, performance, or rendering.
22
+ - Use when auditing robots.txt, canonicalization, JavaScript SEO, Core Web Vitals, or AI crawler access.
23
+ - Use when the task is infrastructure- and implementation-oriented rather than content-focused.
24
+
25
+ ## Categories
26
+
27
+ ### 1. Crawlability
28
+ - robots.txt: exists, valid, not blocking important resources
29
+ - XML sitemap: exists, referenced in robots.txt, valid format
30
+ - Noindex tags: intentional vs accidental
31
+ - Crawl depth: important pages within 3 clicks of homepage
32
+ - JavaScript rendering: check if critical content requires JS execution
33
+ - Crawl budget: for large sites (>10k pages), efficiency matters
34
+
35
+ #### AI Crawler Management
36
+
37
+ As of 2025-2026, AI companies actively crawl the web to train models and power AI search. Managing these crawlers via robots.txt is a critical technical SEO consideration.
38
+
39
+ **Known AI crawlers:**
40
+
41
+ | Crawler | Company | robots.txt token | Purpose |
42
+ |---------|---------|-----------------|---------|
43
+ | GPTBot | OpenAI | `GPTBot` | Model training |
44
+ | ChatGPT-User | OpenAI | `ChatGPT-User` | Real-time browsing |
45
+ | ClaudeBot | Anthropic | `ClaudeBot` | Model training |
46
+ | PerplexityBot | Perplexity | `PerplexityBot` | Search index + training |
47
+ | Bytespider | ByteDance | `Bytespider` | Model training |
48
+ | Google-Extended | Google | `Google-Extended` | Gemini training (NOT search) |
49
+ | CCBot | Common Crawl | `CCBot` | Open dataset |
50
+
51
+ **Key distinctions:**
52
+ - Blocking `Google-Extended` prevents Gemini training use but does NOT affect Google Search indexing or AI Overviews (those use `Googlebot`)
53
+ - Blocking `GPTBot` prevents OpenAI training but does NOT prevent ChatGPT from citing your content via browsing (`ChatGPT-User`)
54
+ - ~3-5% of websites now use AI-specific robots.txt rules
55
+
56
+ **Example, selective AI crawler blocking:**
57
+ ```
58
+ # Allow search indexing, block AI training crawlers
59
+ User-agent: GPTBot
60
+ Disallow: /
61
+
62
+ User-agent: Google-Extended
63
+ Disallow: /
64
+
65
+ User-agent: Bytespider
66
+ Disallow: /
67
+
68
+ # Allow all other crawlers (including Googlebot for search)
69
+ User-agent: *
70
+ Allow: /
71
+ ```
72
+
73
+ **Recommendation:** Consider your AI visibility strategy before blocking. Being cited by AI systems drives brand awareness and referral traffic. Cross-reference the `seo-geo` skill for full AI visibility optimization.
74
+
75
+ ### 2. Indexability
76
+ - Canonical tags: self-referencing, no conflicts with noindex
77
+ - Duplicate content: near-duplicates, parameter URLs, www vs non-www
78
+ - Thin content: pages below minimum word counts per type
79
+ - Pagination: rel=next/prev or load-more pattern
80
+ - Hreflang: correct for multi-language/multi-region sites
81
+ - Index bloat: unnecessary pages consuming crawl budget
82
+
83
+ ### 3. Security
84
+ - HTTPS: enforced, valid SSL certificate, no mixed content
85
+ - Security headers:
86
+ - Content-Security-Policy (CSP)
87
+ - Strict-Transport-Security (HSTS)
88
+ - X-Frame-Options
89
+ - X-Content-Type-Options
90
+ - Referrer-Policy
91
+ - HSTS preload: check preload list inclusion for high-security sites
92
+
93
+ ### 4. URL Structure
94
+ - Clean URLs: descriptive, hyphenated, no query parameters for content
95
+ - Hierarchy: logical folder structure reflecting site architecture
96
+ - Redirects: no chains (max 1 hop), 301 for permanent moves
97
+ - URL length: flag >100 characters
98
+ - Trailing slashes: consistent usage
99
+
100
+ ### 5. Mobile Optimization
101
+ - Responsive design: viewport meta tag, responsive CSS
102
+ - Touch targets: minimum 48x48px with 8px spacing
103
+ - Font size: minimum 16px base
104
+ - No horizontal scroll
105
+ - Mobile-first indexing: Google indexes mobile version. **Mobile-first indexing is 100% complete as of July 5, 2024.** Google now crawls and indexes ALL websites exclusively with the mobile Googlebot user-agent.
106
+
107
+ ### 6. Core Web Vitals
108
+ - **LCP** (Largest Contentful Paint): target <2.5s
109
+ - **INP** (Interaction to Next Paint): target <200ms
110
+ - INP replaced FID on March 12, 2024. FID was fully removed from all Chrome tools (CrUX API, PageSpeed Insights, Lighthouse) on September 9, 2024. Do NOT reference FID anywhere.
111
+ - **CLS** (Cumulative Layout Shift): target <0.1
112
+ - Evaluation uses 75th percentile of real user data
113
+ - Use PageSpeed Insights API or CrUX data if MCP available
114
+
115
+ ### 7. Structured Data
116
+ - Detection: JSON-LD (preferred), Microdata, RDFa
117
+ - Validation against Google's supported types
118
+ - See seo-schema skill for full analysis
119
+
120
+ ### 8. JavaScript Rendering
121
+ - Check if content visible in initial HTML vs requires JS
122
+ - Identify client-side rendered (CSR) vs server-side rendered (SSR)
123
+ - Flag SPA frameworks (React, Vue, Angular) that may cause indexing issues
124
+ - Verify dynamic rendering setup if applicable
125
+
126
+ #### JavaScript SEO: Canonical & Indexing Guidance (December 2025)
127
+
128
+ Google updated its JavaScript SEO documentation in December 2025 with critical clarifications:
129
+
130
+ 1. **Canonical conflicts:** If a canonical tag in raw HTML differs from one injected by JavaScript, Google may use EITHER one. Ensure canonical tags are identical between server-rendered HTML and JS-rendered output.
131
+ 2. **noindex with JavaScript:** If raw HTML contains `<meta name="robots" content="noindex">` but JavaScript removes it, Google MAY still honor the noindex from raw HTML. Serve correct robots directives in the initial HTML response.
132
+ 3. **Non-200 status codes:** Google does NOT render JavaScript on pages returning non-200 HTTP status codes. Any content or meta tags injected via JS on error pages will be invisible to Googlebot.
133
+ 4. **Structured data in JavaScript:** Product, Article, and other structured data injected via JS may face delayed processing. For time-sensitive structured data (especially e-commerce Product markup), include it in the initial server-rendered HTML.
134
+
135
+ **Best practice:** Serve critical SEO elements (canonical, meta robots, structured data, title, meta description) in the initial server-rendered HTML rather than relying on JavaScript injection.
136
+
137
+ ### 9. IndexNow Protocol
138
+ - Check if site supports IndexNow for Bing, Yandex, Naver
139
+ - Supported by search engines other than Google
140
+ - Recommend implementation for faster indexing on non-Google engines
141
+
142
+ ## Output
143
+
144
+ ### Technical Score: XX/100
145
+
146
+ ### Category Breakdown
147
+ | Category | Status | Score |
148
+ |----------|--------|-------|
149
+ | Crawlability | pass/warn/fail | XX/100 |
150
+ | Indexability | pass/warn/fail | XX/100 |
151
+ | Security | pass/warn/fail | XX/100 |
152
+ | URL Structure | pass/warn/fail | XX/100 |
153
+ | Mobile | pass/warn/fail | XX/100 |
154
+ | Core Web Vitals | pass/warn/fail | XX/100 |
155
+ | Structured Data | pass/warn/fail | XX/100 |
156
+ | JS Rendering | pass/warn/fail | XX/100 |
157
+ | IndexNow | pass/warn/fail | XX/100 |
158
+
159
+ ### Critical Issues (fix immediately)
160
+ ### High Priority (fix within 1 week)
161
+ ### Medium Priority (fix within 1 month)
162
+ ### Low Priority (backlog)
163
+
164
+ ## DataForSEO Integration (Optional)
165
+
166
+ If DataForSEO MCP tools are available, use `on_page_instant_pages` for real page analysis (status codes, page timing, broken links, on-page checks), `on_page_lighthouse` for Lighthouse audits (performance, accessibility, SEO scores), and `domain_analytics_technologies_domain_technologies` for technology stack detection.
167
+
168
+ ## Error Handling
169
+
170
+ | Scenario | Action |
171
+ |----------|--------|
172
+ | URL unreachable | Report connection error with status code. Suggest verifying URL, checking DNS resolution, and confirming the site is publicly accessible. |
173
+ | robots.txt not found | Note that no robots.txt was detected at the root domain. Recommend creating one with appropriate directives. Continue audit on remaining categories. |
174
+ | HTTPS not configured | Flag as a critical issue. Report whether HTTP is served without redirect, mixed content exists, or SSL certificate is missing/expired. |
175
+ | Core Web Vitals data unavailable | Note that CrUX data is not available (common for low-traffic sites). Suggest using Lighthouse lab data as a proxy and recommend increasing traffic before re-testing. |