bobo-ai-cli 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +216 -0
  3. package/dist/agent.d.ts +9 -0
  4. package/dist/agent.js +144 -0
  5. package/dist/agent.js.map +1 -0
  6. package/dist/config.d.ts +15 -0
  7. package/dist/config.js +76 -0
  8. package/dist/config.js.map +1 -0
  9. package/dist/index.d.ts +2 -0
  10. package/dist/index.js +366 -0
  11. package/dist/index.js.map +1 -0
  12. package/dist/knowledge-commands.d.ts +2 -0
  13. package/dist/knowledge-commands.js +40 -0
  14. package/dist/knowledge-commands.js.map +1 -0
  15. package/dist/knowledge.d.ts +17 -0
  16. package/dist/knowledge.js +112 -0
  17. package/dist/knowledge.js.map +1 -0
  18. package/dist/memory.d.ts +17 -0
  19. package/dist/memory.js +215 -0
  20. package/dist/memory.js.map +1 -0
  21. package/dist/planner.d.ts +22 -0
  22. package/dist/planner.js +130 -0
  23. package/dist/planner.js.map +1 -0
  24. package/dist/project.d.ts +25 -0
  25. package/dist/project.js +117 -0
  26. package/dist/project.js.map +1 -0
  27. package/dist/rules-commands.d.ts +2 -0
  28. package/dist/rules-commands.js +51 -0
  29. package/dist/rules-commands.js.map +1 -0
  30. package/dist/skills.d.ts +28 -0
  31. package/dist/skills.js +349 -0
  32. package/dist/skills.js.map +1 -0
  33. package/dist/structured/loader.d.ts +19 -0
  34. package/dist/structured/loader.js +147 -0
  35. package/dist/structured/loader.js.map +1 -0
  36. package/dist/structured/paths.d.ts +2 -0
  37. package/dist/structured/paths.js +14 -0
  38. package/dist/structured/paths.js.map +1 -0
  39. package/dist/structured/project-scaffold.d.ts +7 -0
  40. package/dist/structured/project-scaffold.js +60 -0
  41. package/dist/structured/project-scaffold.js.map +1 -0
  42. package/dist/structured/render-markdown.d.ts +37 -0
  43. package/dist/structured/render-markdown.js +47 -0
  44. package/dist/structured/render-markdown.js.map +1 -0
  45. package/dist/structured/render-table.d.ts +1 -0
  46. package/dist/structured/render-table.js +15 -0
  47. package/dist/structured/render-table.js.map +1 -0
  48. package/dist/structured/search.d.ts +10 -0
  49. package/dist/structured/search.js +104 -0
  50. package/dist/structured/search.js.map +1 -0
  51. package/dist/structured/skill-runner.d.ts +15 -0
  52. package/dist/structured/skill-runner.js +60 -0
  53. package/dist/structured/skill-runner.js.map +1 -0
  54. package/dist/structured/types.d.ts +212 -0
  55. package/dist/structured/types.js +97 -0
  56. package/dist/structured/types.js.map +1 -0
  57. package/dist/structured-skills-commands.d.ts +3 -0
  58. package/dist/structured-skills-commands.js +126 -0
  59. package/dist/structured-skills-commands.js.map +1 -0
  60. package/dist/structured-template-commands.d.ts +2 -0
  61. package/dist/structured-template-commands.js +34 -0
  62. package/dist/structured-template-commands.js.map +1 -0
  63. package/dist/tools/index.d.ts +3 -0
  64. package/dist/tools/index.js +450 -0
  65. package/dist/tools/index.js.map +1 -0
  66. package/dist/ui.d.ts +19 -0
  67. package/dist/ui.js +72 -0
  68. package/dist/ui.js.map +1 -0
  69. package/dist/web.d.ts +4 -0
  70. package/dist/web.js +124 -0
  71. package/dist/web.js.map +1 -0
  72. package/knowledge/advanced-patterns.md +70 -0
  73. package/knowledge/agent-directives.md +74 -0
  74. package/knowledge/dream.md +36 -0
  75. package/knowledge/engineering.md +46 -0
  76. package/knowledge/error-catalog.md +33 -0
  77. package/knowledge/index.json +170 -0
  78. package/knowledge/memory/cache-optimization-and-skill-integration.md +102 -0
  79. package/knowledge/memory/engineering-patterns.md +134 -0
  80. package/knowledge/memory/feedback_root_structure.md +16 -0
  81. package/knowledge/memory/project-contexts.md +69 -0
  82. package/knowledge/memory/tools-and-services.md +85 -0
  83. package/knowledge/rules/agents.md +62 -0
  84. package/knowledge/rules/blocking-rules.md +323 -0
  85. package/knowledge/rules/cache-management.md +379 -0
  86. package/knowledge/rules/capability-evolution.md +132 -0
  87. package/knowledge/rules/coding.md +126 -0
  88. package/knowledge/rules/engineering-workflows.md +225 -0
  89. package/knowledge/rules/evomap-content-guidelines.md +354 -0
  90. package/knowledge/rules/evomap-guide.md +224 -0
  91. package/knowledge/rules/git.md +31 -0
  92. package/knowledge/rules/hooks.md +106 -0
  93. package/knowledge/rules/performance.md +101 -0
  94. package/knowledge/rules/remotion-auto-production.md +1120 -0
  95. package/knowledge/rules/security.md +46 -0
  96. package/knowledge/rules/testing.md +32 -0
  97. package/knowledge/rules/work-mode.md +208 -0
  98. package/knowledge/rules.md +62 -0
  99. package/knowledge/skills/Skill_Seekers.md +1722 -0
  100. package/knowledge/skills/ab-test-setup.md +557 -0
  101. package/knowledge/skills/agent-sdk-dev.md +238 -0
  102. package/knowledge/skills/agent-tools.md +136 -0
  103. package/knowledge/skills/analytics-tracking.md +597 -0
  104. package/knowledge/skills/artifacts-builder.md +89 -0
  105. package/knowledge/skills/asana.md +13 -0
  106. package/knowledge/skills/backend-expert.md +97 -0
  107. package/knowledge/skills/brand-voice.md +481 -0
  108. package/knowledge/skills/browser-use.md +419 -0
  109. package/knowledge/skills/cache-optimization-skill.md +179 -0
  110. package/knowledge/skills/canvas-design.md +147 -0
  111. package/knowledge/skills/citation-validator.md +203 -0
  112. package/knowledge/skills/clangd-lsp.md +52 -0
  113. package/knowledge/skills/code-review-expert.md +85 -0
  114. package/knowledge/skills/code-review.md +280 -0
  115. package/knowledge/skills/code-simplifier.md +13 -0
  116. package/knowledge/skills/commit-commands.md +258 -0
  117. package/knowledge/skills/competitor-alternatives.md +795 -0
  118. package/knowledge/skills/content-atomizer.md +910 -0
  119. package/knowledge/skills/content-research-writer.md +605 -0
  120. package/knowledge/skills/context-optimization-suite.md +162 -0
  121. package/knowledge/skills/context7.md +13 -0
  122. package/knowledge/skills/copy-editing.md +494 -0
  123. package/knowledge/skills/copywriting.md +510 -0
  124. package/knowledge/skills/csharp-lsp.md +40 -0
  125. package/knowledge/skills/decision-making-framework.md +154 -0
  126. package/knowledge/skills/developer-growth-analysis.md +335 -0
  127. package/knowledge/skills/direct-response-copy.md +2336 -0
  128. package/knowledge/skills/docker-expert.md +229 -0
  129. package/knowledge/skills/document-skills.md +13 -0
  130. package/knowledge/skills/documentation-expert.md +126 -0
  131. package/knowledge/skills/email-sequence.md +1061 -0
  132. package/knowledge/skills/email-sequences.md +910 -0
  133. package/knowledge/skills/example-plugin.md +72 -0
  134. package/knowledge/skills/explanatory-output-style.md +82 -0
  135. package/knowledge/skills/feature-dev.md +458 -0
  136. package/knowledge/skills/file-organizer.md +466 -0
  137. package/knowledge/skills/firebase.disabled.md +13 -0
  138. package/knowledge/skills/form-cro.md +488 -0
  139. package/knowledge/skills/free-tool-strategy.md +636 -0
  140. package/knowledge/skills/frontend-design-offical.md +55 -0
  141. package/knowledge/skills/frontend-design.md +41 -0
  142. package/knowledge/skills/frontend-expert.md +93 -0
  143. package/knowledge/skills/github.md +13 -0
  144. package/knowledge/skills/gitlab.md +13 -0
  145. package/knowledge/skills/gopls-lsp.md +32 -0
  146. package/knowledge/skills/got-controller.md +218 -0
  147. package/knowledge/skills/greptile.md +72 -0
  148. package/knowledge/skills/hookify.md +376 -0
  149. package/knowledge/skills/image-editor.md +189 -0
  150. package/knowledge/skills/image-enhancer.md +109 -0
  151. package/knowledge/skills/jdtls-lsp.md +49 -0
  152. package/knowledge/skills/json-canvas.md +654 -0
  153. package/knowledge/skills/keyword-research.md +559 -0
  154. package/knowledge/skills/kotlin-lsp.md +28 -0
  155. package/knowledge/skills/laravel-boost.md +13 -0
  156. package/knowledge/skills/launch-strategy.md +394 -0
  157. package/knowledge/skills/lead-magnet.md +393 -0
  158. package/knowledge/skills/learning-output-style.md +106 -0
  159. package/knowledge/skills/linear.md +13 -0
  160. package/knowledge/skills/lua-lsp.md +47 -0
  161. package/knowledge/skills/marketing-ideas.md +720 -0
  162. package/knowledge/skills/marketing-psychology.md +534 -0
  163. package/knowledge/skills/mcp-builder.md +369 -0
  164. package/knowledge/skills/meeting-insights-analyzer.md +347 -0
  165. package/knowledge/skills/memory-evolution-system.md +172 -0
  166. package/knowledge/skills/multi-lens-thinking.md +407 -0
  167. package/knowledge/skills/nano-banana-pro.md +116 -0
  168. package/knowledge/skills/newsletter.md +736 -0
  169. package/knowledge/skills/notebooklm.md +296 -0
  170. package/knowledge/skills/obsidian-bases.md +634 -0
  171. package/knowledge/skills/obsidian-markdown.md +651 -0
  172. package/knowledge/skills/onboarding-cro.md +494 -0
  173. package/knowledge/skills/orchestrator.md +681 -0
  174. package/knowledge/skills/page-cro.md +379 -0
  175. package/knowledge/skills/paid-ads.md +624 -0
  176. package/knowledge/skills/paywall-upgrade-cro.md +651 -0
  177. package/knowledge/skills/php-lsp.md +36 -0
  178. package/knowledge/skills/planning-with-files.md +193 -0
  179. package/knowledge/skills/playwright.md +13 -0
  180. package/knowledge/skills/plugin-dev.md +434 -0
  181. package/knowledge/skills/popup-cro.md +520 -0
  182. package/knowledge/skills/positioning-angles.md +330 -0
  183. package/knowledge/skills/pr-review-toolkit.md +359 -0
  184. package/knowledge/skills/pricing-strategy.md +777 -0
  185. package/knowledge/skills/programmatic-seo.md +714 -0
  186. package/knowledge/skills/pyright-lsp.md +43 -0
  187. package/knowledge/skills/quality-assurance-framework.md +168 -0
  188. package/knowledge/skills/question-refiner.md +160 -0
  189. package/knowledge/skills/ralph-loop.md +205 -0
  190. package/knowledge/skills/refactoring-expert.md +103 -0
  191. package/knowledge/skills/referral-program.md +668 -0
  192. package/knowledge/skills/research-executor.md +164 -0
  193. package/knowledge/skills/review-with-security.md +12 -0
  194. package/knowledge/skills/rust-analyzer-lsp.md +50 -0
  195. package/knowledge/skills/schema-markup.md +647 -0
  196. package/knowledge/skills/security-audit-expert.md +124 -0
  197. package/knowledge/skills/security-expert.md +140 -0
  198. package/knowledge/skills/security-guidance.md +13 -0
  199. package/knowledge/skills/seedance-prompt.md +139 -0
  200. package/knowledge/skills/self-evolution.md +1160 -0
  201. package/knowledge/skills/seo-audit.md +432 -0
  202. package/knowledge/skills/seo-content.md +787 -0
  203. package/knowledge/skills/serena.md +13 -0
  204. package/knowledge/skills/signup-flow-cro.md +409 -0
  205. package/knowledge/skills/skill-creator.md +220 -0
  206. package/knowledge/skills/skill-manager.md +226 -0
  207. package/knowledge/skills/skill-share.md +98 -0
  208. package/knowledge/skills/slack.md +13 -0
  209. package/knowledge/skills/social-content.md +878 -0
  210. package/knowledge/skills/spec-flow-skill.md +124 -0
  211. package/knowledge/skills/stripe.md +13 -0
  212. package/knowledge/skills/supabase.md +13 -0
  213. package/knowledge/skills/swift-lsp.md +40 -0
  214. package/knowledge/skills/synthesizer.md +236 -0
  215. package/knowledge/skills/template-skill.md +16 -0
  216. package/knowledge/skills/testing-expert.md +99 -0
  217. package/knowledge/skills/theme-factory.md +72 -0
  218. package/knowledge/skills/tiktok-research.md +208 -0
  219. package/knowledge/skills/typescript-lsp.md +36 -0
  220. package/knowledge/skills/ui-ux-pro-max.md +247 -0
  221. package/knowledge/skills/verify.md +15 -0
  222. package/knowledge/skills/visual-prompt-engineer.md +102 -0
  223. package/knowledge/skills/webapp-testing.md +111 -0
  224. package/knowledge/skills/wide-research.md +191 -0
  225. package/knowledge/system.md +93 -0
  226. package/knowledge/task-router.md +37 -0
  227. package/knowledge/verification.md +38 -0
  228. package/knowledge/workflows/3d-viz.md +47 -0
  229. package/knowledge/workflows/data-pipeline.md +47 -0
  230. package/knowledge/workflows/db-migration.md +51 -0
  231. package/knowledge/workflows/feature-dev.md +41 -0
  232. package/knowledge/workflows/tdd-flow.md +52 -0
  233. package/knowledge/workflows/ui-verify.md +51 -0
  234. package/package.json +60 -0
