Skip to content

Commit 7cd85a5

Browse files
committed
Add social preview metadata
1 parent 53a528b commit 7cd85a5

3 files changed

Lines changed: 43 additions & 16 deletions

File tree

scripts/validate.mjs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,26 @@ for (const section of requiredSections) {
2222
}
2323
}
2424

25+
const requiredMeta = [
26+
'property="og:title"',
27+
'property="og:description"',
28+
'property="og:image"',
29+
'property="og:image:width" content="1280"',
30+
'property="og:image:height" content="640"',
31+
'name="twitter:card" content="summary_large_image"',
32+
'name="twitter:image"'
33+
];
34+
for (const meta of requiredMeta) {
35+
if (!index.includes(meta)) {
36+
throw new Error(`Missing required social metadata: ${meta}`);
37+
}
38+
}
39+
40+
const socialPreviewPath = resolve(srcDir, "assets", "repo-social-preview.png");
41+
if (!existsSync(socialPreviewPath)) {
42+
throw new Error("Missing required social preview image: src/assets/repo-social-preview.png");
43+
}
44+
2545
for (const placeholder of ["TODO", "lorem", "ipsum", "undefined"]) {
2646
if (index.toLowerCase().includes(placeholder.toLowerCase())) {
2747
throw new Error(`Found placeholder text: ${placeholder}`);

src/assets/repo-social-preview.png

492 KB
Loading

src/index.html

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,19 @@
33
<head>
44
<meta charset="utf-8">
55
<meta name="viewport" content="width=device-width, initial-scale=1">
6-
<title>AgentDispatch — spawn cloud agents instantly</title>
7-
<meta name="description" content="AgentDispatch is a provider-neutral MCP control plane for spawning long-running cloud subagents from local lead agents.">
6+
<title>AgentDispatch — spawn durable cloud subagents from MCP</title>
7+
<meta name="description" content="AgentDispatch gives MCP-capable lead agents one provider-neutral tool for spawning durable cloud subagents with task polling and A2A, MCP, AG-UI, or HTTP follow-up metadata.">
88
<meta name="theme-color" content="#080d1a">
99
<meta property="og:title" content="AgentDispatch">
10-
<meta property="og:description" content="Spawn cloud subagents from any MCP-capable lead agent. AWS AgentCore first, cloud-neutral by design.">
10+
<meta property="og:description" content="One MCP tool for long-running cloud-agent work. AWS AgentCore first, provider-neutral by design.">
1111
<meta property="og:type" content="website">
12+
<meta property="og:image" content="https://agent-dispatch.github.io/website/assets/repo-social-preview.png">
13+
<meta property="og:image:width" content="1280">
14+
<meta property="og:image:height" content="640">
15+
<meta name="twitter:card" content="summary_large_image">
16+
<meta name="twitter:title" content="AgentDispatch">
17+
<meta name="twitter:description" content="One MCP tool for long-running cloud-agent work. AWS AgentCore first, provider-neutral by design.">
18+
<meta name="twitter:image" content="https://agent-dispatch.github.io/website/assets/repo-social-preview.png">
1219
<link rel="stylesheet" href="./styles.css">
1320
</head>
1421
<body>
@@ -29,15 +36,15 @@
2936
<main>
3037
<section id="hero" class="hero section">
3138
<div class="hero-copy">
32-
<p class="eyebrow">MCP control plane for cloud subagents</p>
33-
<h1>Spawn a cloud agent without trapping your lead agent in a long-running task.</h1>
39+
<p class="eyebrow">One MCP tool. Durable cloud-agent work.</p>
40+
<h1>Your local agent should orchestrate. Cloud agents should execute.</h1>
3441
<p class="hero-text">
35-
AgentDispatch gives OpenClaw, Hermes, Claude Code, Codex, and custom orchestrators one provider-neutral tool:
36-
hand off the task, keep durable status, and continue through A2A or another runtime protocol when the cloud supports it.
42+
AgentDispatch gives OpenClaw, Hermes, Claude Code, Codex, and custom orchestrators a provider-neutral control plane:
43+
spawn the subagent, keep a durable task handle, and continue through A2A or another runtime protocol when the cloud supports it.
3744
</p>
3845
<div class="hero-actions">
3946
<a class="button primary" href="#quickstart">Start with AWS AgentCore</a>
40-
<a class="button secondary" href="https://github.com/agent-dispatch/mcp-server">View MCP server</a>
47+
<a class="button secondary" href="https://github.com/agent-dispatch">Star on GitHub</a>
4148
</div>
4249
<dl class="proof-points">
4350
<div>
@@ -60,7 +67,7 @@ <h1>Spawn a cloud agent without trapping your lead agent in a long-running task.
6067
</div>
6168
<pre><code>spawn_cloud_agent({
6269
runtime: "research-agent",
63-
instruction: "Audit this repo in the background.",
70+
instruction: "Audit this repo while I keep working.",
6471
protocol: "a2a",
6572
context: {
6673
repo: "agent-dispatch",
@@ -70,7 +77,7 @@ <h1>Spawn a cloud agent without trapping your lead agent in a long-running task.
7077

7178
→ {
7279
task_id: "task_...",
73-
status: "running",
80+
status: "queued",
7481
cloud_agent: {
7582
protocol: "a2a",
7683
invocation: { runtimeUrl: "https://..." },
@@ -83,7 +90,7 @@ <h1>Spawn a cloud agent without trapping your lead agent in a long-running task.
8390
<section id="how-it-works" class="section">
8491
<div class="section-heading">
8592
<p class="eyebrow">Architecture</p>
86-
<h2>Control plane stays stable. Runtime adapters do the cloud-specific work.</h2>
93+
<h2>The tool contract stays stable. Provider adapters do the cloud-specific work.</h2>
8794
</div>
8895
<div class="flow-grid">
8996
<article class="flow-step">
@@ -104,20 +111,20 @@ <h3>Adapter starts the runtime</h3>
104111
<article class="flow-step">
105112
<span>04</span>
106113
<h3>Agent keeps interacting</h3>
107-
<p>The response returns durable polling tools plus A2A, MCP, AG-UI, or HTTP metadata when available.</p>
114+
<p>The response returns durable polling tools plus A2A, MCP, AG-UI, or HTTP handoff metadata when available.</p>
108115
</article>
109116
</div>
110117
</section>
111118

112119
<section class="section split">
113120
<div>
114121
<p class="eyebrow">Why it matters</p>
115-
<h2>Local agents should orchestrate. Cloud agents should execute.</h2>
122+
<h2>Make long-running work feel like a normal agent tool call.</h2>
116123
</div>
117124
<div class="feature-list">
118-
<p><strong>Long-running work:</strong> deep research, audits, migrations, batch analysis, and build pipelines do not block the local session.</p>
125+
<p><strong>Long-running work:</strong> deep research, audits, migrations, batch analysis, and build pipelines leave the local session.</p>
119126
<p><strong>Credential boundaries:</strong> cloud credentials stay in account profiles and provider SDK chains, never inside MCP tool payloads.</p>
120-
<p><strong>Provider expansion:</strong> new providers are adapter packages, not new MCP tools that every lead agent must learn.</p>
127+
<p><strong>Provider expansion:</strong> new providers are adapter packages, not new MCP tools every lead agent has to learn.</p>
121128
</div>
122129
</section>
123130

@@ -158,7 +165,7 @@ <h2>AWS AgentCore runtime first.</h2>
158165
<section id="quickstart" class="section quickstart">
159166
<div class="section-heading">
160167
<p class="eyebrow">Quickstart</p>
161-
<h2>Configure once. Spawn when needed.</h2>
168+
<h2>Configure once. Spawn when the task should leave your laptop.</h2>
162169
</div>
163170
<div class="code-grid">
164171
<pre><code>npm install -g @agent-dispatch/cli

0 commit comments

Comments
 (0)