{
  "$schema": "https://a2a-protocol.org/schemas/agent-card-v1.json",
  "schema_version": "1.0",
  "name": "timer.ly",
  "description": "Stateless countdown URL builder. Composes shareable timer.ly links for durations, target dates, count-up since past dates, and named holidays. No accounts, no auth.",
  "version": "1.0.0",
  "url": "https://www.timer.ly/api/mcp",
  "documentation_url": "https://www.timer.ly/docs",
  "provider": {
    "organization": "timer.ly",
    "contact": "https://to.messeb.com/contact",
    "url": "https://www.timer.ly/"
  },
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "authentication": {
    "schemes": ["none"]
  },
  "defaultInputModes": ["application/json", "text/plain"],
  "defaultOutputModes": ["application/json", "text/plain"],
  "skills": [
    {
      "id": "build_duration_url",
      "name": "Build duration countdown URL",
      "description": "Compose a /in/{duration} URL from days/hours/minutes/seconds. Returns a shareable link the recipient can open to see a live countdown.",
      "tags": ["countdown", "timer", "pomodoro", "url"],
      "examples": ["a 25-minute Pomodoro link", "countdown of 2 hours 30 minutes", "10 second timer"],
      "inputSchema": {
        "type": "object",
        "properties": {
          "days": { "type": "integer", "minimum": 0 },
          "hours": { "type": "integer", "minimum": 0 },
          "minutes": { "type": "integer", "minimum": 0 },
          "seconds": { "type": "integer", "minimum": 0 },
          "locale": { "type": "string", "enum": ["en", "de", "fr", "es", "it"] }
        }
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "url": { "type": "string", "format": "uri" },
          "duration": { "type": "string" },
          "seconds": { "type": "integer" }
        }
      }
    },
    {
      "id": "build_target_url",
      "name": "Build target-date countdown URL",
      "description": "Compose a /at/{iso} URL from an ISO 8601 datetime. Returns a shareable link.",
      "tags": ["countdown", "deadline", "url"],
      "examples": ["countdown to my flight on 2026-12-25T18:00 PST", "deadline countdown"],
      "inputSchema": {
        "type": "object",
        "required": ["iso"],
        "properties": {
          "iso": { "type": "string" },
          "locale": { "type": "string", "enum": ["en", "de", "fr", "es", "it"] }
        }
      },
      "outputSchema": { "type": "object", "properties": { "url": { "type": "string", "format": "uri" } } }
    },
    {
      "id": "build_since_url",
      "name": "Build count-up since past date URL",
      "description": "Compose a /since/{iso} URL for a past date. Returns a shareable link that shows time elapsed.",
      "tags": ["count-up", "elapsed", "since", "url"],
      "examples": ["days since I quit smoking on 2024-03-11", "time since the pandemic was declared"],
      "inputSchema": {
        "type": "object",
        "required": ["iso"],
        "properties": {
          "iso": { "type": "string" },
          "locale": { "type": "string", "enum": ["en", "de", "fr", "es", "it"] }
        }
      },
      "outputSchema": { "type": "object", "properties": { "url": { "type": "string", "format": "uri" } } }
    },
    {
      "id": "build_event_url",
      "name": "Build named-event countdown URL",
      "description": "Resolve a curated event (christmas, new_year, easter, summer_solstice, winter_solstice) to its next occurrence and return a locale-aware shareable URL.",
      "tags": ["holiday", "event", "christmas", "easter", "url"],
      "examples": ["countdown to next Christmas in French", "when is the next solstice"],
      "inputSchema": {
        "type": "object",
        "required": ["event"],
        "properties": {
          "event": { "type": "string", "enum": ["christmas", "new_year", "easter", "summer_solstice", "winter_solstice"] },
          "locale": { "type": "string", "enum": ["en", "de", "fr", "es", "it"] }
        }
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "url": { "type": "string", "format": "uri" },
          "slug": { "type": "string" },
          "title": { "type": "string" },
          "next_occurrence_iso": { "type": "string", "format": "date" }
        }
      }
    },
    {
      "id": "list_curated_events",
      "name": "List curated cross-locale events",
      "description": "Enumerate the curated event catalog (christmas, easter, …) with each one's next occurrence and locale-specific URL.",
      "tags": ["holiday", "event", "catalog"],
      "examples": ["list the major holidays timer.ly knows", "what events can I count down to"]
    },
    {
      "id": "list_holidays",
      "name": "List national / bank holidays for a country",
      "description": "Return the next 12 months of public holidays for UK, US, DE, FR, ES, or IT with stable slugs and canonical URLs.",
      "tags": ["holiday", "calendar", "uk", "us", "germany", "france", "spain", "italy"],
      "examples": ["next UK bank holiday", "all US federal holidays this year", "German Feiertage 2026"]
    },
    {
      "id": "parse_countdown_url",
      "name": "Reverse-parse a timer.ly URL",
      "description": "Inspect any timer.ly URL and return the encoded payload (kind, duration / iso / event slug, locale). Useful for round-tripping.",
      "tags": ["parse", "inspect", "url"],
      "examples": ["what does https://www.timer.ly/de/bis/weihnachten mean"]
    }
  ]
}