@@ -0,0 +1,647 @@
1
+ ---
2
+ id: "schema-markup"
3
+ title: "Schema Markup"
4
+ category: "marketing"
5
+ tags: ["schema markup", "initial assessment", "core principles", "common schema types", "validation and testing", "implementation patterns", "output format", "questions to ask", "related skills"]
6
+ triggers: []
7
+ dependencies: []
8
+ source: "E:/Bobo's Coding cache/.claude/skills/schema-markup"
9
+ ---
10
+
11
+ ---
12
+ name: schema-markup
13
+ description: When the user wants to add, fix, or optimize schema markup and structured data on their site. Also use when the user mentions "schema markup," "structured data," "JSON-LD," "rich snippets," "schema.org," "FAQ schema," "product schema," "review schema," or "breadcrumb schema." For broader SEO issues, see seo-audit.
14
+ ---
15
+
16
+ # Schema Markup
17
+
18
+ You are an expert in structured data and schema markup. Your goal is to implement schema.org markup that helps search engines understand content and enables rich results in search.
19
+
20
+ ## Initial Assessment
21
+
22
+ Before implementing schema, understand:
23
+
24
+ 1. **Page Type**
25
+ - What kind of page is this?
26
+ - What's the primary content?
27
+ - What rich results are possible?
28
+
29
+ 2. **Current State**
30
+ - Any existing schema?
31
+ - Errors in current implementation?
32
+ - Which rich results are already appearing?
33
+
34
+ 3. **Goals**
35
+ - Which rich results are you targeting?
36
+ - What's the business value?
37
+
38
+ ---
39
+
40
+ ## Core Principles
41
+
42
+ ### 1. Accuracy First
43
+
44
+ - Schema must accurately represent page content
45
+ - Don't markup content that doesn't exist
46
+ - Keep updated when content changes
47
+
48
+ ### 2. Use JSON-LD
49
+
50
+ - Google recommends JSON-LD format
51
+ - Easier to implement and maintain
52
+ - Place in `<head>` or end of `<body>`
53
+
54
+ ### 3. Follow Google's Guidelines
55
+
56
+ - Only use markup Google supports
57
+ - Avoid spam tactics
58
+ - Review eligibility requirements
59
+
60
+ ### 4. Validate Everything
61
+
62
+ - Test before deploying
63
+ - Monitor Search Console
64
+ - Fix errors promptly
65
+
66
+ ---
67
+
68
+ ## Common Schema Types
69
+
70
+ ### Organization
71
+
72
+ **Use for**: Company/brand homepage or about page
73
+
74
+ **Required properties**:
75
+
76
+ - name
77
+ - url
78
+
79
+ **Recommended properties**:
80
+
81
+ - logo
82
+ - sameAs (social profiles)
83
+ - contactPoint
84
+
85
+ ```json
86
+ {
87
+ "@context": "https://schema.org",
88
+ "@type": "Organization",
89
+ "name": "Example Company",
90
+ "url": "https://example.com",
91
+ "logo": "https://example.com/logo.png",
92
+ "sameAs": [
93
+ "https://twitter.com/example",
94
+ "https://linkedin.com/company/example",
95
+ "https://facebook.com/example"
96
+ ],
97
+ "contactPoint": {
98
+ "@type": "ContactPoint",
99
+ "telephone": "+1-555-555-5555",
100
+ "contactType": "customer service"
101
+ }
102
+ }
103
+ ```
104
+
105
+ ### WebSite (with SearchAction)
106
+
107
+ **Use for**: Homepage, enables sitelinks search box
108
+
109
+ **Required properties**:
110
+
111
+ - name
112
+ - url
113
+
114
+ **For search box**:
115
+
116
+ - potentialAction with SearchAction
117
+
118
+ ```json
119
+ {
120
+ "@context": "https://schema.org",
121
+ "@type": "WebSite",
122
+ "name": "Example",
123
+ "url": "https://example.com",
124
+ "potentialAction": {
125
+ "@type": "SearchAction",
126
+ "target": {
127
+ "@type": "EntryPoint",
128
+ "urlTemplate": "https://example.com/search?q={search_term_string}"
129
+ },
130
+ "query-input": "required name=search_term_string"
131
+ }
132
+ }
133
+ ```
134
+
135
+ ### Article / BlogPosting
136
+
137
+ **Use for**: Blog posts, news articles
138
+
139
+ **Required properties**:
140
+
141
+ - headline
142
+ - image
143
+ - datePublished
144
+ - author
145
+
146
+ **Recommended properties**:
147
+
148
+ - dateModified
149
+ - publisher
150
+ - description
151
+ - mainEntityOfPage
152
+
153
+ ```json
154
+ {
155
+ "@context": "https://schema.org",
156
+ "@type": "Article",
157
+ "headline": "How to Implement Schema Markup",
158
+ "image": "https://example.com/image.jpg",
159
+ "datePublished": "2024-01-15T08:00:00+00:00",
160
+ "dateModified": "2024-01-20T10:00:00+00:00",
161
+ "author": {
162
+ "@type": "Person",
163
+ "name": "Jane Doe",
164
+ "url": "https://example.com/authors/jane"
165
+ },
166
+ "publisher": {
167
+ "@type": "Organization",
168
+ "name": "Example Company",
169
+ "logo": {
170
+ "@type": "ImageObject",
171
+ "url": "https://example.com/logo.png"
172
+ }
173
+ },
174
+ "description": "A complete guide to implementing schema markup...",
175
+ "mainEntityOfPage": {
176
+ "@type": "WebPage",
177
+ "@id": "https://example.com/schema-guide"
178
+ }
179
+ }
180
+ ```
181
+
182
+ ### Product
183
+
184
+ **Use for**: Product pages (e-commerce or SaaS)
185
+
186
+ **Required properties**:
187
+
188
+ - name
189
+ - image
190
+ - offers (with price and availability)
191
+
192
+ **Recommended properties**:
193
+
194
+ - description
195
+ - sku
196
+ - brand
197
+ - aggregateRating
198
+ - review
199
+
200
+ ```json
201
+ {
202
+ "@context": "https://schema.org",
203
+ "@type": "Product",
204
+ "name": "Premium Widget",
205
+ "image": "https://example.com/widget.jpg",
206
+ "description": "Our best-selling widget for professionals",
207
+ "sku": "WIDGET-001",
208
+ "brand": {
209
+ "@type": "Brand",
210
+ "name": "Example Co"
211
+ },
212
+ "offers": {
213
+ "@type": "Offer",
214
+ "url": "https://example.com/products/widget",
215
+ "priceCurrency": "USD",
216
+ "price": "99.99",
217
+ "availability": "https://schema.org/InStock",
218
+ "priceValidUntil": "2024-12-31"
219
+ },
220
+ "aggregateRating": {
221
+ "@type": "AggregateRating",
222
+ "ratingValue": "4.8",
223
+ "reviewCount": "127"
224
+ }
225
+ }
226
+ ```
227
+
228
+ ### SoftwareApplication
229
+
230
+ **Use for**: SaaS product pages, app landing pages
231
+
232
+ **Required properties**:
233
+
234
+ - name
235
+ - offers (or free indicator)
236
+
237
+ **Recommended properties**:
238
+
239
+ - applicationCategory
240
+ - operatingSystem
241
+ - aggregateRating
242
+
243
+ ```json
244
+ {
245
+ "@context": "https://schema.org",
246
+ "@type": "SoftwareApplication",
247
+ "name": "Example App",
248
+ "applicationCategory": "BusinessApplication",
249
+ "operatingSystem": "Web, iOS, Android",
250
+ "offers": {
251
+ "@type": "Offer",
252
+ "price": "0",
253
+ "priceCurrency": "USD"
254
+ },
255
+ "aggregateRating": {
256
+ "@type": "AggregateRating",
257
+ "ratingValue": "4.6",
258
+ "ratingCount": "1250"
259
+ }
260
+ }
261
+ ```
262
+
263
+ ### FAQPage
264
+
265
+ **Use for**: Pages with frequently asked questions
266
+
267
+ **Required properties**:
268
+
269
+ - mainEntity (array of Question/Answer)
270
+
271
+ ```json
272
+ {
273
+ "@context": "https://schema.org",
274
+ "@type": "FAQPage",
275
+ "mainEntity": [
276
+ {
277
+ "@type": "Question",
278
+ "name": "What is schema markup?",
279
+ "acceptedAnswer": {
280
+ "@type": "Answer",
281
+ "text": "Schema markup is a structured data vocabulary that helps search engines understand your content..."
282
+ }
283
+ },
284
+ {
285
+ "@type": "Question",
286
+ "name": "How do I implement schema?",
287
+ "acceptedAnswer": {
288
+ "@type": "Answer",
289
+ "text": "The recommended approach is to use JSON-LD format, placing the script in your page's head..."
290
+ }
291
+ }
292
+ ]
293
+ }
294
+ ```
295
+
296
+ ### HowTo
297
+
298
+ **Use for**: Instructional content, tutorials
299
+
300
+ **Required properties**:
301
+
302
+ - name
303
+ - step (array of HowToStep)
304
+
305
+ **Recommended properties**:
306
+
307
+ - image
308
+ - totalTime
309
+ - estimatedCost
310
+ - supply/tool
311
+
312
+ ```json
313
+ {
314
+ "@context": "https://schema.org",
315
+ "@type": "HowTo",
316
+ "name": "How to Add Schema Markup to Your Website",
317
+ "description": "A step-by-step guide to implementing JSON-LD schema",
318
+ "totalTime": "PT15M",
319
+ "step": [
320
+ {
321
+ "@type": "HowToStep",
322
+ "name": "Choose your schema type",
323
+ "text": "Identify the appropriate schema type for your page content...",
324
+ "url": "https://example.com/guide#step1"
325
+ },
326
+ {
327
+ "@type": "HowToStep",
328
+ "name": "Write the JSON-LD",
329
+ "text": "Create the JSON-LD markup following schema.org specifications...",
330
+ "url": "https://example.com/guide#step2"
331
+ },
332
+ {
333
+ "@type": "HowToStep",
334
+ "name": "Add to your page",
335
+ "text": "Insert the script tag in your page's head section...",
336
+ "url": "https://example.com/guide#step3"
337
+ }
338
+ ]
339
+ }
340
+ ```
341
+
342
+ ### BreadcrumbList
343
+
344
+ **Use for**: Any page with breadcrumb navigation
345
+
346
+ ```json
347
+ {
348
+ "@context": "https://schema.org",
349
+ "@type": "BreadcrumbList",
350
+ "itemListElement": [
351
+ {
352
+ "@type": "ListItem",
353
+ "position": 1,
354
+ "name": "Home",
355
+ "item": "https://example.com"
356
+ },
357
+ {
358
+ "@type": "ListItem",
359
+ "position": 2,
360
+ "name": "Blog",
361
+ "item": "https://example.com/blog"
362
+ },
363
+ {
364
+ "@type": "ListItem",
365
+ "position": 3,
366
+ "name": "SEO Guide",
367
+ "item": "https://example.com/blog/seo-guide"
368
+ }
369
+ ]
370
+ }
371
+ ```
372
+
373
+ ### LocalBusiness
374
+
375
+ **Use for**: Local business location pages
376
+
377
+ **Required properties**:
378
+
379
+ - name
380
+ - address
381
+ - (Various by business type)
382
+
383
+ ```json
384
+ {
385
+ "@context": "https://schema.org",
386
+ "@type": "LocalBusiness",
387
+ "name": "Example Coffee Shop",
388
+ "image": "https://example.com/shop.jpg",
389
+ "address": {
390
+ "@type": "PostalAddress",
391
+ "streetAddress": "123 Main Street",
392
+ "addressLocality": "San Francisco",
393
+ "addressRegion": "CA",
394
+ "postalCode": "94102",
395
+ "addressCountry": "US"
396
+ },
397
+ "geo": {
398
+ "@type": "GeoCoordinates",
399
+ "latitude": "37.7749",
400
+ "longitude": "-122.4194"
401
+ },
402
+ "telephone": "+1-555-555-5555",
403
+ "openingHoursSpecification": [
404
+ {
405
+ "@type": "OpeningHoursSpecification",
406
+ "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
407
+ "opens": "08:00",
408
+ "closes": "18:00"
409
+ }
410
+ ],
411
+ "priceRange": "$$"
412
+ }
413
+ ```
414
+
415
+ ### Review / AggregateRating
416
+
417
+ **Use for**: Review pages or products with reviews
418
+
419
+ Note: Self-serving reviews (reviewing your own product) are against guidelines. Reviews must be from real customers.
420
+
421
+ ```json
422
+ {
423
+ "@context": "https://schema.org",
424
+ "@type": "Product",
425
+ "name": "Example Product",
426
+ "aggregateRating": {
427
+ "@type": "AggregateRating",
428
+ "ratingValue": "4.5",
429
+ "bestRating": "5",
430
+ "worstRating": "1",
431
+ "ratingCount": "523"
432
+ },
433
+ "review": [
434
+ {
435
+ "@type": "Review",
436
+ "author": {
437
+ "@type": "Person",
438
+ "name": "John Smith"
439
+ },
440
+ "datePublished": "2024-01-10",
441
+ "reviewRating": {
442
+ "@type": "Rating",
443
+ "ratingValue": "5"
444
+ },
445
+ "reviewBody": "Excellent product, exceeded my expectations..."
446
+ }
447
+ ]
448
+ }
449
+ ```
450
+
451
+ ### Event
452
+
453
+ **Use for**: Event pages, webinars, conferences
454
+
455
+ **Required properties**:
456
+
457
+ - name
458
+ - startDate
459
+ - location (or eventAttendanceMode for online)
460
+
461
+ ```json
462
+ {
463
+ "@context": "https://schema.org",
464
+ "@type": "Event",
465
+ "name": "Annual Marketing Conference",
466
+ "startDate": "2024-06-15T09:00:00-07:00",
467
+ "endDate": "2024-06-15T17:00:00-07:00",
468
+ "eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",
469
+ "eventStatus": "https://schema.org/EventScheduled",
470
+ "location": {
471
+ "@type": "VirtualLocation",
472
+ "url": "https://example.com/conference"
473
+ },
474
+ "image": "https://example.com/conference.jpg",
475
+ "description": "Join us for our annual marketing conference...",
476
+ "offers": {
477
+ "@type": "Offer",
478
+ "url": "https://example.com/conference/tickets",
479
+ "price": "199",
480
+ "priceCurrency": "USD",
481
+ "availability": "https://schema.org/InStock",
482
+ "validFrom": "2024-01-01"
483
+ },
484
+ "performer": {
485
+ "@type": "Organization",
486
+ "name": "Example Company"
487
+ },
488
+ "organizer": {
489
+ "@type": "Organization",
490
+ "name": "Example Company",
491
+ "url": "https://example.com"
492
+ }
493
+ }
494
+ ```
495
+
496
+ ---
497
+
498
+ ## Multiple Schema Types on One Page
499
+
500
+ You can (and often should) have multiple schema types:
501
+
502
+ ```json
503
+ {
504
+ "@context": "https://schema.org",
505
+ "@graph": [
506
+ {
507
+ "@type": "Organization",
508
+ "@id": "https://example.com/#organization",
509
+ "name": "Example Company",
510
+ "url": "https://example.com"
511
+ },
512
+ {
513
+ "@type": "WebSite",
514
+ "@id": "https://example.com/#website",
515
+ "url": "https://example.com",
516
+ "name": "Example",
517
+ "publisher": {
518
+ "@id": "https://example.com/#organization"
519
+ }
520
+ },
521
+ {
522
+ "@type": "BreadcrumbList",
523
+ "itemListElement": [...]
524
+ }
525
+ ]
526
+ }
527
+ ```
528
+
529
+ ---
530
+
531
+ ## Validation and Testing
532
+
533
+ ### Tools
534
+
535
+ - **Google Rich Results Test**: https://search.google.com/test/rich-results
536
+ - **Schema.org Validator**: https://validator.schema.org/
537
+ - **Search Console**: Enhancements reports
538
+
539
+ ### Common Errors
540
+
541
+ **Missing required properties**
542
+
543
+ - Check Google's documentation for required fields
544
+ - Different from schema.org minimum requirements
545
+
546
+ **Invalid values**
547
+
548
+ - Dates must be ISO 8601 format
549
+ - URLs must be fully qualified
550
+ - Enumerations must use exact values
551
+
552
+ **Mismatch with page content**
553
+
554
+ - Schema doesn't match visible content
555
+ - Ratings for products without reviews shown
556
+ - Prices that don't match displayed prices
557
+
558
+ ---
559
+
560
+ ## Implementation Patterns
561
+
562
+ ### Static Sites
563
+
564
+ - Add JSON-LD directly in HTML template
565
+ - Use includes/partials for reusable schema
566
+
567
+ ### Dynamic Sites (React, Next.js, etc.)
568
+
569
+ - Component that renders schema
570
+ - Server-side rendered for SEO
571
+ - Serialize data to JSON-LD
572
+
573
+ ```jsx
574
+ // Next.js example
575
+ export default function ProductPage({ product }) {
576
+ const schema = {
577
+ '@context': 'https://schema.org',
578
+ '@type': 'Product',
579
+ name: product.name,
580
+ // ... other properties
581
+ };
582
+
583
+ return (
584
+ <>
585
+ <Head>
586
+ <script
587
+ type="application/ld+json"
588
+ dangerouslySetInnerHTML={{ __html: JSON.stringify(schema) }}
589
+ />
590
+ </Head>
591
+ {/* Page content */}
592
+ </>
593
+ );
594
+ }
595
+ ```
596
+
597
+ ### CMS / WordPress
598
+
599
+ - Plugins (Yoast, Rank Math, Schema Pro)
600
+ - Theme modifications
601
+ - Custom fields to structured data
602
+
603
+ ---
604
+
605
+ ## Output Format
606
+
607
+ ### Schema Implementation
608
+
609
+ ```json
610
+ // Full JSON-LD code block
611
+ {
612
+ "@context": "https://schema.org",
613
+ "@type": "..."
614
+ // Complete markup
615
+ }
616
+ ```
617
+
618
+ ### Placement Instructions
619
+
620
+ Where to add the code and how
621
+
622
+ ### Testing Checklist
623
+
624
+ - [ ] Validates in Rich Results Test
625
+ - [ ] No errors or warnings
626
+ - [ ] Matches page content
627
+ - [ ] All required properties included
628
+
629
+ ---
630
+
631
+ ## Questions to Ask
632
+
633
+ If you need more context:
634
+
635
+ 1. What type of page is this?
636
+ 2. What rich results are you hoping to achieve?
637
+ 3. What data is available to populate the schema?
638
+ 4. Is there existing schema on the page?
639
+ 5. What's your tech stack for implementation?
640
+
641
+ ---
642
+
643
+ ## Related Skills
644
+
645
+ - **seo-audit**: For overall SEO including schema review
646
+ - **programmatic-seo**: For templated schema at scale
647
+ - **analytics-tracking**: For measuring rich result impact