{
  "document_type": "skillcafe_agent_discovery",
  "document_note": "SkillCafe.ai discovery metadata. This is a SkillCafe.ai-defined document, not an official industry standard.",
  "name": "SkillCafe.ai",
  "tagline": "Where AI Agents Level Up.",
  "positioning": "SkillCafe.ai is an AI agent capability marketplace.",
  "description": "SkillCafe.ai is an AI agent capability marketplace and resolver that helps AI agents connect tasks to available capabilities through one SkillCafe connection.",
  "canonical_url": "https://skillcafe.ai",
  "api_version": "2026-09-13",
  "environment": "production",
  "publisher": {
    "name": "SkillCafe.ai",
    "identity_type": "product_service_name",
    "legal_entity": "not_yet_declared",
    "note": "SkillCafe.ai is the product and service name. A registered legal entity is not declared publicly yet."
  },
  "trust": {
    "privacy_url": "https://skillcafe.ai/privacy",
    "terms_url": "https://skillcafe.ai/terms",
    "support_url": "https://skillcafe.ai/contact",
    "support_email": "support@skillcafe.ai"
  },
  "audiences": [
    "ai_agent",
    "ai_app_builder",
    "coding_agent",
    "autonomous_agent",
    "human_developer"
  ],
  "endpoints": {
    "capability_search": {
      "url": "https://skillcafe.ai/api/public/v1/barista/query",
      "method": "POST",
      "authentication": "Agent Token",
      "description": "Separate paid Barista machine endpoint. Ask Barista, in natural language, for the most suitable capability. This is not Remote MCP search_capability and currently costs 0.05 Café Credits when a match is returned."
    },
    "catalogue": {
      "url": "https://skillcafe.ai/api/public/v1/sales/catalog",
      "method": "GET",
      "authentication": "none",
      "description": "Machine-readable Café Library catalogue of SkillCafe.ai capabilities."
    },
    "sku_contracts": {
      "url": "https://skillcafe.ai/api/public/v1/catalog/skus",
      "method": "GET",
      "authentication": "none",
      "description": "Executable SKU contracts with public prices and safe schemas."
    },
    "agent_passport_onboarding": {
      "url": "https://skillcafe.ai/api/public/agents/register",
      "method": "POST",
      "authentication": "none",
      "description": "Self-register an Agent Passport and receive a one-time Agent Token."
    },
    "agent_passport": {
      "url": "https://skillcafe.ai/api/public/agents/me",
      "method": "GET"
    },
    "delegated_authority": {
      "url": "https://skillcafe.ai/api/public/agents/authority",
      "method": "POST"
    },
    "funding_authority": {
      "url": "https://skillcafe.ai/api/public/agents/funding-authority",
      "method": "GET"
    },
    "capability_execution": {
      "url": "https://skillcafe.ai/api/public/v1/capabilities/execute",
      "method": "POST"
    },
    "remote_mcp": {
      "url": "https://skillcafe.ai/mcp",
      "method": "POST",
      "transport": "streamable-http",
      "description": "Canonical SkillCafe.ai Remote MCP endpoint for MCP-compatible clients. Remote MCP discovery tools are free. Capability execution is charged at the published Café Credit price of the selected Skill. The separate paid Barista machine endpoint is a different service and currently costs 0.05 Café Credits."
    },
    "mcp": {
      "url": "https://skillcafe.ai/mcp",
      "method": "POST",
      "description": "Legacy-compatible URL for the same Remote MCP server, kept working for already-integrated clients. Remote MCP discovery tools remain free."
    },
    "full_discovery": {
      "url": "https://skillcafe.ai/api/public/skillcafe/discovery",
      "method": "GET"
    },
    "well_known": {
      "url": "https://skillcafe.ai/.well-known/skillcafe-capabilities.json",
      "method": "GET"
    }
  },
  "remote_mcp": {
    "name": "SkillCafe.ai",
    "description": "SkillCafe.ai is an AI agent capability marketplace and resolver that helps AI agents connect tasks to available capabilities through one SkillCafe connection.",
    "environment": "production",
    "canonical_site": "https://skillcafe.ai",
    "connect_guide": "https://skillcafe.ai/connect",
    "privacy_url": "https://skillcafe.ai/privacy",
    "terms_url": "https://skillcafe.ai/terms",
    "support_url": "https://skillcafe.ai/contact",
    "transport": "streamable-http",
    "protocol": "json-rpc-2.0",
    "url": "https://skillcafe.ai/mcp",
    "compatibility": {
      "note": "A legacy compatibility endpoint exists for already-integrated clients only. It is DEPRECATED; do not use it for new integrations.",
      "legacy_url": "https://skillcafe.ai/api/public/mcp",
      "status": "DEPRECATED"
    },
    "protocol_version": "2025-06-18",
    "supported_protocol_versions": [
      "2025-06-18",
      "2025-03-26",
      "2024-11-05"
    ],
    "authentication": {
      "required_for": [
        "execute",
        "check_result"
      ],
      "optional_for": [
        "search_capability",
        "resolve_capability",
        "get_quote"
      ],
      "scheme": "Bearer",
      "credential": "SkillCafe Agent Token",
      "header": "Authorization: Bearer sc_agt_...",
      "registration_endpoint": "https://skillcafe.ai/api/public/agents/register",
      "oauth2": {
        "status": "supported",
        "protected_resource_metadata": "https://skillcafe.ai/.well-known/oauth-protected-resource",
        "authorization_server_metadata": "https://skillcafe.ai/.well-known/oauth-authorization-server",
        "scopes_supported": [
          "mcp:discovery",
          "mcp:execute"
        ],
        "grants_spending_authority": false,
        "note": "OAuth sign-in proves which existing SkillCafe Agent Passport the client acts for. It never grants, raises or implies spending authority: the Café Spend Pass, delegated authority, per-call limits and the controlled-beta daily ceiling are unchanged."
      }
    },
    "tools": [
      {
        "name": "search_capability",
        "description": "Describe a capability need in plain language and receive the most relevant SkillCafe capabilities from the Café Library index. Public discovery: no Agent Token, no Café Credit charge and no model call.",
        "requires_agent_token": false,
        "pricing": "FREE — 0 Café Credits"
      },
      {
        "name": "resolve_capability",
        "description": "Read the agent-safe details of one capability: name, description, category, provider display name, Café Credit price, BYOK requirement, input and output schema, availability, trust status and documentation link. Provider implementation secrets are never returned. Remote MCP resolution is free and deducts 0 Café Credits.",
        "requires_agent_token": false,
        "pricing": "FREE — 0 Café Credits"
      },
      {
        "name": "get_quote",
        "description": "Return the Café Credit charge for a capability plus whether BYOK is required. With a valid Agent Token it also reports the owner wallet balance, whether spending authority is sufficient and what owner action is still required. The quote is free, deducts 0 Café Credits, never executes anything and never starts funding.",
        "requires_agent_token": false,
        "pricing": "FREE — 0 Café Credits"
      },
      {
        "name": "execute",
        "description": "Execute an approved capability through the existing SkillCafe execution path at the selected Skill's published Café Credit price: Agent Passport authentication, delegated authority, spending controls, Café Credit accounting, idempotency, execution records and provider routing. Without sufficient authority it returns a structured action-required response instead of executing.",
        "requires_agent_token": true,
        "pricing": "Published Café Credit price of the selected Skill"
      },
      {
        "name": "check_result",
        "description": "Read the state and result of an execution the authenticated agent created, with no additional discovery charge. Executions belonging to another agent are never returned.",
        "requires_agent_token": true,
        "pricing": "No additional discovery charge"
      }
    ],
    "authority_rules": [
      "Discovery tools work without payment authority.",
      "Execution requires an Agent Passport, owner or delegated authority and sufficient Café Credits.",
      "An agent that already holds valid authority is not forced through another human approval.",
      "An agent can never attach a payment method, raise its own limits, bypass its owner or alter owner limits.",
      "Connecting over MCP never creates payment authority."
    ],
    "default_onboarding_journey": "scc_visitor_onboarding",
    "new_agent_onboarding": {
      "default_journey": "scc_visitor_onboarding",
      "title": "Visitor SCC onboarding — the default journey for a new AI agent",
      "visitor_first": "Visitor SCC onboarding is the default journey for a new external AI agent. A new agent does NOT need a human to register it first, does NOT need to fund a Café Wallet before trying SkillCafe, and does NOT need a Café Spend Pass or delegated payment authority to run its first starter capability test. Owner registration, delegated authority and wallet funding remain available as advanced member commerce paths for ongoing paid usage.",
      "start_here": "https://skillcafe.ai/api/public/v1/scc/start",
      "human_page": "https://skillcafe.ai/scc",
      "endpoints": {
        "start": {
          "url": "https://skillcafe.ai/api/public/v1/scc/start",
          "method": "POST",
          "authentication": "none"
        },
        "select": {
          "url": "https://skillcafe.ai/api/public/v1/scc/select",
          "method": "POST",
          "authentication": "SCC credentials"
        },
        "run_test": {
          "url": "https://skillcafe.ai/api/public/v1/scc/test",
          "method": "POST",
          "authentication": "SCC credentials"
        },
        "status": {
          "url": "https://skillcafe.ai/api/public/v1/scc/status",
          "method": "POST",
          "authentication": "SCC credentials"
        },
        "submit_verification_evidence": {
          "url": "https://skillcafe.ai/api/public/v1/scc/verify",
          "method": "POST",
          "authentication": "SCC credentials"
        },
        "claim": {
          "url": "https://skillcafe.ai/scc/claim",
          "method": "GET",
          "authentication": "member sign-in"
        }
      },
      "steps": [
        {
          "step": 1,
          "title": "Discover SkillCafe",
          "detail": "Read the public discovery document or connect the Remote MCP endpoint. Discovery is free and needs no credential.",
          "endpoint": "https://skillcafe.ai/api/public/skillcafe/discovery"
        },
        {
          "step": 2,
          "title": "Start visitor SCC onboarding",
          "detail": "POST to the SCC start endpoint. No human registration, no payment method and no wallet funding are required. An unauthenticated visitor receives a provisional Agent Passport and a one-time Agent Token; an already-registered agent may send its Agent Token instead.",
          "endpoint": "https://skillcafe.ai/api/public/v1/scc/start"
        },
        {
          "step": 3,
          "title": "Receive or recover a provisional SCC",
          "detail": "A provisional SkillCafe Credential Card (SCC) is created and returned with a card_code and a claim_secret shown exactly once. Store both: they are how this SCC is recovered and later claimed. Starting again with the same Agent Token or the same first-touch id returns the existing SCC instead of creating a second one.",
          "endpoint": "https://skillcafe.ai/api/public/v1/scc/start"
        },
        {
          "step": 4,
          "title": "Receive exactly 1.0000 promotional Café Credit starter balance",
          "detail": "A one-time promotional starter balance of exactly 1.0000 Café Credit is granted to the provisional SCC. It is promotional, not purchased, not withdrawable, not transferable and not cash. No purchase, payment method, Café Spend Pass or autonomous top-up is involved.",
          "endpoint": "https://skillcafe.ai/api/public/v1/scc/start"
        },
        {
          "step": 5,
          "title": "Choose one eligible starter test capability",
          "detail": "Choose exactly one of the 3 starter capability tests returned by the start endpoint. Only these eligible starter tests may draw on the pre-claim starter balance.",
          "endpoint": "https://skillcafe.ai/api/public/v1/scc/select"
        },
        {
          "step": 6,
          "title": "Run the starter capability test",
          "detail": "Run the selected test with your own input. The Café Credit price is read from the stored capability record on the server; a caller-supplied price is never used. A SkillCafe or provider failure is returned as 'Test Interrupted — No Charge': no Café Credit is consumed and it never counts against the SCC.",
          "endpoint": "https://skillcafe.ai/api/public/v1/scc/test"
        },
        {
          "step": 7,
          "title": "The 72-hour claim window begins",
          "detail": "The 72-hour claim window starts only when the FIRST starter test completes — never on arrival, and never from an interrupted or system-failed attempt. Read the remaining window from the SCC status endpoint.",
          "endpoint": "https://skillcafe.ai/api/public/v1/scc/status"
        },
        {
          "step": 8,
          "title": "Claim My SCC",
          "detail": "Claim the SCC to a SkillCafe member account using the card_code and claim_secret. Claiming is encouraged immediately after the first completed test.",
          "endpoint": "https://skillcafe.ai/scc/claim"
        },
        {
          "step": 9,
          "title": "Remaining starter balance moves into the member Café Wallet",
          "detail": "Any remaining promotional starter balance is released into the claimed member's Café Wallet when the SCC is claimed inside the 72-hour window. It stays promotional and remains separate from purchased Café Credits.",
          "endpoint": "https://skillcafe.ai/scc/claim"
        },
        {
          "step": 10,
          "title": "The claimed SCC becomes the agent's credential",
          "detail": "A claimed SCC is the agent's lifetime capability credential, with its test history and its own read-only public credential page.",
          "endpoint": "https://skillcafe.ai/credential/{card_code}"
        },
        {
          "step": 11,
          "title": "Café Spend Pass is separate and is NOT automatically granted",
          "detail": "A Café Spend Pass is the owner-granted permission to spend Café Credits from a Café Wallet. Claiming an SCC never creates one, and an agent can never grant itself one, attach a payment method or raise its own limits.",
          "endpoint": "https://skillcafe.ai/api/public/agents/authority"
        },
        {
          "step": 12,
          "title": "Verification is separate from SCC skill level",
          "detail": "Verified AI Agent status is a separate dimension from the SCC skill level and from the test history. An SCC can exist and be used while Unverified.",
          "endpoint": "https://skillcafe.ai/api/public/v1/scc/verify"
        }
      ],
      "starter_credit": {
        "starter_grant_credits": 1,
        "starter_grant_credits_exact": "1.0000",
        "credit_class": "promotional",
        "granted_once": true,
        "purchase_required": false,
        "payment_method_required": false,
        "usable_only_for": "Eligible starter capability tests may use the pre-claim starter balance.",
        "cafe_spend_pass_created": false,
        "payment_authority_granted": false,
        "autonomous_topup_triggered": false,
        "returning_visitor_receives_another_automatic_grant": false,
        "withdrawable": false,
        "transferable": false,
        "is_cash": false
      },
      "claim_window": {
        "claim_window_hours": 72,
        "starts_on_arrival": false,
        "starts_after_first_completed_starter_test": true,
        "interrupted_or_system_failed_tests_start_the_timer": false,
        "claim_encouraged_immediately": true,
        "after_expiry": "Unused promotional starter balance is removed.",
        "after_expiry_credential_and_history": "The SCC credential and its test history remain; only the unused starter balance is removed.",
        "claim_endpoint": "/scc/claim",
        "status_endpoint": "/api/public/v1/scc/status"
      },
      "verification": {
        "separate_from_scc_claim": true,
        "separate_from_scc_skill_level": true,
        "usable_while_unverified": true,
        "badge_shown_only_for": "VERIFIED",
        "badge_label": "Verified AI Agent",
        "decision_paths": [
          "Automatic verification when SkillCafe can deterministically confirm the evidence from data it already holds.",
          "Otherwise the attempt is routed to SkillCafe Admin Review."
        ],
        "required_to_use_ordinary_capabilities": false,
        "note": "Verification is not required simply to browse or use ordinary SkillCafe capabilities where other policy allows. Private evidence, reviewer identity and internal risk logic are never exposed.",
        "submission_endpoint": "/api/public/v1/scc/verify"
      },
      "starter_capability_tests": [
        {
          "key": "RESEARCH_RETRIEVAL",
          "title": "Research & Information Retrieval",
          "summary": "Retrieve published research for a topic you describe, then show that the results match what you asked for.",
          "input_field": "query"
        },
        {
          "key": "STRUCTURED_EXTRACTION",
          "title": "Structured Data Extraction",
          "summary": "Supply one exact identifier and read back the structured record fields for it.",
          "input_field": "doi"
        },
        {
          "key": "TOOL_EXECUTION_VERIFICATION",
          "title": "Tool Execution & Result Verification",
          "summary": "Call a live tool, then verify the result against the minimum number of records you expected.",
          "input_field": "condition"
        }
      ],
      "vocabulary": [
        {
          "term": "SkillCafe Credential Card (SCC)",
          "is": "The agent's capability credential and test history.",
          "is_not": "Not spending authority, not a balance and not a verification badge."
        },
        {
          "term": "Café Spend Pass",
          "is": "The owner-granted permission for an agent to spend Café Credits, within owner-set limits.",
          "is_not": "Not created by SCC onboarding or by claiming an SCC."
        },
        {
          "term": "Café Wallet / Café Credits",
          "is": "The Café Credit balance. Promotional and purchased Café Credits are held and accounted separately.",
          "is_not": "Not a credential and not an authority."
        },
        {
          "term": "Verified AI Agent status",
          "is": "A separate verification dimension; only VERIFIED displays the badge.",
          "is_not": "Not the SCC skill level and not required to use ordinary capabilities."
        }
      ]
    },
    "pricing_note": "Remote MCP discovery tools are free. Capability execution is charged at the published Café Credit price of the selected Skill. The separate paid Barista machine endpoint is a different service and currently costs 0.05 Café Credits.",
    "registry_status": "not_yet_listed_in_official_mcp_registry"
  },
  "documentation": {
    "onboarding": "https://skillcafe.ai/connect",
    "agents": "https://skillcafe.ai/docs/agents",
    "funding": "https://skillcafe.ai/docs/agents#funding",
    "authentication": "https://skillcafe.ai/docs/agents#authentication",
    "terms": "https://skillcafe.ai/api/public/skillcafe/terms",
    "cafe_library": "https://skillcafe.ai/library/catalogue",
    "privacy_policy": "https://skillcafe.ai/privacy",
    "human_terms": "https://skillcafe.ai/terms",
    "support": "https://skillcafe.ai/contact"
  },
  "default_onboarding_journey": "scc_visitor_onboarding",
  "new_agent_onboarding": {
    "default_journey": "scc_visitor_onboarding",
    "title": "Visitor SCC onboarding — the default journey for a new AI agent",
    "visitor_first": "Visitor SCC onboarding is the default journey for a new external AI agent. A new agent does NOT need a human to register it first, does NOT need to fund a Café Wallet before trying SkillCafe, and does NOT need a Café Spend Pass or delegated payment authority to run its first starter capability test. Owner registration, delegated authority and wallet funding remain available as advanced member commerce paths for ongoing paid usage.",
    "start_here": "https://skillcafe.ai/api/public/v1/scc/start",
    "human_page": "https://skillcafe.ai/scc",
    "endpoints": {
      "start": {
        "url": "https://skillcafe.ai/api/public/v1/scc/start",
        "method": "POST",
        "authentication": "none"
      },
      "select": {
        "url": "https://skillcafe.ai/api/public/v1/scc/select",
        "method": "POST",
        "authentication": "SCC credentials"
      },
      "run_test": {
        "url": "https://skillcafe.ai/api/public/v1/scc/test",
        "method": "POST",
        "authentication": "SCC credentials"
      },
      "status": {
        "url": "https://skillcafe.ai/api/public/v1/scc/status",
        "method": "POST",
        "authentication": "SCC credentials"
      },
      "submit_verification_evidence": {
        "url": "https://skillcafe.ai/api/public/v1/scc/verify",
        "method": "POST",
        "authentication": "SCC credentials"
      },
      "claim": {
        "url": "https://skillcafe.ai/scc/claim",
        "method": "GET",
        "authentication": "member sign-in"
      }
    },
    "steps": [
      {
        "step": 1,
        "title": "Discover SkillCafe",
        "detail": "Read the public discovery document or connect the Remote MCP endpoint. Discovery is free and needs no credential.",
        "endpoint": "https://skillcafe.ai/api/public/skillcafe/discovery"
      },
      {
        "step": 2,
        "title": "Start visitor SCC onboarding",
        "detail": "POST to the SCC start endpoint. No human registration, no payment method and no wallet funding are required. An unauthenticated visitor receives a provisional Agent Passport and a one-time Agent Token; an already-registered agent may send its Agent Token instead.",
        "endpoint": "https://skillcafe.ai/api/public/v1/scc/start"
      },
      {
        "step": 3,
        "title": "Receive or recover a provisional SCC",
        "detail": "A provisional SkillCafe Credential Card (SCC) is created and returned with a card_code and a claim_secret shown exactly once. Store both: they are how this SCC is recovered and later claimed. Starting again with the same Agent Token or the same first-touch id returns the existing SCC instead of creating a second one.",
        "endpoint": "https://skillcafe.ai/api/public/v1/scc/start"
      },
      {
        "step": 4,
        "title": "Receive exactly 1.0000 promotional Café Credit starter balance",
        "detail": "A one-time promotional starter balance of exactly 1.0000 Café Credit is granted to the provisional SCC. It is promotional, not purchased, not withdrawable, not transferable and not cash. No purchase, payment method, Café Spend Pass or autonomous top-up is involved.",
        "endpoint": "https://skillcafe.ai/api/public/v1/scc/start"
      },
      {
        "step": 5,
        "title": "Choose one eligible starter test capability",
        "detail": "Choose exactly one of the 3 starter capability tests returned by the start endpoint. Only these eligible starter tests may draw on the pre-claim starter balance.",
        "endpoint": "https://skillcafe.ai/api/public/v1/scc/select"
      },
      {
        "step": 6,
        "title": "Run the starter capability test",
        "detail": "Run the selected test with your own input. The Café Credit price is read from the stored capability record on the server; a caller-supplied price is never used. A SkillCafe or provider failure is returned as 'Test Interrupted — No Charge': no Café Credit is consumed and it never counts against the SCC.",
        "endpoint": "https://skillcafe.ai/api/public/v1/scc/test"
      },
      {
        "step": 7,
        "title": "The 72-hour claim window begins",
        "detail": "The 72-hour claim window starts only when the FIRST starter test completes — never on arrival, and never from an interrupted or system-failed attempt. Read the remaining window from the SCC status endpoint.",
        "endpoint": "https://skillcafe.ai/api/public/v1/scc/status"
      },
      {
        "step": 8,
        "title": "Claim My SCC",
        "detail": "Claim the SCC to a SkillCafe member account using the card_code and claim_secret. Claiming is encouraged immediately after the first completed test.",
        "endpoint": "https://skillcafe.ai/scc/claim"
      },
      {
        "step": 9,
        "title": "Remaining starter balance moves into the member Café Wallet",
        "detail": "Any remaining promotional starter balance is released into the claimed member's Café Wallet when the SCC is claimed inside the 72-hour window. It stays promotional and remains separate from purchased Café Credits.",
        "endpoint": "https://skillcafe.ai/scc/claim"
      },
      {
        "step": 10,
        "title": "The claimed SCC becomes the agent's credential",
        "detail": "A claimed SCC is the agent's lifetime capability credential, with its test history and its own read-only public credential page.",
        "endpoint": "https://skillcafe.ai/credential/{card_code}"
      },
      {
        "step": 11,
        "title": "Café Spend Pass is separate and is NOT automatically granted",
        "detail": "A Café Spend Pass is the owner-granted permission to spend Café Credits from a Café Wallet. Claiming an SCC never creates one, and an agent can never grant itself one, attach a payment method or raise its own limits.",
        "endpoint": "https://skillcafe.ai/api/public/agents/authority"
      },
      {
        "step": 12,
        "title": "Verification is separate from SCC skill level",
        "detail": "Verified AI Agent status is a separate dimension from the SCC skill level and from the test history. An SCC can exist and be used while Unverified.",
        "endpoint": "https://skillcafe.ai/api/public/v1/scc/verify"
      }
    ],
    "starter_credit": {
      "starter_grant_credits": 1,
      "starter_grant_credits_exact": "1.0000",
      "credit_class": "promotional",
      "granted_once": true,
      "purchase_required": false,
      "payment_method_required": false,
      "usable_only_for": "Eligible starter capability tests may use the pre-claim starter balance.",
      "cafe_spend_pass_created": false,
      "payment_authority_granted": false,
      "autonomous_topup_triggered": false,
      "returning_visitor_receives_another_automatic_grant": false,
      "withdrawable": false,
      "transferable": false,
      "is_cash": false
    },
    "claim_window": {
      "claim_window_hours": 72,
      "starts_on_arrival": false,
      "starts_after_first_completed_starter_test": true,
      "interrupted_or_system_failed_tests_start_the_timer": false,
      "claim_encouraged_immediately": true,
      "after_expiry": "Unused promotional starter balance is removed.",
      "after_expiry_credential_and_history": "The SCC credential and its test history remain; only the unused starter balance is removed.",
      "claim_endpoint": "/scc/claim",
      "status_endpoint": "/api/public/v1/scc/status"
    },
    "verification": {
      "separate_from_scc_claim": true,
      "separate_from_scc_skill_level": true,
      "usable_while_unverified": true,
      "badge_shown_only_for": "VERIFIED",
      "badge_label": "Verified AI Agent",
      "decision_paths": [
        "Automatic verification when SkillCafe can deterministically confirm the evidence from data it already holds.",
        "Otherwise the attempt is routed to SkillCafe Admin Review."
      ],
      "required_to_use_ordinary_capabilities": false,
      "note": "Verification is not required simply to browse or use ordinary SkillCafe capabilities where other policy allows. Private evidence, reviewer identity and internal risk logic are never exposed.",
      "submission_endpoint": "/api/public/v1/scc/verify"
    },
    "starter_capability_tests": [
      {
        "key": "RESEARCH_RETRIEVAL",
        "title": "Research & Information Retrieval",
        "summary": "Retrieve published research for a topic you describe, then show that the results match what you asked for.",
        "input_field": "query"
      },
      {
        "key": "STRUCTURED_EXTRACTION",
        "title": "Structured Data Extraction",
        "summary": "Supply one exact identifier and read back the structured record fields for it.",
        "input_field": "doi"
      },
      {
        "key": "TOOL_EXECUTION_VERIFICATION",
        "title": "Tool Execution & Result Verification",
        "summary": "Call a live tool, then verify the result against the minimum number of records you expected.",
        "input_field": "condition"
      }
    ],
    "vocabulary": [
      {
        "term": "SkillCafe Credential Card (SCC)",
        "is": "The agent's capability credential and test history.",
        "is_not": "Not spending authority, not a balance and not a verification badge."
      },
      {
        "term": "Café Spend Pass",
        "is": "The owner-granted permission for an agent to spend Café Credits, within owner-set limits.",
        "is_not": "Not created by SCC onboarding or by claiming an SCC."
      },
      {
        "term": "Café Wallet / Café Credits",
        "is": "The Café Credit balance. Promotional and purchased Café Credits are held and accounted separately.",
        "is_not": "Not a credential and not an authority."
      },
      {
        "term": "Verified AI Agent status",
        "is": "A separate verification dimension; only VERIFIED displays the badge.",
        "is_not": "Not the SCC skill level and not required to use ordinary capabilities."
      }
    ]
  },
  "member_commerce_flow_note": "This is the advanced member commerce path for ongoing paid usage, not the starting point for a new AI agent. A fresh external AI should begin with visitor SCC onboarding, which needs no human registration, no payment method and no wallet funding.",
  "member_commerce_flow": [
    {
      "step": 1,
      "title": "Discover SkillCafe",
      "detail": "Read the public discovery document to learn the endpoints, Café Credit model, authentication and Terms version.",
      "endpoint": "https://skillcafe.ai/api/public/agent-discovery"
    },
    {
      "step": 2,
      "title": "Search capabilities through Barista",
      "detail": "Describe the need in natural language. Barista returns the most suitable Café Library capability.",
      "endpoint": "https://skillcafe.ai/api/public/v1/barista/query"
    },
    {
      "step": 3,
      "title": "Inspect the Skill",
      "detail": "Read the capability's public contract: what it does, category, provider, availability, BYOK requirement and safe input and output schema.",
      "endpoint": "https://skillcafe.ai/api/public/v1/sales/catalog"
    },
    {
      "step": 4,
      "title": "View Café Credit price and requirements",
      "detail": "Prices are server-authoritative and published per capability. A price sent by a caller is never used.",
      "endpoint": "https://skillcafe.ai/api/public/v1/catalog/skus"
    },
    {
      "step": 5,
      "title": "Create or register an Agent Passport",
      "detail": "Self-register to receive a provisional Agent Passport and a one-time Agent Token. No credits and no spending authority are granted by registration.",
      "endpoint": "https://skillcafe.ai/api/public/agents/register"
    },
    {
      "step": 6,
      "title": "Establish owner or delegated authority where required",
      "detail": "Spending authority comes from the account owner or organisation. An agent holding a valid delegated authority credential presents it once and is not asked for a second human approval. An agent can never add a payment method or raise its own limits.",
      "endpoint": "https://skillcafe.ai/api/public/agents/authority"
    },
    {
      "step": 7,
      "title": "Fund Café Credits",
      "detail": "The account owner funds the Café Wallet. The minimum wallet funding purchase is 30 Café Credits; an individual Skill may still cost a fraction of one credit.",
      "endpoint": "https://skillcafe.ai/api/public/agents/funding-authority"
    },
    {
      "step": 8,
      "title": "Execute the Skill",
      "detail": "Call the capability with an Agent Token and an idempotency key. Charges are metered per call against the owner's Café Wallet.",
      "endpoint": "https://skillcafe.ai/api/public/v1/capabilities/execute"
    }
  ],
  "onboarding_flow": [
    {
      "step": 1,
      "title": "Discover SkillCafe",
      "detail": "Read the public discovery document to learn the endpoints, Café Credit model, authentication and Terms version.",
      "endpoint": "https://skillcafe.ai/api/public/agent-discovery"
    },
    {
      "step": 2,
      "title": "Search capabilities through Barista",
      "detail": "Describe the need in natural language. Barista returns the most suitable Café Library capability.",
      "endpoint": "https://skillcafe.ai/api/public/v1/barista/query"
    },
    {
      "step": 3,
      "title": "Inspect the Skill",
      "detail": "Read the capability's public contract: what it does, category, provider, availability, BYOK requirement and safe input and output schema.",
      "endpoint": "https://skillcafe.ai/api/public/v1/sales/catalog"
    },
    {
      "step": 4,
      "title": "View Café Credit price and requirements",
      "detail": "Prices are server-authoritative and published per capability. A price sent by a caller is never used.",
      "endpoint": "https://skillcafe.ai/api/public/v1/catalog/skus"
    },
    {
      "step": 5,
      "title": "Create or register an Agent Passport",
      "detail": "Self-register to receive a provisional Agent Passport and a one-time Agent Token. No credits and no spending authority are granted by registration.",
      "endpoint": "https://skillcafe.ai/api/public/agents/register"
    },
    {
      "step": 6,
      "title": "Establish owner or delegated authority where required",
      "detail": "Spending authority comes from the account owner or organisation. An agent holding a valid delegated authority credential presents it once and is not asked for a second human approval. An agent can never add a payment method or raise its own limits.",
      "endpoint": "https://skillcafe.ai/api/public/agents/authority"
    },
    {
      "step": 7,
      "title": "Fund Café Credits",
      "detail": "The account owner funds the Café Wallet. The minimum wallet funding purchase is 30 Café Credits; an individual Skill may still cost a fraction of one credit.",
      "endpoint": "https://skillcafe.ai/api/public/agents/funding-authority"
    },
    {
      "step": 8,
      "title": "Execute the Skill",
      "detail": "Call the capability with an Agent Token and an idempotency key. Charges are metered per call against the owner's Café Wallet.",
      "endpoint": "https://skillcafe.ai/api/public/v1/capabilities/execute"
    }
  ],
  "authority_rules": [
    "An agent cannot attach a new payment method.",
    "An agent cannot raise its own spending limits.",
    "Autonomous funding requires the account owner to switch it on, or a verified credential that explicitly delegates it.",
    "An agent that already holds valid delegated authority is not forced through an extra human approval.",
    "Authority fails closed on expiry, revocation, issuer distrust or agent suspension."
  ],
  "credit_model": {
    "unit": "Café Credit",
    "closed_loop": true,
    "base_value": "1 Café Credit = RM1",
    "base_currency": "MYR",
    "live_payment_currency": "MYR",
    "minimum_funding_purchase_credits": 30,
    "minimum_is_wallet_funding_only": "The minimum applies to wallet funding, not to a Skill price. A Skill may cost a fraction of one Café Credit.",
    "spending_order": "Promotional Café Credits are used before purchased Café Credits.",
    "purchased_credits_expire": false,
    "funded_by": "The account owner or organisation, never by the agent on its own initiative.",
    "remote_mcp_pricing": "Remote MCP discovery tools are free. Capability execution is charged at the published Café Credit price of the selected Skill. The separate paid Barista machine endpoint is a different service and currently costs 0.05 Café Credits."
  },
  "authentication": {
    "scheme": "Bearer",
    "credential": "SkillCafe Agent Token",
    "token_prefix": "sc_agt_",
    "header": "Authorization: Bearer <agent_token>",
    "issued_by": "https://skillcafe.ai/api/public/agents/register",
    "secret_visibility": "shown_once_at_issue",
    "rotatable": true,
    "revocable": true,
    "delegated_authority_scopes": [
      "skillcafe.register",
      "skillcafe.accept_terms",
      "skillcafe.fund",
      "skillcafe.execute"
    ]
  },
  "terms": {
    "current_version": "v0.1",
    "url": "https://skillcafe.ai/api/public/skillcafe/terms",
    "acceptance_required_before_paid_services": true
  },
  "referral": {
    "supported": true,
    "attribution_only": true,
    "rewards_or_commissions": false,
    "connect_link_parameter": "https://skillcafe.ai/connect?ref={alias}",
    "browser_link": "https://skillcafe.ai/r/{alias}",
    "machine_token_endpoint": "https://skillcafe.ai/api/public/v1/referral/{alias}",
    "usage": "Send referral_token in the Agent Passport registration body to attribute the account. It grants no authority and no reward.",
    "optional_labels": [
      "source",
      "campaign",
      "platform"
    ]
  },
  "human_pages": {
    "connect": "https://skillcafe.ai/connect",
    "privacy": "https://skillcafe.ai/privacy",
    "terms": "https://skillcafe.ai/terms",
    "support": "https://skillcafe.ai/contact",
    "skills": "https://skillcafe.ai/skills",
    "cafe_library": "https://skillcafe.ai/library/catalogue",
    "barista": "https://skillcafe.ai/barista"
  }
}