Skip to content

Commit 0d6f19f

Browse files
ElliotFriendkaankacarCopilot
authored
Implement some changes to make our docs site more accessible to agents (#2440)
* add agent-friendly content-signal to robots.txt * add well-known agent-skills discovery stub TODO: figure out the proper way to share our stellar-dev-skill here * add well-known api-catalog file pointing to our data APIs TODO: consider publishing static routes to horizon API spec * Populate agent-skills index with stellar-dev v1.2.0 skills Fill the empty skills[] stub with the 7 stellar-dev-skill skills, pinned to stellar-dev-skill@v1.2.0: - 6 single-file skills as type:skill-md (raw GH at the tag) - smart-contracts as type:archive (v1.2.0 release-asset tarball; it ships companion files, which the RFC requires be bundled) Digests verified against the served artifacts. * nginx: advertise api-catalog Link header on 404 responses too The Link header was already on content pages and 301 redirects (add_header in location / uses always), but not on 404s: location /404.html has its own add_header, so it doesn't inherit it. Add it there for consistent discovery. --------- Co-authored-by: Kaan Kacar <kaankacar02@gmail.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
1 parent 5767b2e commit 0d6f19f

3 files changed

Lines changed: 107 additions & 0 deletions

File tree

nginx/nginx.conf

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ http {
1717
location / {
1818
rewrite ^/(.*)/$ /$1 permanent;
1919
try_files $uri $uri.html $uri/index.html =404;
20+
add_header 'Link' '</.well-known/api-catalog>; rel="api-catalog"' always;
2021
}
2122
location /assets/ {
2223
try_files $uri $uri/ =404;
@@ -29,9 +30,15 @@ http {
2930
}
3031
location /index.html {
3132
add_header 'Cache-Control' 'no-store' always;
33+
add_header 'Link' '</.well-known/api-catalog>; rel="api-catalog"' always;
3234
}
3335
location /404.html {
3436
add_header 'Cache-Control' 'no-store' always;
37+
add_header 'Link' '</.well-known/api-catalog>; rel="api-catalog"' always;
38+
}
39+
# RFC 9727 — extension-less file, advertise correct content type
40+
location = /.well-known/api-catalog {
41+
types { } default_type application/linkset+json;
3542
}
3643
}
3744
}
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
{
2+
"$schema": "https://schemas.agentskills.io/discovery/0.2.0/schema.json",
3+
"skills": [
4+
{
5+
"name": "agentic-payments",
6+
"type": "skill-md",
7+
"description": "Agentic and machine-to-machine payments on Stellar. Covers x402 (HTTP 402 paid APIs via OZ Channels facilitator, fee-sponsored clients) and MPP (Machine Payments Protocol) in both Charge mode (per-request SAC) and Channel mode (off-chain commits, high-frequency). Defaults to USDC (SEP-41 SAC) on `stellar:testnet`/`stellar:pubnet` (CAIP-2). Use when selling a paid API to AI agents, building an x402 client, or designing a payment-channel architecture for high-frequency agent traffic.",
8+
"url": "https://raw.githubusercontent.com/stellar/stellar-dev-skill/v1.2.0/skills/agentic-payments/SKILL.md",
9+
"digest": "sha256:b5e2d4def2242b684e3bb75a0945808fd4dbf7beb47a34afb8f17b553ee9accd"
10+
},
11+
{
12+
"name": "assets",
13+
"type": "skill-md",
14+
"description": "Stellar Assets (classic) + trustlines + Stellar Asset Contract (SAC) bridge to smart contracts. Covers asset issuance, distribution, authorization flags, clawback, regulated assets, trustline management, and the SAC interop layer that exposes classic assets as SEP-41 contract tokens. Use when tokenizing real-world assets, issuing stablecoins, managing trustlines, or bridging classic assets to smart contracts.",
15+
"url": "https://raw.githubusercontent.com/stellar/stellar-dev-skill/v1.2.0/skills/assets/SKILL.md",
16+
"digest": "sha256:8ea19310a053edc0c2856f41908d7923f004538d31c211d287827c3beeb0c8e4"
17+
},
18+
{
19+
"name": "dapp",
20+
"type": "skill-md",
21+
"description": "Stellar dApp / frontend development. Covers the JavaScript stellar-sdk (browser + Node.js), Freighter wallet, Stellar Wallets Kit (multi-wallet), Wallet Standard, smart accounts with passkeys, transaction building / signing / submission, smart contract invocation from the client, simulation, and error handling. Use when building a React/Next.js/Node.js app that talks to Stellar — classic operations or smart contracts.",
22+
"url": "https://raw.githubusercontent.com/stellar/stellar-dev-skill/v1.2.0/skills/dapp/SKILL.md",
23+
"digest": "sha256:1c5c5452595216c6f90bf796f1ed86854900e328931bfc930bc1f85367531c04"
24+
},
25+
{
26+
"name": "data",
27+
"type": "skill-md",
28+
"description": "Querying Stellar chain data via Stellar RPC (preferred) and Horizon (legacy). Covers RPC JSON-RPC methods, Horizon REST endpoints, streaming, pagination, historical queries, Hubble/Galexie for deep history, and the RPC/Horizon migration story. Use when reading balances, transactions, operations, ledgers, contract events, or building any indexer/analytics workflow.",
29+
"url": "https://raw.githubusercontent.com/stellar/stellar-dev-skill/v1.2.0/skills/data/SKILL.md",
30+
"digest": "sha256:6c2b2da5cd9d3e1cf527b0278f50d4488359bb2ceea823e934c89f14adeef641"
31+
},
32+
{
33+
"name": "smart-contracts",
34+
"type": "archive",
35+
"description": "Stellar smart contract development (Rust, soroban-sdk). Entry point with project setup, contract anatomy, and build/deploy workflow, routing to three companion files in this directory — development.md (storage, auth, cross-contract calls, events, errors, upgrades, factories, troubleshooting), testing.md (unit, fuzz, property, fork, mutation, integration), and security.md (vulnerability classes, checklists, tooling, audits). Use when writing, testing, securing, or shipping Stellar smart contracts (formerly branded Soroban).",
36+
"url": "https://github.com/stellar/stellar-dev-skill/releases/download/v1.2.0/smart-contracts.tar.gz",
37+
"digest": "sha256:d3f997c11e09043be025f2768918cc0d989e463e5fb652798ed1050ffc804b06"
38+
},
39+
{
40+
"name": "standards",
41+
"type": "skill-md",
42+
"description": "Stellar standards, ecosystem, and reference. Covers SEPs (Stellar Ecosystem Proposals), CAPs (Core Advancement Proposals), and a quick map for picking the right standard for wallets, anchors, payments, deposits/withdrawals, federation, deep links, and KYC. Also bundles ecosystem references (DeFi protocols, dev tools, wallets, infra, community projects) and curated documentation links. Use when you need to know which SEP applies, or want a starting point for ecosystem integrations and official docs.",
43+
"url": "https://raw.githubusercontent.com/stellar/stellar-dev-skill/v1.2.0/skills/standards/SKILL.md",
44+
"digest": "sha256:7a3dbb58ade371a9b7114ac6aedb2b8ceec00a2032ea3e4382f53016d38a28e1"
45+
},
46+
{
47+
"name": "zk-proofs",
48+
"type": "skill-md",
49+
"description": "Zero-knowledge proofs and privacy patterns on Stellar. Covers Groth16 verification in smart contracts via BLS12-381 host functions (CAP-0059, available), the BN254 + Poseidon proposals (CAP-0074/0075, status-sensitive), and concrete toolchain walkthroughs for Circom (on-chain verifiable today), Noir, and RISC Zero (attestation pattern until BN254 lands). Use when building privacy-preserving applications, ZK-verifier contracts, or wiring a proving toolchain to Stellar.",
50+
"url": "https://raw.githubusercontent.com/stellar/stellar-dev-skill/v1.2.0/skills/zk-proofs/SKILL.md",
51+
"digest": "sha256:44e992a294103cf0c0dafe35861c5b8bbc6bc0b99e5b41ee0bf560d40d601e20"
52+
}
53+
]
54+
}

static/.well-known/api-catalog

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
{
2+
"linkset": [
3+
{
4+
"anchor": "https://developers.stellar.org/docs/data/apis/rpc",
5+
"service-desc": [
6+
{
7+
"href": "https://developers.stellar.org/stellar-rpc.openrpc.json",
8+
"type": "application/json"
9+
}
10+
],
11+
"service-doc": [
12+
{
13+
"href": "https://developers.stellar.org/docs/data/apis/rpc/api-reference",
14+
"type": "text/html"
15+
}
16+
]
17+
},
18+
{
19+
"anchor": "https://developers.stellar.org/docs/data/apis/horizon",
20+
"service-doc": [
21+
{
22+
"href": "https://developers.stellar.org/docs/data/apis/horizon/api-reference",
23+
"type": "text/html"
24+
}
25+
]
26+
},
27+
{
28+
"anchor": "https://developers.stellar.org/docs/platforms/anchor-platform",
29+
"service-doc": [
30+
{
31+
"href": "https://developers.stellar.org/docs/platforms/anchor-platform/api-reference",
32+
"type": "text/html"
33+
}
34+
]
35+
},
36+
{
37+
"anchor": "https://developers.stellar.org/docs/platforms/stellar-disbursement-platform",
38+
"service-doc": [
39+
{
40+
"href": "https://developers.stellar.org/docs/platforms/stellar-disbursement-platform/api-reference",
41+
"type": "text/html"
42+
}
43+
]
44+
}
45+
]
46+
}

0 commit comments

Comments
 (0)