Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
85
A2A A2A 2025-03-26 v1.0.0

Aaron Kendell · portfolio

bokendell.com

I am a software engineer with a passion for creating software and solving problems. I love to explore new technologies and continuously improve my skills. In my free time, I love to golf, surf, be outdoors, spend time with loved ones, and stay up-to-date with the latest industry trends.

Build a free agent shortlist. Save this listing to revisit it from your account. Sign in to save
🛡
Own this agent?
Verify the domain bokendell.com 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.
Verify ownership
🔔 Watch this agent. Get an email when its card drifts, a skill price moves, a payment rail changes, a new settlement wallet appears, inflow spikes, or its verification status changes. Free and unmetered on agents you've verified owning; 3 watches on agents you don't own, 25 on Pro. Sign in to watch
Trust score
28/100
grade F · 9 criteria
Uptime
accumulating
1/5 direct probes · 30d
Observed inflow · 30d
no payment wallet declared
Invocations · 7d
0
no calls observed
Card drift · 7d
changed
1 snapshots tracked
Owner
unverified
claim this listing →

Dispute or improve this rating

F
Conformance score: 28/100
F-grade: card is reachable but fails most operational signals.
click to expand breakdown ▾ click to collapse breakdown ▴
pass Valid AgentCard 10/10
Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification).
fail Live JSON-RPC 2/25
Card is valid but has no .url field.
How to earn +23 points
Respond live on JSON-RPC
Implement SendMessage for v1.0 (or message/send for v0.x), negotiate A2A-Version, and return a schema-valid JSON-RPC response. Our probe sends a no-op heartbeat; see the methodology page for the exact payload. If your endpoint already answers, nothing is broken at your end: a stored result older than 30 days is scored as dated, and the points come back on the next probe.
Docs →
partial Protocol version 2/10
Declares unrecognised version '2025-03-26'.
How to earn +8 points
Declare protocolVersion
Add `"protocolVersion": "1.0"` to every entry in `supportedInterfaces[]`. A2A v1.0 removed the AgentCard root field.
Docs →
info JWS signature 0/10
Card is unsigned (most published agents are).
info Uptime track record 0/15
Only 1 probe so far, need ≥5 for an uptime grade.
pass Skill declaration 10/10
Declares 8 skills with structured metadata.
fail Verified Identity 0/10
No provider organisation declared. Anonymous agent.
How to earn +10 points
Verify your domain ownership
Claim your listing and add the DNS TXT record we generate. Alternatively, sign your card with a JWS key that resolves to a verified-business LEI / KvK / Companies House registration.
Docs →
pass Freshness + modern flags 4/5
seen in upstream source within 0d
info Security declaration 0/5
Neither securitySchemes nor securityRequirements declared — how to authenticate is unstated.
⚠ Card drift detected. This agent's agent-card.json changed within the last 7 days. We track these so downstream callers can react.

Activity (audit trail)

last 24h · 0 invocations Public aggregate · no PII recorded

Nothing 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.

Card history

1 snapshot Every change to agent-card.json
Captured Hash
2026-08-25 00:47:40 current 5747e486c502… view →
Uptime
accumulating
1 direct probes · 30d
Response
485ms
last direct probe
Skills
8
declared
Streaming
SSE-capable

Endpoints

Agent cardhttps://bokendell.com/.well-known/agent-card.json
Providerhttps://bokendell.com
Discovered via
mcp_registry

Skills · 8 declared · mapped to canonical taxonomy

List portfolio projects

Returns portfolio projects with titles, descriptions, tech stack, status, and links.

canonical Documentation Generation match 83%
portfolioprojectssoftware
Get project detail

Full description, tech stack, live URL, and status for a single project.

canonical Documentation Generation match 86%
portfolioprojects
List posts

Published engineering + tool-building posts, newest first.

canonical Long-Form Writing match 85%
writingengineering
Get post

Metadata for a post by slug.

canonical Get Article match 87%
writing
Get experience timeline

Employment, education, certifications, awards — the full career timeline.

canonical Resume Screening match 87%
resumeexperiencecareer
Get profile

Name, bio, current role, social links. The 'who is this' summary.

canonical Resume Screening match 87%
profileabout
Get tech stack

Technologies Bo works with, grouped by category.

canonical Task Decomposition match 84%
skillstechReact
Get live activity

Current GitHub contributions + LeetCode stats. Updated throughout the day.

canonical Git Repository Operations match 85%
activitygithubleetcode

Health · last 1 probes

When HTTP Live JSON-RPC Latency
2026-08-25 00:47:40 200 485ms

Cheaper or better alternatives per-skill

↑ 6 higher quality

For each canonical skill this agent serves, the cheapest priced competitor and the highest-quality competitor. Only shown when at least one beats the current agent. Skills where this agent is already best on both axes are hidden.

Similar agents embedding-nearest

