Card snapshot
rye.dev
·
2026-07-02 12:35:24 UTC
·
ff3057f972b5a3e9eaafa7126a07c8dcf9b5a0a4da107f667e8afcf5faff172b
This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.
{
"name": "Cameron Rye Portfolio",
"description": "A2A interface for Cameron Rye's portfolio. Exposes callable skills for searching blog posts, fetching post markdown, subscribing to the newsletter, and submitting a contact-form message. Also discloses the site's MCP server at /mcp for tool-based access.",
"version": "1.0.0",
"provider": {
"url": "https://rye.dev",
"organization": "Cameron Rye"
},
"documentationUrl": "https://rye.dev/.well-known/agent-skills/index.json",
"iconUrl": "https://rye.dev/favicon.svg",
"supportedInterfaces": [
{
"url": "https://rye.dev/a2a",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"capabilities": {
"streaming": false,
"pushNotifications": false,
"extendedAgentCard": false
},
"defaultInputModes": [
"text/plain",
"application/json"
],
"defaultOutputModes": [
"text/plain",
"text/markdown",
"application/json"
],
"skills": [
{
"id": "search-blog",
"name": "Search blog",
"description": "Search Cameron Rye's blog posts by keyword.",
"tags": [
"blog",
"search",
"content",
"callable"
],
"examples": [
"DataPart: {skill_id:'search-blog', args:{query:'cloudflare workers'}}",
"What has Cameron written about Cloudflare Workers?"
]
},
{
"id": "get-post",
"name": "Get blog post",
"description": "Fetch the full markdown of a blog post by slug.",
"tags": [
"blog",
"content",
"read",
"callable"
],
"examples": [
"DataPart: {skill_id:'get-post', args:{slug:'web-bot-auth'}}"
]
},
{
"id": "subscribe-newsletter",
"name": "Subscribe to newsletter",
"description": "Subscribe an email to the rye.dev newsletter (double opt-in).",
"tags": [
"newsletter",
"subscribe",
"write",
"callable"
],
"examples": [
"DataPart: {skill_id:'subscribe-newsletter', args:{email:'agent@example.com', source:'a2a'}}"
]
},
{
"id": "submit-contact",
"name": "Submit contact form",
"description": "Send a contact-form message to Cameron Rye.",
"tags": [
"contact",
"write",
"callable"
],
"examples": [
"DataPart: {skill_id:'submit-contact', args:{name:'A2A Client', email:'a@example.com', subject:'Inquiry', message:'\u2026'}}"
]
},
{
"id": "mcp",
"name": "Connect to MCP",
"description": "Connect to the rye.dev MCP server for tool-based access to portfolio content.",
"tags": [
"mcp",
"discovery"
],
"examples": [
"Connect to the MCP server at https://rye.dev/mcp"
]
}
]
}