Card snapshot
pawper.dev
·
2026-06-04 10:54:57 UTC
·
8a6ac125741bbf263f09954a3a5326e452d1e6f191782fc9acebd65c40693d53
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": "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"
]
}
]
}