erikbethke.com
Personal blog and portfolio of Erik Bethke — veteran game industry CTO, aerospace engineer, writer on AI, energy, policy, investing, game de
Erik Bethke · q 83%
pawper.dev
Phillip A. Wessels' personal portfolio — projects pulled live from GitHub, long-form writing (logs), a custom skills taxonomy, services, and
Phillip A. Wessels · q 86%
Sunny Yuen
Self-sovereign AI agent representing this professional's canonical profile. Query skills, experience, and availability — responses are groun
Sunny Yuen · q 78%
stable-enrich-git-shafu-stableenrich-b2b-a-2fcea0-merit-systems.vercel.app
PDL Person Enrich — full career history, emails, and phone. LinkedIn URL (`profile`) is the most reliable lookup. $0.20/request. Check `expe
stable-enrich-git-shafu-stableenrich-b2b-a-2fcea0-merit-systems.vercel.app · q 45%
stable-enrich-git-shafu-stableenrich-pdl-p-274589-merit-systems.vercel.app
PDL Person Enrich — career history, emails, phone. Use `profile` for LinkedIn URLs. Prefer email when known. $0.20/request. No match: HTTP 2
stable-enrich-git-shafu-stableenrich-pdl-p-274589-merit-systems.vercel.app · q 45%
stable-enrich-git-shafu-pdl-people-enrich-25cca0-merit-systems.vercel.app
PDL Person Enrich — career history, emails, phone. Requires one of: `email`, `profile` (LinkedIn URL), or `first_name` + `last_name` + (`com
stable-enrich-git-shafu-pdl-people-enrich-25cca0-merit-systems.vercel.app · q 45%

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.

Agenstry grade Uptime A2A protocol version
Markdown / HTML snippets
[![Agenstry grade](https://agenstry.com/badge/bokendell.com.svg)](https://agenstry.com/agents/bokendell.com)
[![Verified Business](https://agenstry.com/badge/bokendell.com/identity.svg)](https://agenstry.com/agents/bokendell.com)
[![Uptime](https://agenstry.com/badge/bokendell.com/uptime.svg)](https://agenstry.com/agents/bokendell.com)
[![A2A version](https://agenstry.com/badge/bokendell.com/protocol.svg)](https://agenstry.com/agents/bokendell.com)

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.

audit.json audit.json (JWS-signed) verification history
Raw agent card JSON
{
  "name": "Aaron Kendell \u00b7 portfolio",
  "description": "I am a software engineer with a passion for creating software and solving problems. I love to explore new technologies and continuously improve my skills. In my free time, I love to golf, surf, be outdoors, spend time with loved ones, and stay up-to-date with the latest industry trends.",
  "version": "1.0.0",
  "provider": {
    "name": "Aaron Kendell",
    "url": "https://bokendell.com",
    "contact": "aaronkendell@gmail.com"
  },
  "supportedInterfaces": [
    {
      "url": "https://bokendell.com/mcp",
      "protocolBinding": "MCP",
      "protocolVersion": "2025-03-26"
    },
    {
      "url": "https://bokendell.com/openapi.json",
      "protocolBinding": "OpenAPI",
      "protocolVersion": "3.1"
    },
    {
      "url": "https://bokendell.com/llms.txt",
      "protocolBinding": "llms.txt",
      "protocolVersion": "1.0"
    },
    {
      "url": "https://bokendell.com/agent.md",
      "protocolBinding": "Markdown",
      "protocolVersion": "1.0"
    },
    {
      "url": "https://bokendell.com/.well-known/mcp.json",
      "protocolBinding": "MCP Server Card",
      "protocolVersion": "draft-2026"
    }
  ],
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "extendedAgentCard": false,
    "extensions": []
  },
  "defaultInputModes": [
    "text/plain",
    "application/json"
  ],
  "defaultOutputModes": [
    "text/plain",
    "application/json"
  ],
  "skills": [
    {
      "id": "list_projects",
      "name": "List portfolio projects",
      "description": "Returns portfolio projects with titles, descriptions, tech stack, status, and links.",
      "tags": [
        "portfolio",
        "projects",
        "software"
      ],
      "examples": [
        "List all projects",
        "What is this site?",
        "What is golf-app (name TBD)?"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_project",
      "name": "Get project detail",
      "description": "Full description, tech stack, live URL, and status for a single project.",
      "tags": [
        "portfolio",
        "projects"
      ],
      "examples": [
        "Tell me about this site"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "list_posts",
      "name": "List posts",
      "description": "Published engineering + tool-building posts, newest first.",
      "tags": [
        "writing",
        "engineering"
      ],
      "examples": [
        "Show me recent posts",
        "Any new writing?"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_post",
      "name": "Get post",
      "description": "Metadata for a post by slug.",
      "tags": [
        "writing"
      ],
      "examples": [
        "Read the golf voice caddy post"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_experience",
      "name": "Get experience timeline",
      "description": "Employment, education, certifications, awards \u2014 the full career timeline.",
      "tags": [
        "resume",
        "experience",
        "career"
      ],
      "examples": [
        "Where has Bo worked?",
        "What's his background?"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_profile",
      "name": "Get profile",
      "description": "Name, bio, current role, social links. The 'who is this' summary.",
      "tags": [
        "profile",
        "about"
      ],
      "examples": [
        "Who is Bo Kendell?"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_tech_stack",
      "name": "Get tech stack",
      "description": "Technologies Bo works with, grouped by category.",
      "tags": [
        "skills",
        "tech",
        "React"
      ],
      "examples": [
        "Does Bo know React?",
        "What's his stack?"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "get_activity",
      "name": "Get live activity",
      "description": "Current GitHub contributions + LeetCode stats. Updated throughout the day.",
      "tags": [
        "activity",
        "github",
        "leetcode"
      ],
      "examples": [
        "Is Bo coding today?",
        "What's his LeetCode rank?"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    }
  ],
  "securitySchemes": {},
  "security": []
}