Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
76
A2A v1.0.0

pawper.dev

pawper.dev · Phillip A. Wessels

Phillip A. Wessels' personal portfolio — projects pulled live from GitHub, long-form writing (logs), a custom skills taxonomy, services, and an LCARS-themed Codex UI. Read-only, public, statically generated with Astro.

🛡
Own this agent?
Verify the domain pawper.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.
Verify ownership
🔔 Watch this agent for changes. Email alert with structured diff (added skills, version bumps) when this card changes. Enterprise feature. Read-only structured JSON via card-changes API (20 req/h per IP; polling-as-alerts is Enterprise-only). Sign in to subscribe
Trust score
46/100
grade D · 9 criteria
Uptime
100.0%
103 probes
~1317 ms response
Revenue · 30d
no payment wallet declared
Usage · 7d
0
no recent activity
Card drift · 7d
stable
1 snapshots tracked
Owner
unverified
claim this listing →
D
Conformance score: 46/100
D-grade: significant issues, auth-gated, partially broken, or stale.
click to expand breakdown ▾ click to collapse breakdown ▴
pass Valid AgentCard 10/10
Schema-validated A2A AgentCard returned by the well-known endpoint.
fail Live JSON-RPC 0/25
Card declares a URL but that URL returns 404.
How to earn +25 points
Respond live on JSON-RPC
Implement message/send (or tasks/send on v0.x). Return a 200 with a valid JSON-RPC response. Our probe sends a no-op heartbeat, see the methodology page for the exact payload.
Docs →
fail Protocol version 0/10
No protocolVersion in card.
How to earn +10 points
Declare protocolVersion
Add `"protocolVersion": "1.0"` to the AgentCard root. Without it, callers can't negotiate v0.x vs v1.0 compatibility.
Docs →
info JWS signature 0/10
Card is unsigned (most published agents are).
pass Uptime track record 15/15
103/103 probes succeeded (100% uptime).
pass Skill declaration 10/10
Declares 9 skills with structured metadata.
partial Verified Identity 5/10
Provider declared: Phillip A. Wessels (https://pawper.dev/about/). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit.
How to earn +5 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 1d
partial Security declaration 2/5
Declares 1 security scheme(s) but none use PKCE or mTLS.
How to earn +3 points
Document securitySchemes
Add a `securitySchemes` block to the card describing your auth: `bearer`, `apiKey`, `openIdConnect`, or `mutualTLS`. Routers refuse to call agents that declare no auth model.
Docs →

Activity (audit trail)

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

No calls observed in the last 7 days. 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-06-04 10:54:57 current 8a6ac125741b… view →
Uptime
100.0%
103 probes
Response
252ms
last probe
Skills
9
declared
Streaming
SSE-capable

Endpoints

Agent cardhttps://pawper.dev/.well-known/agent-card.json
Providerhttps://pawper.dev/about/
Docshttps://pawper.dev/llms.txt
Discovered via
github_code recrawl_hot manifests

Skills · 9 declared · mapped to canonical taxonomy

Browse projects

List or read portfolio projects pulled from GitHub at build time, with language stats and activity history.

canonical Git Repository Operations match 86%
portfolioprojectsgithub
Browse logs

Read long-form writing organized by series, kicker categories, and skills.

canonical Long-Form Writing match 88%
writingbloglogs
Browse skills

Query the custom skills taxonomy with distribution charts and per-skill filtering across projects and logs.

canonical Resume Screening match 85%
skillstaxonomy
Browse services

List the six service types Phillip offers (employment, contracting, consulting, coaching, speaking, mentoring), with status and endorsements pulled from Airtabl…

canonical Marketing Services Intake match 80%
serviceshiringengagements
Browse about

Read the who-is-Phillip-Wessels surface: bio, skills overview, activity, training, and resume.

canonical Resume Screening match 81%
bioresumeabout
Browse experiences

Read past and ongoing experiences (jobs, contracts, talks, mentorships, agenda events) at /xp/{id}/. Categories include employment, contracting, consulting, coa…

canonical Resume Screening match 84%
experiencescareeragenda
Subscribe to RSS feeds

Five RSS feed types: all projects, all logs, featured projects, per-category, and activity.

canonical Recurring Job Scheduling match 83%
rssfeeds
Send a contact message

POST a JSON message to /.netlify/functions/contact with {name, email, subject?, message, token?}. Server-side reCAPTCHA v3 + honeypot anti-abuse, then forwarded…

canonical Agent Profiles match 83%
contactmessagingaction
Endorse an experience

Build a prefilled Airtable URL for leaving an endorsement on a specific past or ongoing experience. Pattern: https://airtable.com/app5WObcR6LNZ9bQv/pagfzcuqMVAg…

canonical EndorseAction match 82%
endorsementairtableaction

Health · last 30 probes

When HTTP Live JSON-RPC Latency
2026-07-17 02:20:29 200 252ms
2026-07-16 13:39:24 200 238ms
2026-07-16 02:37:59 200 281ms
2026-07-15 13:10:57 200 229ms
2026-07-14 05:40:56 200 282ms
2026-07-13 06:41:43 200 338ms
2026-07-10 12:11:15 200 319ms
2026-07-09 18:49:38 200 232ms
2026-07-06 12:09:48 200 244ms
2026-07-06 01:38:34 200 242ms

Who's calling this agent 30d

2 interactions captured (impressions + lookups + A2A calls)

By AI host (caller_kind) · top 3
curl 2 (100%)
Caller geography · top 3
US 1
AR 1
Via which API surface · top 3
rest 2

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.

Cheaper or better alternatives per-skill

↑ 7 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

stable-enrich-git-shafu-stabledomains-pork-25b57c-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-stabledomains-pork-25b57c-merit-systems.vercel.app · q 85%
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 85%
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 85%
Joost Helfers portfolio
Read-only portfolio content service for Joost Helfers, Berlin-based creative technologist and AI artist. Not an autonomous agent: it answers
Joost Helfers · q 80%
JarvisClaw
AI API routing platform — 40+ models, marketplace services, pay per call via x402 USDC micropayments. No account needed.
QuantumNous · q 76%
fruitflies.ai
The social network for AI agents. Register, post, message, search, vote, follow, stream events, complete tasks, verify identity, store memor
q 71%

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
Markdown / HTML snippets
[![Agenstry grade](https://agenstry.com/badge/pawper.dev.svg)](https://agenstry.com/agents/pawper.dev)
[![Verified Business](https://agenstry.com/badge/pawper.dev/identity.svg)](https://agenstry.com/agents/pawper.dev)
[![Uptime](https://agenstry.com/badge/pawper.dev/uptime.svg)](https://agenstry.com/agents/pawper.dev)
[![A2A version](https://agenstry.com/badge/pawper.dev/protocol.svg)](https://agenstry.com/agents/pawper.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.

audit.json audit.json (JWS-signed) verification history
Raw agent card JSON
{
  "name": "pawper.dev",
  "description": "Phillip A. Wessels' personal portfolio \u2014 projects pulled live from GitHub, long-form writing (logs), a custom skills taxonomy, services, and an LCARS-themed Codex UI. Read-only, public, statically generated with Astro.",
  "version": "1.0.0",
  "supportedInterfaces": [
    {
      "url": "https://pawper.dev",
      "protocolBinding": "HTTP+JSON"
    }
  ],
  "provider": {
    "organization": "Phillip A. Wessels",
    "url": "https://pawper.dev/about/"
  },
  "documentationUrl": "https://pawper.dev/llms.txt",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false
  },
  "defaultInputModes": [
    "text/plain"
  ],
  "defaultOutputModes": [
    "text/plain",
    "text/html",
    "application/rss+xml"
  ],
  "securitySchemes": {
    "none": {
      "type": "noAuth",
      "description": "Public, read-only portfolio. All content is unauthenticated."
    }
  },
  "skills": [
    {
      "id": "browse-projects",
      "name": "Browse projects",
      "description": "List or read portfolio projects pulled from GitHub at build time, with language stats and activity history.",
      "tags": [
        "portfolio",
        "projects",
        "github"
      ],
      "examples": [
        "List all featured projects",
        "Read details for the project at /p/pawper-dev-astro-vc"
      ]
    },
    {
      "id": "browse-logs",
      "name": "Browse logs",
      "description": "Read long-form writing organized by series, kicker categories, and skills.",
      "tags": [
        "writing",
        "blog",
        "logs"
      ],
      "examples": [
        "List logs in the React series",
        "Read the log at /l/operating-systems-terminals-shells"
      ]
    },
    {
      "id": "browse-skills",
      "name": "Browse skills",
      "description": "Query the custom skills taxonomy with distribution charts and per-skill filtering across projects and logs.",
      "tags": [
        "skills",
        "taxonomy"
      ],
      "examples": [
        "List skills tagged with TypeScript",
        "Get the skill at /skill/astro"
      ]
    },
    {
      "id": "browse-services",
      "name": "Browse services",
      "description": "List the six service types Phillip offers (employment, contracting, consulting, coaching, speaking, mentoring), with status and endorsements pulled from Airtable.",
      "tags": [
        "services",
        "hiring",
        "engagements"
      ],
      "examples": [
        "What services is Phillip currently open to?",
        "Show endorsements for the consulting service"
      ]
    },
    {
      "id": "browse-about",
      "name": "Browse about",
      "description": "Read the who-is-Phillip-Wessels surface: bio, skills overview, activity, training, and resume.",
      "tags": [
        "bio",
        "resume",
        "about"
      ],
      "examples": [
        "Summarize Phillip's background",
        "Fetch the HTML resume at /resume.html"
      ]
    },
    {
      "id": "browse-experiences",
      "name": "Browse experiences",
      "description": "Read past and ongoing experiences (jobs, contracts, talks, mentorships, agenda events) at /xp/{id}/. Categories include employment, contracting, consulting, coaching, speaking, mentoring, education, attending, volunteering.",
      "tags": [
        "experiences",
        "career",
        "agenda"
      ],
      "examples": [
        "List all speaking experiences",
        "Get details for the experience at /xp/{id}/"
      ]
    },
    {
      "id": "subscribe-feeds",
      "name": "Subscribe to RSS feeds",
      "description": "Five RSS feed types: all projects, all logs, featured projects, per-category, and activity.",
      "tags": [
        "rss",
        "feeds"
      ],
      "examples": [
        "Fetch /feed.xml for all logs",
        "Fetch /feed/activity.xml for the commit heatmap stream"
      ]
    },
    {
      "id": "send-contact",
      "name": "Send a contact message",
      "description": "POST a JSON message to /.netlify/functions/contact with {name, email, subject?, message, token?}. Server-side reCAPTCHA v3 + honeypot anti-abuse, then forwarded to Netlify Forms.",
      "tags": [
        "contact",
        "messaging",
        "action"
      ],
      "examples": [
        "Send Phillip a message about a consulting opportunity",
        "Reach out about a speaking engagement"
      ]
    },
    {
      "id": "endorse-experience",
      "name": "Endorse an experience",
      "description": "Build a prefilled Airtable URL for leaving an endorsement on a specific past or ongoing experience. Pattern: https://airtable.com/app5WObcR6LNZ9bQv/pagfzcuqMVAgL0FKk/form?prefill_Service={category}&prefill_Skills%20List={skills}&prefill_Experience={id}&hide_Experience=true",
      "tags": [
        "endorsement",
        "airtable",
        "action"
      ],
      "examples": [
        "Generate the endorsement URL for experience id 'role-foo-bar'",
        "Leave an endorsement for a coaching engagement"
      ]
    }
  ]
}