-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathBaseLayout.astro
More file actions
98 lines (86 loc) · 3.95 KB
/
Copy pathBaseLayout.astro
File metadata and controls
98 lines (86 loc) · 3.95 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
---
interface Props {
title: string;
description?: string;
canonicalUrl?: string;
ogTitle?: string;
ogDescription?: string;
jsonLd?: string;
}
import { SITE_URL } from "../data/site";
const {
title,
description = "Structured skill files for AI agents building on the Internet Computer. ckBTC, Internet Identity, stable memory, HTTPS outcalls, EVM RPC, SNS, and more. Prevents hallucinations.",
canonicalUrl = `${SITE_URL}/`,
ogTitle = "Internet Computer (ICP) Skills — Skills for agents, not docs for humans",
ogDescription = "Agent-readable skill files for every Internet Computer capability. Zero hallucinations. Paste the raw URL into Claude, Cursor, or any agent.",
jsonLd,
} = Astro.props;
const site = SITE_URL;
const ogImage = `${site}/og-image.png`;
const defaultJsonLd = JSON.stringify({
"@context": "https://schema.org",
"@graph": [
{
"@type": "WebSite",
"@id": `${site}/#website`,
"url": site,
"name": "Internet Computer (ICP) Skills",
"description": "Agent-readable skill files for Internet Computer development. Structured markdown files that prevent AI hallucinations when building on ICP."
},
{
"@type": "SoftwareApplication",
"name": "Internet Computer (ICP) Skills",
"url": site,
"applicationCategory": "DeveloperApplication",
"description": "A library of agent-readable skill files for Internet Computer (ICP) development.",
"keywords": "Internet Computer, ICP, DFINITY, Motoko, Rust, canister, agent, LLM, AI coding, icp-cli",
"license": "https://www.apache.org/licenses/LICENSE-2.0",
"codeRepository": "https://github.com/dfinity/icskills",
"isAccessibleForFree": true,
"offers": { "@type": "Offer", "price": "0", "priceCurrency": "USD" }
}
]
});
---
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{title}</title>
<meta name="description" content={description}>
<meta name="keywords" content="Internet Computer, ICP, DFINITY, Motoko, Rust, canister, icp-cli, AI agent, LLM documentation, ckBTC, ICRC, Internet Identity, stable memory">
<meta name="robots" content="index, follow">
<meta name="author" content="Internet Computer (ICP) Skills">
<link rel="canonical" href={canonicalUrl}>
<meta property="og:type" content="website">
<meta property="og:url" content={canonicalUrl}>
<meta property="og:title" content={ogTitle}>
<meta property="og:description" content={ogDescription}>
<meta property="og:image" content={ogImage}>
<meta property="og:site_name" content="Internet Computer (ICP) Skills">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content={ogTitle}>
<meta name="twitter:description" content={ogDescription}>
<meta name="twitter:image" content={ogImage}>
<link rel="alternate" type="text/plain" title="LLMs.txt" href="/llms.txt">
<link rel="modelcontext" href="/.well-known/webmcp.json">
<meta name="theme-color" content="#000000">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<link rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<script type="application/ld+json" set:html={jsonLd || defaultJsonLd} />
<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=Inter:wght@300;400;600;700&family=JetBrains+Mono:wght@400;700&display=swap" rel="stylesheet">
<script is:inline src="/matomo.js" async></script>
<script is:inline src="/webmcp-setup.js" defer></script>
</head>
<body>
<script is:inline>
(function(){var t=localStorage.getItem('ic-skills-theme');if(!t)t=window.matchMedia('(prefers-color-scheme:light)').matches?'light':'dark';document.documentElement.setAttribute('data-theme',t)})();
</script>
<slot />
</body>
</html>