From 42b9d2b5a39d0b1e50db0ca4a8c615be7a05c469 Mon Sep 17 00:00:00 2001 From: Elliot Date: Tue, 12 May 2026 10:10:33 -0500 Subject: [PATCH 1/5] add agent-friendly content-signal to robots.txt --- static/robots.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/static/robots.txt b/static/robots.txt index 4504538d3e..b814f30709 100644 --- a/static/robots.txt +++ b/static/robots.txt @@ -2,4 +2,5 @@ User-agent: * Allow: / +Content-Signal: ai-train=yes, search=yes, ai-input=yes Sitemap: https://developers.stellar.org/sitemap.xml \ No newline at end of file From 648dbbade6d322cc67e8621d1b3d81f0ff884878 Mon Sep 17 00:00:00 2001 From: Elliot Date: Tue, 12 May 2026 10:11:16 -0500 Subject: [PATCH 2/5] add well-known agent-skills discovery stub TODO: figure out the proper way to share our stellar-dev-skill here --- static/.well-known/agent-skills/index.json | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 static/.well-known/agent-skills/index.json diff --git a/static/.well-known/agent-skills/index.json b/static/.well-known/agent-skills/index.json new file mode 100644 index 0000000000..2263c8f312 --- /dev/null +++ b/static/.well-known/agent-skills/index.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://schemas.agentskills.io/discovery/0.2.0/schema.json", + "skills": [] +} From e42bab9bb1692667a0944aa3e21ecaaab65b1233 Mon Sep 17 00:00:00 2001 From: Elliot Date: Tue, 12 May 2026 10:12:58 -0500 Subject: [PATCH 3/5] add well-known api-catalog file pointing to our data APIs TODO: consider publishing static routes to horizon API spec --- nginx/nginx.conf | 6 +++++ static/.well-known/api-catalog | 46 ++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 static/.well-known/api-catalog diff --git a/nginx/nginx.conf b/nginx/nginx.conf index ea3faa8861..1a64e451c7 100644 --- a/nginx/nginx.conf +++ b/nginx/nginx.conf @@ -17,6 +17,7 @@ http { location / { rewrite ^/(.*)/$ /$1 permanent; try_files $uri $uri.html $uri/index.html =404; + add_header 'Link' '; rel="api-catalog"' always; } location /assets/ { try_files $uri $uri/ =404; @@ -29,9 +30,14 @@ http { } location /index.html { add_header 'Cache-Control' 'no-store' always; + add_header 'Link' '; rel="api-catalog"' always; } location /404.html { add_header 'Cache-Control' 'no-store' always; } + # RFC 9727 — extension-less file, advertise correct content type + location = /.well-known/api-catalog { + types { } default_type application/linkset+json; + } } } diff --git a/static/.well-known/api-catalog b/static/.well-known/api-catalog new file mode 100644 index 0000000000..8199102865 --- /dev/null +++ b/static/.well-known/api-catalog @@ -0,0 +1,46 @@ +{ + "linkset": [ + { + "anchor": "https://developers.stellar.org/docs/data/apis/rpc", + "service-desc": [ + { + "href": "https://developers.stellar.org/stellar-rpc.openrpc.json", + "type": "application/json" + } + ], + "service-doc": [ + { + "href": "https://developers.stellar.org/docs/data/apis/rpc/api-reference", + "type": "text/html" + } + ] + }, + { + "anchor": "https://developers.stellar.org/docs/data/apis/horizon", + "service-doc": [ + { + "href": "https://developers.stellar.org/docs/data/apis/horizon/api-reference", + "type": "text/html" + } + ] + }, + { + "anchor": "https://developers.stellar.org/docs/platforms/anchor-platform", + "service-doc": [ + { + "href": "https://developers.stellar.org/docs/platforms/anchor-platform/api-reference", + "type": "text/html" + } + ] + }, + { + "anchor": "https://developers.stellar.org/docs/platforms/stellar-disbursement-platform", + "service-doc": [ + { + "href": "https://developers.stellar.org/docs/platforms/stellar-disbursement-platform/api-reference", + "type": "text/html" + } + ] + } + ] +} From 24b947c235d3bd21ab047321386a5df4dfd56d0d Mon Sep 17 00:00:00 2001 From: Kaan Kacar Date: Mon, 29 Jun 2026 18:17:53 +0300 Subject: [PATCH 4/5] 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. --- static/.well-known/agent-skills/index.json | 52 +++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/static/.well-known/agent-skills/index.json b/static/.well-known/agent-skills/index.json index 2263c8f312..0f036e078f 100644 --- a/static/.well-known/agent-skills/index.json +++ b/static/.well-known/agent-skills/index.json @@ -1,4 +1,54 @@ { "$schema": "https://schemas.agentskills.io/discovery/0.2.0/schema.json", - "skills": [] + "skills": [ + { + "name": "agentic-payments", + "type": "skill-md", + "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.", + "url": "https://raw.githubusercontent.com/stellar/stellar-dev-skill/v1.2.0/skills/agentic-payments/SKILL.md", + "digest": "sha256:b5e2d4def2242b684e3bb75a0945808fd4dbf7beb47a34afb8f17b553ee9accd" + }, + { + "name": "assets", + "type": "skill-md", + "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.", + "url": "https://raw.githubusercontent.com/stellar/stellar-dev-skill/v1.2.0/skills/assets/SKILL.md", + "digest": "sha256:8ea19310a053edc0c2856f41908d7923f004538d31c211d287827c3beeb0c8e4" + }, + { + "name": "dapp", + "type": "skill-md", + "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.", + "url": "https://raw.githubusercontent.com/stellar/stellar-dev-skill/v1.2.0/skills/dapp/SKILL.md", + "digest": "sha256:1c5c5452595216c6f90bf796f1ed86854900e328931bfc930bc1f85367531c04" + }, + { + "name": "data", + "type": "skill-md", + "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.", + "url": "https://raw.githubusercontent.com/stellar/stellar-dev-skill/v1.2.0/skills/data/SKILL.md", + "digest": "sha256:6c2b2da5cd9d3e1cf527b0278f50d4488359bb2ceea823e934c89f14adeef641" + }, + { + "name": "smart-contracts", + "type": "archive", + "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).", + "url": "https://github.com/stellar/stellar-dev-skill/releases/download/v1.2.0/smart-contracts.tar.gz", + "digest": "sha256:d3f997c11e09043be025f2768918cc0d989e463e5fb652798ed1050ffc804b06" + }, + { + "name": "standards", + "type": "skill-md", + "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.", + "url": "https://raw.githubusercontent.com/stellar/stellar-dev-skill/v1.2.0/skills/standards/SKILL.md", + "digest": "sha256:7a3dbb58ade371a9b7114ac6aedb2b8ceec00a2032ea3e4382f53016d38a28e1" + }, + { + "name": "zk-proofs", + "type": "skill-md", + "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.", + "url": "https://raw.githubusercontent.com/stellar/stellar-dev-skill/v1.2.0/skills/zk-proofs/SKILL.md", + "digest": "sha256:44e992a294103cf0c0dafe35861c5b8bbc6bc0b99e5b41ee0bf560d40d601e20" + } + ] } From 48908866d3bc0c6a08470fafd02b3042bed4a2c6 Mon Sep 17 00:00:00 2001 From: Kaan Kacar Date: Mon, 13 Jul 2026 16:24:42 +0300 Subject: [PATCH 5/5] 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. --- nginx/nginx.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/nginx/nginx.conf b/nginx/nginx.conf index 1a64e451c7..b90f126cd2 100644 --- a/nginx/nginx.conf +++ b/nginx/nginx.conf @@ -34,6 +34,7 @@ http { } location /404.html { add_header 'Cache-Control' 'no-store' always; + add_header 'Link' '; rel="api-catalog"' always; } # RFC 9727 — extension-less file, advertise correct content type location = /.well-known/api-catalog {