Skip to content
Back to pawper.dev

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"
      ]
    }
  ]
}