diff --git a/public/images/book-cover-dark-provenance.svg b/public/images/book-cover-dark-provenance.svg
new file mode 100644
index 0000000..91434e8
--- /dev/null
+++ b/public/images/book-cover-dark-provenance.svg
@@ -0,0 +1,22 @@
+
diff --git a/src/components/Footer.astro b/src/components/Footer.astro
index 91a7c9b..a79b93e 100644
--- a/src/components/Footer.astro
+++ b/src/components/Footer.astro
@@ -66,18 +66,22 @@ const currentYear = new Date().getFullYear();
diff --git a/src/components/SEO.astro b/src/components/SEO.astro
index 0728b2c..11c9f61 100644
--- a/src/components/SEO.astro
+++ b/src/components/SEO.astro
@@ -38,6 +38,7 @@ function getJsonLd(pageType: string): string {
'https://linkedin.com/in/scottscoble',
'https://x.com/scottscoble',
'https://github.com/wscoble',
+ 'https://www.amazon.com/stores/Scott-Scoble/author/B0GKSSBDMK',
],
knowsAbout: ['AI leadership', 'human cultivation', 'engineering teams', 'formal specifications', 'provenance systems'],
knowsLanguage: ['en'],
@@ -78,7 +79,63 @@ function getJsonLd(pageType: string): string {
description: 'Human Cultivation Expert for the AI Age',
url: siteUrl,
};
- return JSON.stringify([personLd, websiteLd], null, 2);
+ const speakableSchema = {
+ '@context': 'https://schema.org',
+ '@type': 'SpeakableSpecification',
+ cssSelector: ['h1', '.hero p', '.hero-description'],
+ };
+ return JSON.stringify([personLd, websiteLd, speakableSchema], null, 2);
+ }
+
+ case 'blog': {
+ const blogSchema = {
+ '@context': 'https://schema.org',
+ '@type': 'Blog',
+ '@id': `${siteUrl}#blog`,
+ name: 'Scott Scoble Blog',
+ description: 'Articles and essays by Scott Scoble on AI leadership, team cultivation, developer experience, and the human side of technology.',
+ url: `${siteUrl}/blog`,
+ author: {
+ '@type': 'Person',
+ name: 'Scott Scoble',
+ url: siteUrl,
+ },
+ blogPost: [
+ {
+ '@type': 'BlogPosting',
+ headline: 'Why Cultivation Over Strip Mining',
+ description: 'Gallup 2026: 80% of the global workforce is disengaged. The $438B cost is not a tool problem; it is a people problem.',
+ url: `${siteUrl}/blog/strip-mining-cultivation`,
+ datePublished: '2026-05-18',
+ author: { '@type': 'Person', name: 'Scott Scoble' },
+ },
+ {
+ '@type': 'BlogPosting',
+ headline: '50 First Dates with AI',
+ description: "Every conversation with most AI systems is a first date. Here's the three-layer memory model that actually compounds.",
+ url: `${siteUrl}/blog/50-first-dates-with-ai`,
+ datePublished: '2026-05-24',
+ author: { '@type': 'Person', name: 'Scott Scoble' },
+ },
+ {
+ '@type': 'BlogPosting',
+ headline: 'The Soil Under Your Team',
+ description: "Tall stalks, ground cover, nitrogen fixers, pollinators, deep roots. Here's how to read the soil under your team.",
+ url: `${siteUrl}/blog/soil-health-teams`,
+ datePublished: '2026-05-18',
+ author: { '@type': 'Person', name: 'Scott Scoble' },
+ },
+ {
+ '@type': 'BlogPosting',
+ headline: 'The Soil Beneath the Code is Out',
+ description: 'A three-layer framework for understanding what makes engineering organizations healthy — or not.',
+ url: `${siteUrl}/blog/the-soil-beneath-the-code`,
+ datePublished: '2026-04-28',
+ author: { '@type': 'Person', name: 'Scott Scoble' },
+ },
+ ],
+ };
+ return JSON.stringify([personLd, blogSchema], null, 2);
}
case 'speaking':
diff --git a/src/layouts/BaseLayout.astro b/src/layouts/BaseLayout.astro
index 0c2d708..c283135 100644
--- a/src/layouts/BaseLayout.astro
+++ b/src/layouts/BaseLayout.astro
@@ -17,7 +17,7 @@ export interface Props {
const {
title,
description,
- ogImage = '/social-card.png',
+ ogImage = '/images/hero-speaker-new.webp',
ogType = 'website',
canonicalUrl,
pageType = 'home',
diff --git a/src/pages/about.astro b/src/pages/about.astro
index 2c01c74..c92cf9b 100644
--- a/src/pages/about.astro
+++ b/src/pages/about.astro
@@ -81,7 +81,7 @@ import BaseLayout from '../layouts/BaseLayout.astro';
-
Open Source Projects
+
Projects
@@ -91,6 +91,7 @@ import BaseLayout from '../layouts/BaseLayout.astro';
ScobleClaw
+
Private
Agentic engineering framework — tools, workflows, and skills for building with AI agents. Patterns for subagent dispatch, skill-based development, and provenance tracking.
What engineering teams can learn from farmers about sustainable systems. A cultivation playbook for technical leaders who are tired of strip-mining their teams.