{
  "agentsJson": "0.1.0",
  "info": {
    "title": "Frank Poncelet — agents.json",
    "version": "1.0.0",
    "description": "LLM-oriented flows over the public, read-only, no-auth HTTP surface of frankponcelet.com. Built on the OpenAPI 3.1 document at /openapi.json: each flow names a callable workflow (fetch the full profile, fetch the persona skill, or call a read-only MCP tool) with typed inputs and outputs. The primary interactive interface is the MCP server at /api/mcp. Human-readable guide: https://frankponcelet.com/ai."
  },
  "sources": [
    {
      "id": "frankponcelet",
      "path": "https://frankponcelet.com/openapi.json"
    }
  ],
  "flows": [
    {
      "id": "get_full_profile",
      "title": "Get the full profile",
      "description": "Fetch Frank Poncelet's complete plain-text profile (biography, career journey, projects, speaking history, expertise, and contact) in a single document, ready to load as agent context. No inputs required.",
      "actions": [
        {
          "id": "fetch_profile",
          "sourceId": "frankponcelet",
          "operationId": "getFullProfile"
        }
      ],
      "links": [],
      "fields": {
        "parameters": [],
        "responses": {
          "success": {
            "type": "string",
            "description": "The full profile as UTF-8 plain text (text/plain), following the llms.txt convention."
          }
        }
      }
    },
    {
      "id": "get_persona_skill",
      "title": "Get the persona Agent Skill",
      "description": "Fetch the Frank OS persona Agent Skill markdown — engineering philosophy, decision framework, Web3 security protocol, and communication style — installable into any assistant that accepts a markdown persona file. No inputs required.",
      "actions": [
        {
          "id": "fetch_skill",
          "sourceId": "frankponcelet",
          "operationId": "getPersonaSkill"
        }
      ],
      "links": [],
      "fields": {
        "parameters": [],
        "responses": {
          "success": {
            "type": "string",
            "description": "The persona skill as markdown (text/markdown) with SKILL.md frontmatter."
          }
        }
      }
    },
    {
      "id": "query_mcp_tool",
      "title": "Call a read-only MCP profile tool",
      "description": "Invoke one of the read-only Model Context Protocol tools (get_profile, get_career, get_projects, get_speaking, get_expertise, get_engagement, get_current_focus, list_articles, get_persona) over JSON-RPC 2.0 and return its structured result. Provide the tool name.",
      "actions": [
        {
          "id": "call_tool",
          "sourceId": "frankponcelet",
          "operationId": "queryMcp"
        }
      ],
      "links": [
        {
          "origin": {
            "actionId": null,
            "fieldPath": "parameters.tool"
          },
          "target": {
            "actionId": "call_tool",
            "fieldPath": "requestBody.params.name"
          }
        }
      ],
      "fields": {
        "parameters": [
          {
            "name": "tool",
            "description": "Name of the MCP tool to call, e.g. get_profile, get_career, get_projects, get_speaking, get_expertise, get_engagement, get_current_focus, or get_persona.",
            "required": true,
            "type": "string"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "tools/call",
                "params": {
                  "name": "get_profile",
                  "arguments": {}
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "success": {
            "type": "object",
            "description": "JSON-RPC 2.0 response whose result carries the tool's structured content."
          }
        }
      }
    }
  ]
}