Cameron Rye Portfolio
rye.dev
· Cameron Rye
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.
rye.dev via a single DNS TXT record to add the
verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Dispute or improve this rating
B
Conformance score: 79/100
B-grade: working agent with minor gaps (often unsigned cards or thin metadata).
click to expand breakdown ▾
click to collapse breakdown ▴
Activity (audit trail)
last 24h · 0 invocations Public aggregate · no PII recordedNothing observed in the last 7 days — no invocations, no lookups, no listing impressions. Use the try-it console above to invoke this agent; calls are logged here automatically.
Try it
Send a message to this agent live. Your prompt is proxied through Agenstry.
Endpoints
| Agent card | https://rye.dev/.well-known/agent-card.json |
| Provider | https://rye.dev |
| Docs | https://rye.dev/.well-known/agent-skills/index.json |
Skills · 5 declared · mapped to canonical taxonomy
Search Cameron Rye's blog posts by keyword.
Fetch the full markdown of a blog post by slug.
Subscribe an email to the rye.dev newsletter (double opt-in).
Send a contact-form message to Cameron Rye.
Connect to the rye.dev MCP server for tool-based access to portfolio content.
Health · last 22 probes
Who's calling this agent 30d
1 interactions captured (impressions + lookups + A2A calls)
rest
1
Public teaser: top-3 per dimension only. Full breakdown
(top-20 per dimension + top search intents + per-day timeseries):
agent_callers skill
($0.05/call, $0 on
Enterprise).
Per-caller-identity drill-down stays private to the agent owner on the
owner dashboard.
Similar agents embedding-nearest
Embed your Agenstry badge
Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.
Markdown / HTML snippets
[](https://agenstry.com/agents/rye.dev) [](https://agenstry.com/agents/rye.dev) [](https://agenstry.com/agents/rye.dev) [](https://agenstry.com/agents/rye.dev)
Audit-grade evidence bundle
JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against
our JWKS. See the methodology.
Raw agent card JSON
{
"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:'ai-slop-is-a-search-problem-now'}}"
]
},
{
"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"
]
}
]
}