AI & Agent Features
This portfolio is agent-native. Everything a human reads here is also available to AI agents through open standards: an installable persona skill, a remote MCP server, llms.txt profiles, markdown content negotiation, a signed A2A agent card, and an on-chain ERC-8004 identity.
This page explains each feature and how to use it no API key or authentication required, everything is public and read-only.
Frank OS : the Agent Skill
Frank OS is an installable Agent Skill that gives your AI assistant Frank's persona: engineering philosophy, decision framework, Web3 security analysis protocol, and communication style. It is served live at /skill.md and is agent-agnostic, it works with any assistant that supports skills or accepts a markdown persona file.
The skill ships with four command modes: /frank-architect (architecture decisions as a short ADR), /frank-security (attack surface and trust-boundary review), /frank-dyor (mechanism-first Web3 research), and /frank-vibe (a one-line verdict: Strong / Promising but flawed / Weak / Bad idea).
Install as a personal skill in Claude Code
mkdir -p ~/.claude/skills/frank-architect-builder
curl -o ~/.claude/skills/frank-architect-builder/SKILL.md \
https://frankponcelet.com/skill.mdMCP Server
A read-only Model Context Protocol server exposes Frank's profile, career, projects, speaking history, expertise, and persona as tools, resources, and prompts. It speaks Streamable HTTP (JSON-RPC 2.0) at /api/mcp and is published to the official MCP registry as com.frankponcelet/profile.
Tools: get_profile, get_career, get_projects, get_speaking, get_expertise, get_engagement, get_current_focus, get_persona. Resources: the persona skill and the full llms.txt profile. Prompts: the same four command modes as the skill (frank-architect, frank-security, frank-dyor, frank-vibe).
- /api/mcp— MCP endpoint (Streamable HTTP, POST)
- /api/mcp/health— liveness probe
Add to Claude Code
claude mcp add --transport http frank-poncelet \
https://frankponcelet.com/api/mcpOr any MCP client config
{
"mcpServers": {
"frank-poncelet": {
"type": "http",
"url": "https://frankponcelet.com/api/mcp"
}
}
}Quick test with curl
curl -X POST https://frankponcelet.com/api/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'llms.txt & Agent-Readable Profiles
Following the llms.txt convention, the site publishes a curated index and a full plain-text profile that agents can fetch without parsing HTML. An auth.md file declares that no authentication is required anywhere on this site.
- /llms.txt— curated index for agents
- /llms-full.txt— full profile in one file
- /auth.md— auth metadata — public site, no auth
Markdown for Agents
Pages negotiate their representation: request the homepage, the privacy policy, or this page with Accept: text/markdown and you get markdown instead of HTML (with an x-markdown-tokens header reporting the token count). Agents that cannot set headers can use the path variants /index.md, /privacy.md and /ai.md.
Content negotiation
curl -H "Accept: text/markdown" https://frankponcelet.com/WebMCP Browser Tools
For agents that browse with you, the site registers WebMCP tools on navigator.modelContext at page load: get_profile, list_projects, list_speaking, get_expertise, and a browser-only navigate_to_section. They mirror the HTTP MCP server and are feature-detected — a no-op in browsers without WebMCP support.
A2A Agent Card
An Agent2Agent (A2A) v1.0 agent card describes this site as an agent peers can talk to. The card is JWS-signed (ES256) over a canonicalized payload; verify the signature against the published JWKS.
- /.well-known/agent-card.json— signed A2A agent card
- /.well-known/jwks.json— public key for verification
On-Chain Identity (ERC-8004)
The agent identity is anchored on-chain via ERC-8004: a registration file links the domain to the FrankNFT agent registered in the on-chain identity registry, and advertises OASF capability tags. This makes the agent identity verifiable in both directions — the site points at the chain, the chain points back at the site.
- /.well-known/agent-registration.json— ERC-8004 registration file
Discovery Surface
Agents should not need to guess any of the above. The homepage response carries an RFC 8288 Link header advertising every endpoint, and the standard well-known documents mirror it:
- /.well-known/api-catalog— RFC 9727 API catalog (linkset+json)
- /.well-known/ai-catalog.json— ARD ai-catalog (Agentic Resource Discovery v1.0) for agent registries
- /openapi.json— OpenAPI 3.1 description of the HTTP surface
- /.well-known/mcp/server-card.json— SEP-1649 MCP server card
- /.well-known/agent-skills/index.json— Agent Skills discovery index (sha256 of the live skill)
- /security.txt— RFC 9116 security contact
- /robots.txt— explicit AI-crawler opt-in + Content-Signal directives