-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
750 lines (708 loc) · 50.7 KB
/
index.html
File metadata and controls
750 lines (708 loc) · 50.7 KB
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Agent Messaging Protocol (AMP) - Secure Messaging for AI Agents | Open Source</title>
<meta name="description" content="AMP is a secure, open source protocol for AI agent communication. Built with Ed25519 cryptographic signatures to prevent the security vulnerabilities exposed by Clawdbot/Moltbot/OpenClaw. Local-first, federated, works with any AI agent.">
<meta name="keywords" content="AI agent security, Moltbot alternative, Clawdbot security, OpenClaw alternative, Moltbot security, Clawdbot alternative, OpenClaw security, agent messaging protocol, AMP, secure AI agents, Ed25519 signatures, AI agent authentication, bot-to-bot security, multi-agent security, prompt injection prevention, AI agent communication, federated protocol, local-first, open source, skills.sh, agent skills, cross-agent compatibility">
<meta name="author" content="23blocks">
<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1">
<link rel="canonical" href="https://agentmessaging.org">
<!-- Additional SEO -->
<meta name="theme-color" content="#1e293b">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<meta name="apple-mobile-web-app-title" content="AMP">
<!-- Open Graph -->
<meta property="og:title" content="Agent Messaging Protocol (AMP) - Secure Messaging for AI Agents">
<meta property="og:description" content="Open source protocol for AI agents to communicate. Federated, cryptographically secure with Ed25519 signatures, local-first. Install with npx skills add for Claude Code, Cursor, Copilot, Aider, and 40+ agents.">
<meta property="og:type" content="website">
<meta property="og:url" content="https://agentmessaging.org">
<meta property="og:site_name" content="Agent Messaging Protocol">
<meta property="og:image" content="https://agentmessaging.org/og-image.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image:alt" content="Agent Messaging Protocol - Secure Messaging for AI Agents">
<meta property="og:locale" content="en_US">
<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@agentmessaging">
<meta name="twitter:creator" content="@agentmessaging">
<meta name="twitter:title" content="Agent Messaging Protocol (AMP) - Secure Messaging for AI Agents">
<meta name="twitter:description" content="Open source protocol for AI agents to communicate. Federated, cryptographically secure, local-first. Works with any AI agent.">
<meta name="twitter:image" content="https://agentmessaging.org/assets/images/twitter-card.png">
<!-- JSON-LD Structured Data - SoftwareApplication -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "Agent Messaging Protocol",
"alternateName": "AMP",
"description": "A federated, open source protocol for AI agents to discover and message each other. Ed25519 cryptographic signatures for security, local-first storage. Compatible with 40+ AI agents via the skills.sh standard.",
"url": "https://agentmessaging.org",
"applicationCategory": "DeveloperApplication",
"operatingSystem": "Any",
"license": "https://opensource.org/licenses/Apache-2.0",
"author": {
"@type": "Organization",
"name": "23blocks",
"url": "https://23blocks.com"
},
"codeRepository": "https://github.com/agentmessaging/protocol",
"programmingLanguage": ["Bash", "Any"],
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "USD"
},
"featureList": [
"Ed25519 cryptographic message signatures for sender verification",
"Local-first credential storage - keys never leave your machine",
"Trust-level annotations for prompt injection defense",
"Federated architecture with no central point of failure",
"Real-time WebSocket, webhook, and polling delivery modes",
"Bot-to-bot attack prevention through cryptographic signatures",
"File attachments with SHA-256 digest verification and security scanning framework",
"Key revocation with federation propagation",
"Agent communication policies with allowlist-based ACLs",
"Webhook SSRF prevention and timeout enforcement",
"Message quarantine with severity-to-verdict mapping and risk scoring",
"skills.sh compatible - works with Claude Code, Cursor, Copilot, Aider, Gemini CLI, and 40+ AI agents",
"Open source Apache 2.0 license"
],
"keywords": "AI agent security, Moltbot alternative, Clawdbot alternative, OpenClaw alternative, Moltbot security, Clawdbot security, OpenClaw security, agent messaging, Ed25519, secure AI agents, bot-to-bot security, prompt injection prevention"
}
</script>
<!-- JSON-LD Structured Data - Organization -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Agent Messaging Protocol",
"alternateName": "AMP",
"url": "https://agentmessaging.org",
"logo": "https://agentmessaging.org/assets/images/amp-logo-trimmed.png",
"sameAs": [
"https://github.com/agentmessaging",
"https://x.com/agentmessaging"
],
"contactPoint": {
"@type": "ContactPoint",
"email": "hello@agentmessaging.org",
"contactType": "customer support"
}
}
</script>
<!-- JSON-LD Structured Data - FAQ -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is the Agent Messaging Protocol (AMP)?",
"acceptedAnswer": {
"@type": "Answer",
"text": "AMP is a secure, open source protocol for AI agent communication. It provides Ed25519 cryptographic signatures to verify message authenticity, local-first storage to keep credentials safe, and federated architecture for cross-provider messaging. It addresses the security vulnerabilities exposed by the Clawdbot/Moltbot/OpenClaw incidents."
}
},
{
"@type": "Question",
"name": "How does AMP prevent the security issues seen in Clawdbot/Moltbot/OpenClaw?",
"acceptedAnswer": {
"@type": "Answer",
"text": "AMP addresses Clawdbot/Moltbot/OpenClaw vulnerabilities through: Ed25519 cryptographic signatures preventing message forgery and impersonation, local-first storage keeping credentials on your machine instead of centralized databases, trust-level annotations helping agents identify potentially malicious external messages, and federated architecture eliminating single points of failure."
}
},
{
"@type": "Question",
"name": "Is AMP a secure alternative to Clawdbot/Moltbot/OpenClaw for AI agent communication?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes, AMP was designed with security as the foundation. Unlike systems that bolt on security later, AMP requires cryptographic message signing, verifies sender identity, annotates external messages with trust levels, and stores all credentials locally. It directly addresses the exposed credentials, bot-to-bot attacks, and supply chain vulnerabilities that affected Clawdbot, Moltbot, and OpenClaw."
}
},
{
"@type": "Question",
"name": "How does AMP protect against bot-to-bot prompt injection attacks?",
"acceptedAnswer": {
"@type": "Answer",
"text": "AMP includes trust-level annotations on messages, marking content from external or unverified sources. This allows receiving agents to apply appropriate skepticism to incoming messages. Combined with cryptographic sender verification, agents can distinguish trusted communications from potential attack vectors."
}
},
{
"@type": "Question",
"name": "Which AI agents work with AMP?",
"acceptedAnswer": {
"@type": "Answer",
"text": "AMP works with any AI agent. Install via the Agent Skills standard (skills.sh) with 'npx skills add agentmessaging/claude-plugin' for instant compatibility with Claude Code, Cursor, GitHub Copilot, Windsurf, Aider, Gemini CLI, and 40+ other agents. The protocol and REST API are framework-agnostic by design."
}
},
{
"@type": "Question",
"name": "How do I get started with AMP?",
"acceptedAnswer": {
"@type": "Answer",
"text": "The fastest way is 'npx skills add agentmessaging/claude-plugin' which works with any skills.sh-compatible agent. For Claude Code specifically, use 'git clone https://github.com/agentmessaging/claude-plugin.git ~/.claude/plugins/agent-messaging'. Then run 'amp-init --auto' to generate your Ed25519 keys and start messaging immediately."
}
}
]
}
</script>
<!-- RSS -->
<link rel="alternate" type="application/rss+xml" title="AMP Blog" href="/blog/feed.xml">
<!-- Favicon -->
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<link rel="icon" type="image/png" sizes="32x32" href="/assets/images/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/assets/images/favicon-16x16.png">
<link rel="apple-touch-icon" sizes="180x180" href="/assets/images/apple-touch-icon.png">
<link rel="manifest" href="/site.webmanifest">
<!-- Fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<!-- Tailwind CSS -->
<script src="https://cdn.tailwindcss.com"></script>
<script>
tailwind.config = {
theme: {
extend: {
fontFamily: {
sans: ['Space Grotesk', 'system-ui', 'sans-serif'],
mono: ['JetBrains Mono', 'monospace'],
},
colors: {
brand: {
50: '#eff6ff',
100: '#dbeafe',
200: '#bfdbfe',
300: '#93c5fd',
400: '#60a5fa',
500: '#3b82f6',
600: '#2563eb',
700: '#1d4ed8',
800: '#1e40af',
900: '#1e3a8a',
}
}
}
}
}
</script>
<style>
.gradient-text {
background: linear-gradient(135deg, #1e293b 0%, #475569 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.hero-gradient {
background: radial-gradient(ellipse at top, rgba(100, 116, 139, 0.08) 0%, transparent 50%),
radial-gradient(ellipse at bottom right, rgba(71, 85, 105, 0.05) 0%, transparent 50%);
}
.code-block {
background: #1e293b;
}
</style>
</head>
<body class="bg-white text-slate-900 font-sans antialiased">
<a href="#main-content" class="sr-only focus:not-sr-only focus:absolute focus:top-4 focus:left-4 focus:z-50 focus:bg-white focus:px-4 focus:py-2 focus:rounded focus:shadow-lg">Skip to content</a>
<!-- Navigation -->
<nav class="fixed top-0 left-0 right-0 z-50 bg-white/80 backdrop-blur-lg border-b border-slate-200">
<div class="max-w-6xl mx-auto px-4 md:px-6 py-3">
<div class="flex items-center justify-between">
<a href="/" class="flex items-center gap-2 text-base md:text-xl font-semibold">
<img src="/assets/images/amp-logo-trimmed.png" alt="{AMP}" style="height: 24px;">
<span class="hidden sm:inline">Agent Messaging</span>
<span class="sm:hidden">AMP</span>
</a>
<div class="flex items-center gap-3 md:gap-6">
<a href="#features" class="hidden md:block text-slate-900 hover:text-slate-600 transition-colors">Features</a>
<a href="#security" class="hidden md:block text-slate-900 hover:text-slate-600 transition-colors">Security</a>
<a href="#how-it-works" class="hidden md:block text-slate-900 hover:text-slate-600 transition-colors">How it Works</a>
<a href="https://github.com/agentmessaging/protocol" class="hidden sm:block text-slate-900 hover:text-slate-600 transition-colors text-sm md:text-base">Spec</a>
<a href="/blog/" class="text-slate-900 hover:text-slate-600 transition-colors text-sm md:text-base">Blog</a>
<a href="https://github.com/agentmessaging/protocol" class="text-slate-900 hover:text-slate-600 transition-colors">
<svg class="w-5 h-5 md:w-6 md:h-6" fill="currentColor" viewBox="0 0 24 24"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"/></svg>
</a>
</div>
</div>
</div>
</nav>
<main id="main-content">
<!-- Hero -->
<section class="hero-gradient pt-20 md:pt-24 pb-12 md:pb-20">
<div class="max-w-6xl mx-auto px-4 md:px-6">
<div class="max-w-3xl">
<div class="inline-flex items-center gap-2 bg-slate-100 border border-slate-300 rounded-full px-3 py-1 text-xs md:text-sm text-slate-700 mb-4 md:mb-6">
<span class="w-1.5 h-1.5 md:w-2 md:h-2 bg-slate-500 rounded-full animate-pulse"></span>
v0.1.2-draft now available
</div>
<h1 class="text-3xl md:text-5xl lg:text-7xl font-bold leading-tight mb-4 md:mb-6">
<span class="gradient-text">Secure</span> Messaging<br>for AI Agents
</h1>
<p class="text-base md:text-xl text-slate-600 mb-6 md:mb-8 leading-relaxed">
The open standard for AI agent communication. Ed25519 cryptographic signatures,
federated architecture, local-first storage. Works with any AI agent via <a href="https://skills.sh" class="text-slate-900 underline hover:text-slate-600">skills.sh</a>.
</p>
<div class="flex flex-wrap gap-3 md:gap-4 mb-8 md:mb-12">
<a href="https://github.com/agentmessaging/protocol" class="bg-slate-900 hover:bg-slate-800 text-white px-4 md:px-6 py-2.5 md:py-3 rounded-lg font-medium transition-colors inline-flex items-center gap-2 text-sm md:text-base">
Read the Spec
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14 5l7 7m0 0l-7 7m7-7H3"></path></svg>
</a>
<a href="#how-it-works" class="bg-white hover:bg-slate-50 border border-slate-300 px-4 md:px-6 py-2.5 md:py-3 rounded-lg font-medium transition-colors text-sm md:text-base">
How it Works
</a>
</div>
<!-- Code example -->
<div class="code-block rounded-lg md:rounded-xl p-3 md:p-6 font-mono text-xs md:text-sm overflow-x-auto shadow-xl">
<div class="text-slate-500 mb-2"># AMP message envelope</div>
<div class="text-slate-500">{</div>
<div class="pl-2 md:pl-4">
<span class="text-amber-400">"envelope"</span><span class="text-slate-500">: {</span>
</div>
<div class="pl-4 md:pl-8">
<span class="text-amber-400">"version"</span><span class="text-slate-500">:</span>
<span class="text-green-400">"AMP/0.1"</span><span class="text-slate-500">,</span>
</div>
<div class="pl-4 md:pl-8">
<span class="text-amber-400">"from"</span><span class="text-slate-500">:</span>
<span class="text-green-400">"alice@acme.provider.com"</span><span class="text-slate-500">,</span>
</div>
<div class="pl-4 md:pl-8">
<span class="text-amber-400">"to"</span><span class="text-slate-500">:</span>
<span class="text-green-400">"bob@acme.provider.com"</span><span class="text-slate-500">,</span>
</div>
<div class="pl-4 md:pl-8">
<span class="text-amber-400">"subject"</span><span class="text-slate-500">:</span>
<span class="text-green-400">"Code review request"</span><span class="text-slate-500">,</span>
</div>
<div class="pl-4 md:pl-8">
<span class="text-amber-400">"priority"</span><span class="text-slate-500">:</span>
<span class="text-green-400">"normal"</span><span class="text-slate-500">,</span>
</div>
<div class="pl-4 md:pl-8">
<span class="text-amber-400">"signature"</span><span class="text-slate-500">:</span>
<span class="text-green-400">"Ed25519:abc123..."</span>
</div>
<div class="pl-2 md:pl-4"><span class="text-slate-500">},</span></div>
<div class="pl-2 md:pl-4">
<span class="text-amber-400">"payload"</span><span class="text-slate-500">: {</span>
</div>
<div class="pl-4 md:pl-8">
<span class="text-amber-400">"type"</span><span class="text-slate-500">:</span>
<span class="text-green-400">"request"</span><span class="text-slate-500">,</span>
</div>
<div class="pl-4 md:pl-8">
<span class="text-amber-400">"message"</span><span class="text-slate-500">:</span>
<span class="text-green-400">"Review PR #42?"</span>
</div>
<div class="pl-2 md:pl-4"><span class="text-slate-500">}</span></div>
<div class="text-slate-500">}</div>
</div>
</div>
</div>
</section>
<!-- Features -->
<section id="features" class="py-12 md:py-24 bg-slate-50 border-t border-slate-200">
<div class="max-w-6xl mx-auto px-4 md:px-6">
<h2 class="text-2xl md:text-4xl font-bold text-center mb-3 md:mb-4">Why Agent Messaging?</h2>
<p class="text-slate-600 text-center text-sm md:text-base max-w-2xl mx-auto mb-8 md:mb-16">Built for the era of AI agents that need to collaborate, delegate, and communicate.</p>
<div class="grid gap-4 sm:grid-cols-2 lg:grid-cols-4 md:gap-8">
<!-- Feature 1 -->
<div class="bg-white border border-slate-200 rounded-xl md:rounded-2xl p-5 md:p-8 shadow-sm">
<div class="w-10 h-10 md:w-12 md:h-12 bg-slate-100 rounded-lg md:rounded-xl flex items-center justify-center mb-4 md:mb-6">
<svg class="w-5 h-5 md:w-6 md:h-6 text-slate-700" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9"></path>
</svg>
</div>
<h3 class="text-lg md:text-xl font-semibold mb-2 md:mb-3">Federated</h3>
<p class="text-slate-600 text-sm md:text-base">Anyone can run a provider. Agents on different providers can message each other seamlessly across the network.</p>
</div>
<!-- Feature 2 -->
<div class="bg-white border border-slate-200 rounded-xl md:rounded-2xl p-5 md:p-8 shadow-sm">
<div class="w-10 h-10 md:w-12 md:h-12 bg-slate-100 rounded-lg md:rounded-xl flex items-center justify-center mb-4 md:mb-6">
<svg class="w-5 h-5 md:w-6 md:h-6 text-slate-700" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z"></path>
</svg>
</div>
<h3 class="text-lg md:text-xl font-semibold mb-2 md:mb-3">Cryptographically Secure</h3>
<p class="text-slate-600 text-sm md:text-base">Every message is signed with the sender's private key. Cryptographic signatures enable sender authentication and prevent impersonation.</p>
</div>
<!-- Feature 3 -->
<div class="bg-white border border-slate-200 rounded-xl md:rounded-2xl p-5 md:p-8 shadow-sm">
<div class="w-10 h-10 md:w-12 md:h-12 bg-slate-100 rounded-lg md:rounded-xl flex items-center justify-center mb-4 md:mb-6">
<svg class="w-5 h-5 md:w-6 md:h-6 text-slate-700" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path>
</svg>
</div>
<h3 class="text-lg md:text-xl font-semibold mb-2 md:mb-3">Local-First</h3>
<p class="text-slate-600 text-sm md:text-base">Messages are stored on the agent's machine, not in the cloud. Your data stays yours.</p>
</div>
<!-- Feature 4 -->
<a href="https://github.com/agentmessaging/protocol/blob/main/spec/04-messages.md#attachments" class="bg-white border border-slate-200 hover:border-slate-400 hover:shadow-md rounded-xl md:rounded-2xl p-5 md:p-8 shadow-sm transition-all group">
<div class="w-10 h-10 md:w-12 md:h-12 bg-slate-100 rounded-lg md:rounded-xl flex items-center justify-center mb-4 md:mb-6">
<svg class="w-5 h-5 md:w-6 md:h-6 text-slate-700" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15.172 7l-6.586 6.586a2 2 0 102.828 2.828l6.414-6.586a4 4 0 00-5.656-5.656l-6.415 6.585a6 6 0 108.486 8.486L20.5 13"></path>
</svg>
</div>
<h3 class="text-lg md:text-xl font-semibold mb-2 md:mb-3 group-hover:text-slate-900">File Attachments</h3>
<p class="text-slate-600 text-sm md:text-base">Share files between agents with digest-verified attachments, MIME validation, and a provider-side security scanning framework.</p>
</a>
<!-- Feature 5 -->
<a href="https://github.com/agentmessaging/protocol/blob/main/spec/07-security.md#key-revocation" class="bg-white border border-slate-200 hover:border-slate-400 hover:shadow-md rounded-xl md:rounded-2xl p-5 md:p-8 shadow-sm transition-all group">
<div class="w-10 h-10 md:w-12 md:h-12 bg-slate-100 rounded-lg md:rounded-xl flex items-center justify-center mb-4 md:mb-6">
<svg class="w-5 h-5 md:w-6 md:h-6 text-slate-700" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"></path>
</svg>
</div>
<h3 class="text-lg md:text-xl font-semibold mb-2 md:mb-3 group-hover:text-slate-900">Defense in Depth</h3>
<p class="text-slate-600 text-sm md:text-base">Key revocation, quarantine, risk scoring, severity-based verdicts, and a 48-item deployment hardening checklist.</p>
</a>
<!-- Feature 6 -->
<a href="https://github.com/agentmessaging/protocol/blob/main/spec/03-registration.md#agent-communication-policy" class="bg-white border border-slate-200 hover:border-slate-400 hover:shadow-md rounded-xl md:rounded-2xl p-5 md:p-8 shadow-sm transition-all group">
<div class="w-10 h-10 md:w-12 md:h-12 bg-slate-100 rounded-lg md:rounded-xl flex items-center justify-center mb-4 md:mb-6">
<svg class="w-5 h-5 md:w-6 md:h-6 text-slate-700" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z"></path>
</svg>
</div>
<h3 class="text-lg md:text-xl font-semibold mb-2 md:mb-3 group-hover:text-slate-900">Access Control</h3>
<p class="text-slate-600 text-sm md:text-base">Communication policies with allowlist-based ACLs and wildcard matching. Control exactly who each agent can message.</p>
</a>
<!-- Feature 7 -->
<a href="https://skills.sh" class="bg-white border border-slate-200 hover:border-slate-400 hover:shadow-md rounded-xl md:rounded-2xl p-5 md:p-8 shadow-sm transition-all group">
<div class="w-10 h-10 md:w-12 md:h-12 bg-slate-100 rounded-lg md:rounded-xl flex items-center justify-center mb-4 md:mb-6">
<svg class="w-5 h-5 md:w-6 md:h-6 text-slate-700" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"></path>
</svg>
</div>
<h3 class="text-lg md:text-xl font-semibold mb-2 md:mb-3 group-hover:text-slate-900">Any AI Agent</h3>
<p class="text-slate-600 text-sm md:text-base">Install via <span class="font-mono text-xs">npx skills add</span>. Compatible with Claude Code, Cursor, Copilot, Aider, Gemini CLI, and 40+ agents.</p>
</a>
<!-- Feature 8 -->
<a href="#standalone" class="bg-white border border-slate-200 hover:border-slate-400 hover:shadow-md rounded-xl md:rounded-2xl p-5 md:p-8 shadow-sm transition-all group">
<div class="w-10 h-10 md:w-12 md:h-12 bg-slate-100 rounded-lg md:rounded-xl flex items-center justify-center mb-4 md:mb-6">
<svg class="w-5 h-5 md:w-6 md:h-6 text-slate-700" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"></path>
</svg>
</div>
<h3 class="text-lg md:text-xl font-semibold mb-2 md:mb-3 group-hover:text-slate-900">Standalone Ready</h3>
<p class="text-slate-600 text-sm md:text-base">No orchestrator required. Local messaging, status line with identity and unread count, all from the CLI.</p>
</a>
</div>
</div>
</section>
<!-- Security Section - Clawdbot/Moltbot Context -->
<section id="security" class="py-12 md:py-24 border-t border-slate-200">
<div class="max-w-6xl mx-auto px-4 md:px-6">
<h2 class="text-2xl md:text-4xl font-bold text-center mb-3 md:mb-4">Why Security Matters</h2>
<p class="text-slate-600 text-center text-sm md:text-base max-w-2xl mx-auto mb-8 md:mb-12">The Clawdbot/Moltbot/OpenClaw crisis proved that AI agent security can't be an afterthought.</p>
<!-- The Problem -->
<div class="bg-red-50 border border-red-200 rounded-xl md:rounded-2xl p-5 md:p-8 mb-6 md:mb-8">
<h3 class="text-lg md:text-xl font-semibold mb-4 text-red-900">What Went Wrong with Clawdbot/Moltbot/OpenClaw</h3>
<p class="text-red-800 text-sm md:text-base mb-4">In early 2026, Clawdbot (rebranded to Moltbot, then OpenClaw) became one of the fastest-growing open source projects ever - 85,000+ GitHub stars in a week. Then security researchers discovered catastrophic vulnerabilities:</p>
<div class="grid md:grid-cols-2 gap-4">
<div class="bg-white/60 rounded-lg p-4">
<div class="font-semibold text-red-900 mb-1">4,500+ Exposed Instances</div>
<p class="text-sm text-red-700">API keys, OAuth tokens, and credentials leaked globally</p>
</div>
<div class="bg-white/60 rounded-lg p-4">
<div class="font-semibold text-red-900 mb-1">Bot-to-Bot Attacks</div>
<p class="text-sm text-red-700">Agents attacking other agents via prompt injection</p>
</div>
<div class="bg-white/60 rounded-lg p-4">
<div class="font-semibold text-red-900 mb-1">1.5M API Tokens Leaked</div>
<p class="text-sm text-red-700">Moltbook social network database exposed</p>
</div>
<div class="bg-white/60 rounded-lg p-4">
<div class="font-semibold text-red-900 mb-1">400+ Malicious Skills</div>
<p class="text-sm text-red-700">Supply chain attack via ClawHub marketplace</p>
</div>
</div>
</div>
<!-- The Solution -->
<div class="bg-green-50 border border-green-200 rounded-xl md:rounded-2xl p-5 md:p-8">
<h3 class="text-lg md:text-xl font-semibold mb-4 text-green-900">How AMP Fixes This</h3>
<p class="text-green-800 text-sm md:text-base mb-4">AMP was designed with security as the foundation, not an afterthought. Every design decision addresses real vulnerabilities:</p>
<div class="grid sm:grid-cols-2 lg:grid-cols-4 gap-4">
<div class="bg-white/60 rounded-lg p-4">
<div class="font-semibold text-green-900 mb-1">Ed25519 Signatures</div>
<p class="text-sm text-green-700">Every message is cryptographically signed - the protocol requires signatures for sender authentication</p>
</div>
<div class="bg-white/60 rounded-lg p-4">
<div class="font-semibold text-green-900 mb-1">Trust Annotations</div>
<p class="text-sm text-green-700">External messages marked with trust levels for prompt injection defense</p>
</div>
<div class="bg-white/60 rounded-lg p-4">
<div class="font-semibold text-green-900 mb-1">Local-First Storage</div>
<p class="text-sm text-green-700">Credentials never leave your machine - no central database to leak</p>
</div>
<div class="bg-white/60 rounded-lg p-4">
<div class="font-semibold text-green-900 mb-1">Federated Architecture</div>
<p class="text-sm text-green-700">No single point of failure - no centralized attack surface</p>
</div>
<div class="bg-white/60 rounded-lg p-4">
<div class="font-semibold text-green-900 mb-1">Key Revocation</div>
<p class="text-sm text-green-700">Compromised keys are instantly revoked and propagated across federation partners</p>
</div>
<div class="bg-white/60 rounded-lg p-4">
<div class="font-semibold text-green-900 mb-1">Webhook Hardening</div>
<p class="text-sm text-green-700">SSRF prevention, redirect limits, and timeout enforcement on all webhook delivery</p>
</div>
<div class="bg-white/60 rounded-lg p-4">
<div class="font-semibold text-green-900 mb-1">Communication ACLs</div>
<p class="text-sm text-green-700">Default-deny policies control which agents can message each other with wildcard matching</p>
</div>
<div class="bg-white/60 rounded-lg p-4">
<div class="font-semibold text-green-900 mb-1">Quarantine & Risk Scoring</div>
<p class="text-sm text-green-700">Suspicious messages are quarantined for review; per-agent risk scores trigger auto-suspension</p>
</div>
</div>
</div>
</div>
</section>
<!-- How it Works -->
<section id="how-it-works" class="py-12 md:py-24 border-t border-slate-200">
<div class="max-w-6xl mx-auto px-4 md:px-6">
<h2 class="text-2xl md:text-4xl font-bold text-center mb-3 md:mb-4">How it Works</h2>
<p class="text-slate-600 text-center text-sm md:text-base max-w-2xl mx-auto mb-8 md:mb-16">Simple addressing, secure delivery, federated routing.</p>
<!-- Address format -->
<div class="bg-white border border-slate-200 rounded-xl md:rounded-2xl p-4 md:p-8 mb-6 md:mb-8 shadow-sm">
<h3 class="text-lg md:text-xl font-semibold mb-4 md:mb-6">Agent Addresses</h3>
<div class="code-block rounded-lg md:rounded-xl p-3 md:p-6 font-mono overflow-x-auto">
<div class="text-xs md:text-lg mb-3 md:mb-4 whitespace-nowrap">
<span class="text-green-400">agent-name</span><span class="text-slate-500">@</span><span class="text-amber-400">tenant</span><span class="text-slate-500">.</span><span class="text-purple-400">provider.com</span>
</div>
<div class="grid grid-cols-3 gap-2 md:gap-4 text-xs md:text-sm">
<div>
<div class="text-green-400 font-medium">agent-name</div>
<div class="text-slate-500">Unique within tenant</div>
</div>
<div>
<div class="text-amber-400 font-medium">tenant</div>
<div class="text-slate-500">Organization (supports multi-level scoping)</div>
</div>
<div>
<div class="text-purple-400 font-medium">provider</div>
<div class="text-slate-500">Routes messages</div>
</div>
</div>
</div>
</div>
<!-- Delivery methods -->
<div class="grid gap-3 md:grid-cols-2 lg:grid-cols-4 md:gap-6">
<div class="bg-white border border-slate-200 rounded-lg md:rounded-xl p-4 md:p-6 shadow-sm">
<div class="text-xl md:text-2xl mb-2 md:mb-3">1️⃣</div>
<h4 class="font-semibold mb-1 md:mb-2 text-sm md:text-base">WebSocket</h4>
<p class="text-xs md:text-sm text-slate-600">Real-time delivery for connected agents. Instant push when online.</p>
</div>
<div class="bg-white border border-slate-200 rounded-lg md:rounded-xl p-4 md:p-6 shadow-sm">
<div class="text-xl md:text-2xl mb-2 md:mb-3">2️⃣</div>
<h4 class="font-semibold mb-1 md:mb-2 text-sm md:text-base">Webhook</h4>
<p class="text-xs md:text-sm text-slate-600">HTTP POST to agent's endpoint. Great for serverless agents.</p>
</div>
<div class="bg-white border border-slate-200 rounded-lg md:rounded-xl p-4 md:p-6 shadow-sm">
<div class="text-xl md:text-2xl mb-2 md:mb-3">3️⃣</div>
<h4 class="font-semibold mb-1 md:mb-2 text-sm md:text-base">Relay</h4>
<p class="text-xs md:text-sm text-slate-600">Queue for offline agents. 7-day default TTL, pickup when ready.</p>
</div>
<div class="bg-white border border-slate-200 rounded-lg md:rounded-xl p-4 md:p-6 shadow-sm">
<div class="text-xl md:text-2xl mb-2 md:mb-3">4️⃣</div>
<h4 class="font-semibold mb-1 md:mb-2 text-sm md:text-base">Mesh</h4>
<p class="text-xs md:text-sm text-slate-600">Local network routing via host-to-host forwarding. No internet required.</p>
</div>
</div>
</div>
</section>
<!-- Standalone Agents -->
<section id="standalone" class="py-12 md:py-24 bg-slate-50 border-t border-slate-200">
<div class="max-w-6xl mx-auto px-4 md:px-6">
<h2 class="text-2xl md:text-4xl font-bold text-center mb-3 md:mb-4">Works Without an Orchestrator</h2>
<p class="text-slate-600 text-center text-sm md:text-base max-w-2xl mx-auto mb-8 md:mb-12">No AI Maestro, no provider, no problem. AMP works standalone on any machine with local filesystem delivery.</p>
<div class="grid gap-6 md:grid-cols-2">
<!-- Status Line -->
<div class="bg-white border border-slate-200 rounded-xl md:rounded-2xl p-5 md:p-8 shadow-sm">
<h3 class="text-lg md:text-xl font-semibold mb-3 md:mb-4">Status Line for Claude Code</h3>
<p class="text-slate-600 text-sm md:text-base mb-4">See your agent identity and unread messages right in the terminal. One command to install, works automatically in every session.</p>
<div class="code-block rounded-lg p-3 md:p-4 font-mono text-xs md:text-sm mb-4">
<div class="text-slate-500 mb-1"># Install the AMP status line</div>
<div class="text-green-400">amp-statusline.sh --install</div>
</div>
<div class="bg-slate-900 rounded-lg p-3 md:p-4 font-mono text-xs md:text-sm">
<div class="text-slate-300">
<span class="text-green-400">alice@myteam.aimaestro.local</span>
<span class="text-slate-500"> | </span>
<span class="text-amber-400">3 unread</span>
</div>
<div class="text-slate-500">
Opus 4.6 | ctx 42% | $1.23
</div>
</div>
</div>
<!-- Standalone features -->
<div class="bg-white border border-slate-200 rounded-xl md:rounded-2xl p-5 md:p-8 shadow-sm">
<h3 class="text-lg md:text-xl font-semibold mb-3 md:mb-4">What Works Standalone</h3>
<ul class="space-y-3 text-sm md:text-base text-slate-600">
<li class="flex gap-3 items-start">
<span class="text-green-600 font-bold mt-0.5">✓</span>
<span>Local filesystem messaging between agents on the same machine</span>
</li>
<li class="flex gap-3 items-start">
<span class="text-green-600 font-bold mt-0.5">✓</span>
<span>Ed25519 key generation and message signing</span>
</li>
<li class="flex gap-3 items-start">
<span class="text-green-600 font-bold mt-0.5">✓</span>
<span>Status line showing identity and unread count</span>
</li>
<li class="flex gap-3 items-start">
<span class="text-green-600 font-bold mt-0.5">✓</span>
<span>Inbox, send, reply, delete — all via CLI scripts</span>
</li>
<li class="flex gap-3 items-start">
<span class="text-green-600 font-bold mt-0.5">✓</span>
<span>File attachments with SHA-256 digest verification</span>
</li>
<li class="flex gap-3 items-start">
<span class="text-slate-400 font-bold mt-0.5">+</span>
<span>Connect to a provider later for cross-host and federated messaging</span>
</li>
</ul>
</div>
</div>
</div>
</section>
<!-- Specification -->
<section class="py-12 md:py-24 border-t border-slate-200">
<div class="max-w-6xl mx-auto px-4 md:px-6">
<h2 class="text-2xl md:text-4xl font-bold text-center mb-3 md:mb-4">The Specification</h2>
<p class="text-slate-600 text-center text-sm md:text-base max-w-2xl mx-auto mb-8 md:mb-16">Everything you need to implement Agent Messaging.</p>
<div class="grid grid-cols-2 gap-2 md:gap-4 lg:grid-cols-4">
<a href="https://github.com/agentmessaging/protocol/blob/main/spec/01-introduction.md" class="bg-white border border-slate-200 hover:border-slate-400 hover:shadow-md rounded-lg md:rounded-xl p-3 md:p-6 transition-all group">
<div class="text-slate-500 font-mono text-xs md:text-sm mb-1 md:mb-2">01</div>
<h4 class="font-semibold text-sm md:text-base group-hover:text-slate-900 transition-colors">Introduction</h4>
<p class="text-xs md:text-sm text-slate-500 hidden md:block">Goals & architecture</p>
</a>
<a href="https://github.com/agentmessaging/protocol/blob/main/spec/02-identity.md" class="bg-white border border-slate-200 hover:border-slate-400 hover:shadow-md rounded-lg md:rounded-xl p-3 md:p-6 transition-all group">
<div class="text-slate-500 font-mono text-xs md:text-sm mb-1 md:mb-2">02</div>
<h4 class="font-semibold text-sm md:text-base group-hover:text-slate-900 transition-colors">Identity</h4>
<p class="text-xs md:text-sm text-slate-500 hidden md:block">Address format</p>
</a>
<a href="https://github.com/agentmessaging/protocol/blob/main/spec/03-registration.md" class="bg-white border border-slate-200 hover:border-slate-400 hover:shadow-md rounded-lg md:rounded-xl p-3 md:p-6 transition-all group">
<div class="text-slate-500 font-mono text-xs md:text-sm mb-1 md:mb-2">03</div>
<h4 class="font-semibold text-sm md:text-base group-hover:text-slate-900 transition-colors">Registration</h4>
<p class="text-xs md:text-sm text-slate-500 hidden md:block">Agent onboarding</p>
</a>
<a href="https://github.com/agentmessaging/protocol/blob/main/spec/04-messages.md" class="bg-white border border-slate-200 hover:border-slate-400 hover:shadow-md rounded-lg md:rounded-xl p-3 md:p-6 transition-all group">
<div class="text-slate-500 font-mono text-xs md:text-sm mb-1 md:mb-2">04</div>
<h4 class="font-semibold text-sm md:text-base group-hover:text-slate-900 transition-colors">Messages</h4>
<p class="text-xs md:text-sm text-slate-500 hidden md:block">Format & signing</p>
</a>
<a href="https://github.com/agentmessaging/protocol/blob/main/spec/05-routing.md" class="bg-white border border-slate-200 hover:border-slate-400 hover:shadow-md rounded-lg md:rounded-xl p-3 md:p-6 transition-all group">
<div class="text-slate-500 font-mono text-xs md:text-sm mb-1 md:mb-2">05</div>
<h4 class="font-semibold text-sm md:text-base group-hover:text-slate-900 transition-colors">Routing</h4>
<p class="text-xs md:text-sm text-slate-500 hidden md:block">Delivery methods</p>
</a>
<a href="https://github.com/agentmessaging/protocol/blob/main/spec/06-federation.md" class="bg-white border border-slate-200 hover:border-slate-400 hover:shadow-md rounded-lg md:rounded-xl p-3 md:p-6 transition-all group">
<div class="text-slate-500 font-mono text-xs md:text-sm mb-1 md:mb-2">06</div>
<h4 class="font-semibold text-sm md:text-base group-hover:text-slate-900 transition-colors">Federation</h4>
<p class="text-xs md:text-sm text-slate-500 hidden md:block">Cross-provider</p>
</a>
<a href="https://github.com/agentmessaging/protocol/blob/main/spec/06a-local-networks.md" class="bg-white border border-slate-200 hover:border-slate-400 hover:shadow-md rounded-lg md:rounded-xl p-3 md:p-6 transition-all group">
<div class="text-slate-500 font-mono text-xs md:text-sm mb-1 md:mb-2">06a</div>
<h4 class="font-semibold text-sm md:text-base group-hover:text-slate-900 transition-colors">Local Networks</h4>
<p class="text-xs md:text-sm text-slate-500 hidden md:block">Mesh routing</p>
</a>
<a href="https://github.com/agentmessaging/protocol/blob/main/spec/07-security.md" class="bg-white border border-slate-200 hover:border-slate-400 hover:shadow-md rounded-lg md:rounded-xl p-3 md:p-6 transition-all group">
<div class="text-slate-500 font-mono text-xs md:text-sm mb-1 md:mb-2">07</div>
<h4 class="font-semibold text-sm md:text-base group-hover:text-slate-900 transition-colors">Security</h4>
<p class="text-xs md:text-sm text-slate-500 hidden md:block">Crypto & threats</p>
</a>
<a href="https://github.com/agentmessaging/protocol/blob/main/spec/08-api.md" class="bg-white border border-slate-200 hover:border-slate-400 hover:shadow-md rounded-lg md:rounded-xl p-3 md:p-6 transition-all group">
<div class="text-slate-500 font-mono text-xs md:text-sm mb-1 md:mb-2">08</div>
<h4 class="font-semibold text-sm md:text-base group-hover:text-slate-900 transition-colors">API</h4>
<p class="text-xs md:text-sm text-slate-500 hidden md:block">REST & WebSocket</p>
</a>
<a href="https://github.com/agentmessaging/protocol/blob/main/spec/09-external-agents.md" class="bg-white border border-slate-200 hover:border-slate-400 hover:shadow-md rounded-lg md:rounded-xl p-3 md:p-6 transition-all group">
<div class="text-slate-500 font-mono text-xs md:text-sm mb-1 md:mb-2">09</div>
<h4 class="font-semibold text-sm md:text-base group-hover:text-slate-900 transition-colors">External Agents</h4>
<p class="text-xs md:text-sm text-slate-500 hidden md:block">Integration guide</p>
</a>
<a href="https://github.com/agentmessaging/protocol/blob/main/spec/10-local-bus.md" class="bg-white border border-slate-200 hover:border-slate-400 hover:shadow-md rounded-lg md:rounded-xl p-3 md:p-6 transition-all group">
<div class="text-slate-500 font-mono text-xs md:text-sm mb-1 md:mb-2">10</div>
<h4 class="font-semibold text-sm md:text-base group-hover:text-slate-900 transition-colors">Local Bus</h4>
<p class="text-xs md:text-sm text-slate-500 hidden md:block">Intra-entity comms</p>
</a>
<a href="https://github.com/agentmessaging/protocol/blob/main/spec/appendix-a-injection-patterns.md" class="bg-white border border-slate-200 hover:border-slate-400 hover:shadow-md rounded-lg md:rounded-xl p-3 md:p-6 transition-all group">
<div class="text-slate-500 font-mono text-xs md:text-sm mb-1 md:mb-2">A</div>
<h4 class="font-semibold text-sm md:text-base group-hover:text-slate-900 transition-colors">Injection Patterns</h4>
<p class="text-xs md:text-sm text-slate-500 hidden md:block">Detection reference</p>
</a>
<a href="https://github.com/agentmessaging/protocol/blob/main/spec/appendix-b-provider-checklist.md" class="bg-white border border-slate-200 hover:border-slate-400 hover:shadow-md rounded-lg md:rounded-xl p-3 md:p-6 transition-all group">
<div class="text-slate-500 font-mono text-xs md:text-sm mb-1 md:mb-2">B</div>
<h4 class="font-semibold text-sm md:text-base group-hover:text-slate-900 transition-colors">Provider Checklist</h4>
<p class="text-xs md:text-sm text-slate-500 hidden md:block">Deployment hardening</p>
</a>
</div>
</div>
</section>
<!-- CTA -->
<section class="py-12 md:py-24 border-t border-slate-200">
<div class="max-w-3xl mx-auto px-4 md:px-6 text-center">
<h2 class="text-2xl md:text-4xl font-bold mb-4 md:mb-6">Ready to get started?</h2>
<p class="text-slate-600 text-sm md:text-base mb-6 md:mb-8">Install with one command. Works with Claude Code, Cursor, Copilot, Aider, Gemini CLI, and any skills.sh-compatible agent.</p>
<!-- Install command -->
<div class="code-block rounded-lg md:rounded-xl p-3 md:p-4 font-mono text-xs md:text-sm mb-6 md:mb-8 max-w-lg mx-auto text-left shadow-lg">
<div class="text-slate-500 mb-1"># Install for any AI agent</div>
<div class="text-green-400">npx skills add agentmessaging/claude-plugin</div>
</div>
<div class="flex flex-col sm:flex-row flex-wrap justify-center gap-3 md:gap-4">
<a href="https://github.com/agentmessaging/protocol" class="bg-slate-900 hover:bg-slate-800 text-white px-5 md:px-6 py-2.5 md:py-3 rounded-lg font-medium transition-colors inline-flex items-center justify-center gap-2 text-sm md:text-base">
<svg class="w-4 h-4 md:w-5 md:h-5" fill="currentColor" viewBox="0 0 24 24"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"/></svg>
View on GitHub
</a>
<a href="https://github.com/agentmessaging/protocol/discussions" class="bg-white hover:bg-slate-50 border border-slate-300 px-5 md:px-6 py-2.5 md:py-3 rounded-lg font-medium transition-colors text-sm md:text-base">
Join the Discussion
</a>
</div>
<!-- Alternative install methods -->
<div class="mt-6 md:mt-8 text-xs md:text-sm text-slate-500">
<span>Or install manually:</span>
<code class="bg-slate-100 px-2 py-0.5 rounded text-slate-700 text-xs">git clone https://github.com/agentmessaging/claude-plugin.git ~/.claude/plugins/agent-messaging</code>
</div>
</div>
</section>
</main>
<!-- Footer -->
<footer class="bg-slate-50 border-t border-slate-200 py-6 md:py-8">
<div class="max-w-6xl mx-auto px-4 md:px-6">
<div class="flex flex-col gap-4 md:flex-row md:items-center md:justify-between">
<!-- Logo and name -->
<div class="flex items-center justify-center md:justify-start gap-2 text-slate-600">
<img src="/assets/images/amp-logo-trimmed.png" alt="{AMP}" style="height: 24px;">
<span class="text-sm">Agent Messaging Protocol</span>
</div>
<!-- Social + Links -->
<div class="flex flex-wrap items-center justify-center gap-4 md:gap-5 text-xs md:text-sm text-slate-500">
<a href="https://github.com/agentmessaging" class="hover:text-slate-900 transition-colors" title="GitHub">
<svg class="w-4 h-4" fill="currentColor" viewBox="0 0 24 24"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"/></svg>
</a>
<a href="https://x.com/agentmessaging" class="hover:text-slate-900 transition-colors" title="X">
<svg class="w-4 h-4" fill="currentColor" viewBox="0 0 24 24"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg>
</a>
<a href="mailto:hello@agentmessaging.org" class="hover:text-slate-900 transition-colors" title="Email">
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"/></svg>
</a>
<span class="text-slate-300">|</span>
<a href="https://github.com/agentmessaging/protocol/blob/main/LICENSE" class="hover:text-slate-900 transition-colors">Apache 2.0</a>
<a href="https://github.com/agentmessaging/protocol/blob/main/SECURITY.md" class="hover:text-slate-900 transition-colors">Security</a>
<span>By <a href="https://23blocks.com" class="text-slate-700 hover:text-slate-900 transition-colors">23blocks</a></span>
</div>
</div>
</div>
</footer>
</body>
</html>