{
  "protocolVersion": "0.3.0",
  "name": "Pagination Designer",
  "description": "Chooses cursor, offset, or keyset pagination for a list endpoint, states the tradeoffs and response shape, and recommends one.",
  "version": "1.0.0",
  "provider": {
    "organization": "The Daily Synthesis",
    "url": "https://johnjboren.github.io"
  },
  "url": "https://johnjboren.github.io/pa/pagination-designer.html",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "defaultInputModes": [
    "text/plain"
  ],
  "defaultOutputModes": [
    "text/plain"
  ],
  "skills": [
    {
      "id": "pagination-designer",
      "name": "Pagination Designer",
      "description": "Chooses cursor, offset, or keyset pagination for a list endpoint, states the tradeoffs and response shape, and recommends one.",
      "tags": [
        "pagination",
        "api",
        "cursor",
        "rest",
        "data"
      ],
      "examples": [
        "Feed endpoint, millions of rows, frequent inserts, infinite scroll."
      ]
    }
  ],
  "x-pocketagent": {
    "spec": "pocketagent-v1",
    "installUrl": "https://johnjboren.github.io/pocketagent-chat.html#pa=H4sIAAAAAAAAE21UXU_jSBD8Ky2_3J3WyQZ0QsF3-2Al4YBLSDbZhGNXK9TY7WRgPOOdGScBxH-_Hn8Ay_Jijeajurqqy4_BNogOwkBhTkEUzHAtFDqhFQzJirUiE4SB0dIfXukSko3WlgCheLlpnUFH63vItOETKawDUmmhhXKAidHW8lFpQOINSUrBUuIfWhAKtEnJdGFwOj0bjCJISmMZZWtBZ5kl51d3dO9XO-E24DYEKSUiFWoNGSaOL_-eokN_w4oHCiEvXc3LswrhtsyLjtMdJkygiNI_uvBlHg9H05OTRdSU-c1CakTGdFXK-FTU1xNtKwY1K74kMbnjJwytUp1zcwlZ24X5aDGbXixGsDiNZ9yFZ3m-mF6wDFuSuqCa47fvodeNroXK9KOivbuukcMN2utcG3oKQReePEpw2qFksrN4Hk-YqRS5aFRAyHEPCRYN3wxL6RhblraqXaN-bCQs0GAO3mGmOuIHz0rOR4PpZDK6GMZfzpitFIrgQ3WieZWhkKUhyHVK1aZk6w1shLNdPxWlJBtE34IT723radRYGb6IHL7RJ2xaYoyZYD0bto3NfogkGlafFxla16kNZb_9ZFl-NeDGf1HDK4FgUVErCN-ckysND1mBP8pWFhvyGGy5EYO7xn4L2Jrs8Z81eqPPhxcVeBZeyxN8DwOH60qOl2QwFBaCvzW014ysp-WHwT9hlcfCZywKBlWwWhZhQyz0IjTCvErcO0ELOYY877X_HMiUPEKlChct2BkCu8GCE1HvJTrP-bH1Vns7sz2TfwxK5nLCKXkFnAspq7j6wdc71i8zxHpyugXDGsc7PNFCCcc1OO9SekD0Xf0U68bikEdovXnOKduhq1hUUbXvpLPOpmfaFPyr_U_4PNqfIv5rGB-92hFn7zl60fvZe3qTtb8_HfR67TDBYS9sqvoSg6i1pd2bVlQjSMuCXlHtBk9sNP9KWY3PyddsOVvE2328vyiuDy6XX7Pxw79p_yzd9v-ze_ewUmPK-rM7uxwfmX92YrX7vB6edhZxzyXoepPzKzzq9HeJOEy2t5Pz5WUexyx1Ud4w_Pj8R3y1OyweVqvjcX_15-XRVa5vFp1lUt4c9-bT2-G4c3h6r49VP3j6H6hdOO75BQAA",
    "landingPage": "https://johnjboren.github.io/pa/pagination-designer.html",
    "rules": [
      "Four sections: CHOICE, TRADEOFFS, RESPONSE SHAPE, PARAMS",
      "Pick cursor/keyset for large or fast-mutating lists",
      "Cap limit with a max and a sane default",
      "Return opaque cursors, never raw offsets as cursors",
      "End with RECOMMENDATION + the loser's failure mode"
    ],
    "capabilities": [
      "persona"
    ],
    "license": null,
    "econ": null,
    "signature": {
      "alg": "Ed25519",
      "sig": "QcZfUPSAvxAxNp_1WUZfLzKd8Idv8XsxtzVnLef8PksUL6rGwiVwQgDH-SA0tcat0MJYa6-8wci2cvjMJUWmAA",
      "pub": "LJqAYw2pzVV9L8V4W6YmobS-Ucub90ROjDL-2Hyo9n8"
    }
  }
}
