{
  "protocolVersion": "0.3.0",
  "name": "shortage.life",
  "description": "Global shortage intelligence agent — strategic reserves, commodity prices, country exposure and forward crisis scenarios.",
  "url": "https://api.shortage.life/api/a2a",
  "preferredTransport": "JSONRPC",
  "provider": {
    "organization": "CryptaGuard BV",
    "url": "https://shortage.life"
  },
  "version": "0.3.0",
  "documentationUrl": "https://shortage.life/en/api-docs",
  "defaultInputModes": [
    "text/plain",
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "capabilities": {
    "streaming": true,
    "pushNotifications": false
  },
  "skills": [
    {
      "id": "get-strategic-reserves",
      "name": "Get strategic reserves",
      "description": "Return the current level and fill ratio of a strategic reserve for a given commodity and country.",
      "tags": [
        "energy",
        "reserves",
        "data"
      ],
      "examples": [
        "What is the level of the US Strategic Petroleum Reserve?"
      ]
    },
    {
      "id": "list-active-scenarios",
      "name": "List active scenarios",
      "description": "List forward shortage scenarios with probability, severity and affected commodities and countries.",
      "tags": [
        "scenarios",
        "risk"
      ],
      "examples": [
        "Which shortage scenarios are currently elevated?"
      ]
    },
    {
      "id": "search-briefings",
      "name": "Search briefings",
      "description": "Semantic search across editorial briefings on energy, food and critical-mineral shortages.",
      "tags": [
        "briefings",
        "search",
        "editorial"
      ],
      "examples": [
        "Find briefings about OPEC spare capacity."
      ]
    },
    {
      "id": "get-country-profile",
      "name": "Get country profile",
      "description": "Return a country's shortage exposure profile: stress index, status and commodity dependencies.",
      "tags": [
        "countries",
        "exposure"
      ],
      "examples": [
        "Give me the shortage exposure profile for Egypt."
      ]
    },
    {
      "id": "get-commodity-timeseries",
      "name": "Get commodity timeseries",
      "description": "Return a time series of price, production, consumption or reserve metrics for a commodity.",
      "tags": [
        "commodities",
        "timeseries",
        "data"
      ],
      "examples": [
        "Show the 30-day Brent crude price series."
      ]
    },
    {
      "id": "get-buffer",
      "name": "Get natural buffer state",
      "description": "Return the current depletion state of a natural water buffer (H2O.GWT groundwater, H2O.SWE snowpack, H2O.SMA soil moisture, H2O.FLW low flow): index 0-1 against the 1991-2020 reference where 1 is worst, plus source, licence, observation date, method and station count.",
      "tags": [
        "buffers",
        "water",
        "groundwater",
        "drought"
      ],
      "examples": [
        "What is the French groundwater buffer index right now?",
        "How depleted are Europe's natural water reserves?"
      ]
    },
    {
      "id": "get-hbi",
      "name": "Get Hydrological Buffer Index",
      "description": "Return the composite HBI for a scope together with its full decomposition — every component with its nominal and effective weight. The composite is withheld and reported as no_data when fewer than two components are available; the available components are still returned.",
      "tags": [
        "buffers",
        "water",
        "index"
      ],
      "examples": [
        "Break down the hydrological buffer index for France."
      ]
    },
    {
      "id": "get-forest-compartments",
      "name": "Get forest compartments",
      "description": "Return the four European forest compartments with area, disturbance flux, disturbance return interval and Forest Carrying Index. Hydraulic decoupling flux is always null — no European instrument measures it, and that absence is reported rather than hidden.",
      "tags": [
        "buffers",
        "forest",
        "disturbance"
      ],
      "examples": [
        "Which European forest compartment is closest to its conversion threshold?"
      ]
    },
    {
      "id": "project-forest-crossing",
      "name": "Project forest crossing year",
      "description": "Project the year a forest compartment's disturbance interval meets its regeneration time, from t = ln(1/FCI)/r. The growth rate r is REQUIRED and has no default: it is postulated, not measured, and dominates the result — moving r from 0.03 to 0.08 divides the horizon by 2.7. Every response carries that caveat. These are hypothesis maps, not forecasts.",
      "tags": [
        "buffers",
        "forest",
        "projection",
        "assumption"
      ],
      "examples": [
        "Project the Mediterranean forest crossing year assuming r = 0.05."
      ]
    }
  ]
}