{
  "protocolVersion": "0.3.0",
  "name": "The Daily Synthesis — PocketAgent catalog",
  "description": "Installable PocketAgent personas — portable, server-less LLM agents. Each skill installs as a #pa= URL.",
  "version": "1.0.0",
  "provider": {
    "organization": "The Daily Synthesis",
    "url": "https://johnjboren.github.io"
  },
  "url": "https://johnjboren.github.io/pa/",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "defaultInputModes": [
    "text/plain"
  ],
  "defaultOutputModes": [
    "text/plain"
  ],
  "skills": [
    {
      "id": "curmudgeonly-ml-reviewer",
      "name": "curmudgeonly-ml-reviewer",
      "description": "grumpy senior ML reviewer, demands receipts",
      "tags": [
        "code review",
        "ml research",
        "skeptic"
      ]
    },
    {
      "id": "pirate-reviewer",
      "name": "pirate-reviewer",
      "description": "pirate who reviews PRs",
      "tags": [
        "code review",
        "piratical",
        "fun"
      ]
    },
    {
      "id": "haiku-bot",
      "name": "haiku-bot",
      "description": "answers only in haiku",
      "tags": [
        "creative",
        "poetry",
        "form"
      ]
    },
    {
      "id": "receipts-please",
      "name": "receipts-please",
      "description": "demands citations for every factual claim",
      "tags": [
        "research",
        "skeptic",
        "citations"
      ]
    },
    {
      "id": "minimalist-editor",
      "name": "minimalist-editor",
      "description": "cuts your prose in half",
      "tags": [
        "editing",
        "writing",
        "minimalism"
      ]
    },
    {
      "id": "honest-rubber-duck",
      "name": "honest-rubber-duck",
      "description": "rubber duck that asks first, suggests second",
      "tags": [
        "debugging",
        "socratic",
        "listening"
      ]
    },
    {
      "id": "eli5-explainer",
      "name": "eli5-explainer",
      "description": "explains anything like you're five",
      "tags": [
        "teaching",
        "explainer",
        "friendly"
      ]
    },
    {
      "id": "devils-advocate",
      "name": "devils-advocate",
      "description": "argues the strongest opposite case",
      "tags": [
        "thinking",
        "debate",
        "critique"
      ]
    },
    {
      "id": "regex-wizard",
      "name": "regex-wizard",
      "description": "writes + explains regex, character by character",
      "tags": [
        "coding",
        "regex",
        "tools"
      ]
    },
    {
      "id": "threat-modeler",
      "name": "threat-modeler",
      "description": "STRIDE threat-models any feature you describe",
      "tags": [
        "security",
        "defensive",
        "architecture"
      ]
    },
    {
      "id": "sql-tightener",
      "name": "sql-tightener",
      "description": "rewrites your SQL faster and safer",
      "tags": [
        "coding",
        "sql",
        "performance"
      ]
    },
    {
      "id": "standup-writer",
      "name": "standup-writer",
      "description": "turns your day into a tight standup update",
      "tags": [
        "productivity",
        "writing",
        "work"
      ]
    },
    {
      "id": "fermi-estimator",
      "name": "Fermi Estimator",
      "description": "Decomposes any question into a back-of-envelope estimate with stated assumptions and a confidence band",
      "tags": [
        "estimation",
        "fermi",
        "quant",
        "assumptions",
        "analyst",
        "back-of-envelope",
        "confidence",
        "decision"
      ]
    },
    {
      "id": "the-steelman-switchboard",
      "name": "The Steelman Switchboard",
      "description": "Argues the strongest version of BOTH sides of your question, then refuses to hide which one it actually believes.",
      "tags": [
        "debate",
        "steelman",
        "decisions",
        "reasoning",
        "epistemics",
        "tradeoffs",
        "judgment",
        "wildcard"
      ]
    },
    {
      "id": "diff-gatekeeper",
      "name": "Diff Gatekeeper",
      "description": "A merge gatekeeper that runs the same VERDICT, BLOCKERS, NON-BLOCKERS, GATE workflow on every diff and ends with a binary MERGE/BLOCK decision and a blocker count.",
      "tags": [
        "code-review",
        "pr-review",
        "merge-gate",
        "ci",
        "blocker",
        "workflow",
        "ship-decision",
        "verdict"
      ]
    },
    {
      "id": "the-decomposer",
      "name": "The Decomposer",
      "description": "Turns any question into the same five labeled research steps every turn — Claim, Evidence-needed, Search-angles, Synthesis, Confidence — so you know what to verify before you trust it.",
      "tags": [
        "research",
        "workflow",
        "decomposition",
        "evidence",
        "verification",
        "confidence",
        "structured",
        "epistemics"
      ]
    },
    {
      "id": "the-red-team-verifier",
      "name": "The Red-Team Verifier",
      "description": "Runs any claim through the same adversarial audit every turn — Steelman, Strongest-counter, Crux, Disconfirming-test, Verdict — and refuses to bless a claim it could not falsify.",
      "tags": [
        "research",
        "workflow",
        "red-team",
        "falsifiability",
        "steelman",
        "critical",
        "verification",
        "epistemics"
      ]
    }
  ],
  "x-pocketagent": {
    "spec": "pocketagent-v1",
    "catalog": "https://johnjboren.github.io/pocketagent/registry.json"
  }
}
