{
  "$schema": "https://trymaestro.app/.well-known/links.schema.json",
  "version": "2026.05.20",
  "generated_at": "2026-05-20T00:00:00Z",
  "generator": "manual (Chapter 4 §4.1.B)",
  "description": "Custom MAESTRO link declarations. Destinations, consumers, and dispatch tools require current verification before use. This static manifest is not an A2A service or a standard A2A discovery interface.",
  "links": {
    "linear:inbox": {
      "url": "https://linear.app/maestroverse/my-issues/created",
      "kind": "inbox",
      "agents": ["linear", "claude", "raycast", "claudecast"],
      "notes": "Primary dispatch target for /link-drop --dispatch linear-inbox"
    },
    "linear:swarm": {
      "url": "https://linear.app/maestroverse/project/agent-swarm",
      "kind": "project",
      "agents": ["linear", "claude"],
      "notes": "Created idempotently by develop/scripts/sync-linear-swarm.sh"
    },
    "linear:workspace": {
      "url": "https://linear.app/maestroverse",
      "kind": "workspace",
      "agents": ["linear", "claude"]
    },
    "devin:task": {
      "url": "https://app.devin.ai/tasks/8b5ae169-ecce-49f8-8f3f-34db887ee6a2",
      "kind": "task",
      "agents": ["devin", "claude"],
      "notes": "Auth-walled from cloud containers; user pastes contents Mac-side"
    },
    "notion:inbox": {
      "url": "https://www.notion.so/maestroverse/Inbox",
      "kind": "inbox",
      "agents": ["notionai", "claude"],
      "notes": "Resolve target db via Notion MCP notion-search before dispatch"
    },
    "nblm:maestro": {
      "url": "https://notebooklm.google.com/",
      "kind": "notebook",
      "agents": ["gemini", "claude"],
      "notes": "Specific notebook id TBD; gated on notebooklm-py 0.1.4 auth"
    },
    "warp:oz": {
      "url": "https://app.warp.dev/oz",
      "kind": "console",
      "agents": ["oz", "claude"]
    },
    "github:repo": {
      "url": "https://github.com/ramzimalhas/maestro",
      "kind": "repo",
      "agents": ["copilot", "claude", "devin", "codex"]
    },
    "github:my-prs": {
      "url": "https://github.com/ramzimalhas/maestro/pulls",
      "kind": "inbox",
      "agents": ["copilot", "claude", "devin"]
    },
    "a2a:links": {
      "url": "https://trymaestro.app/.well-known/links.json",
      "kind": "manifest",
      "agents": ["*"],
      "notes": "Legacy key retained for consumers; refers to this custom link manifest, not an A2A interface."
    },
    "docs:claude-code": {
      "url": "https://code.claude.com/docs/en",
      "kind": "docs",
      "agents": ["claude"]
    },
    "docs:a2a": {
      "url": "https://a2a-protocol.org/latest/specification/",
      "kind": "docs",
      "agents": ["*"]
    },
    "docs:raycast-placeholders": {
      "url": "https://manual.raycast.com/dynamic-placeholders",
      "kind": "docs",
      "agents": ["raycast", "claude"]
    }
  },
  "raycast_quicklinks": [
    {
      "name": "MAESTRO · Linear Inbox",
      "link": "https://linear.app/maestroverse/my-issues/created",
      "icon": "linear"
    },
    {
      "name": "MAESTRO · Agent Swarm Project",
      "link": "https://linear.app/maestroverse/project/agent-swarm",
      "icon": "linear"
    },
    {
      "name": "Link-drop {Argument query=\"URL to drop\"}",
      "link": "claude://skill/link-drop?url={Argument query=\"URL to drop\"}",
      "icon": "claude",
      "notes": "Raycast Dynamic Placeholders: {Argument} pattern from manual.raycast.com/dynamic-placeholders"
    },
    {
      "name": "MAESTRO · Devin Task",
      "link": "https://app.devin.ai/tasks/8b5ae169-ecce-49f8-8f3f-34db887ee6a2",
      "icon": "devin"
    },
    {
      "name": "MAESTRO · GitHub repo",
      "link": "https://github.com/ramzimalhas/maestro",
      "icon": "github"
    }
  ],
  "ios_shortcuts": [
    {
      "name": "Drop link → MAESTRO",
      "scheme": "shortcuts://run-shortcut?name=MaestroLinkDrop&input=text",
      "notes": "Shortcut author runs Mac-side; this manifest just declares the contract"
    },
    {
      "name": "Open MAESTRO Inbox",
      "scheme": "linear://maestroverse/my-issues/created"
    }
  ],
  "dispatch_targets": {
    "linear-inbox": {
      "resolver": "links.linear:inbox.url",
      "mcp": "linear",
      "mcp_tool": "issueCreate",
      "trust_tier": "T2",
      "requires_verb": "sync"
    },
    "notion-inbox": {
      "resolver": "links.notion:inbox.url",
      "mcp": "notion",
      "mcp_tool": "notion-create-pages",
      "trust_tier": "T2",
      "requires_verb": "sync"
    },
    "notebooklm": {
      "resolver": "links.nblm:maestro.url",
      "mcp": "notebooklm",
      "mcp_tool": "add_source",
      "trust_tier": "T2",
      "requires_verb": "sync",
      "notes": "Falls back to notebooklm-py CLI if MCP not wired"
    }
  },
  "_meta": {
    "schema_source": "MAESTRO v1 draft (Chapter 4 §4.1.B of plans/replicated-booping-kurzweil.md)",
    "consumers": ["claude-code", "raycast", "ios-shortcuts", "a2a-peers"],
    "swarm_roster_ref": "discover/inventory/agent-swarm-roster-2026-05-20.yaml",
    "supersedes": ["go.links (corporate, needs server)", "gravatar (avatar-only)", "raycast-quicklinks-alone (Mac-only)"],
    "backlog_alternatives": [
      {
        "id": "golinks-saas",
        "name": "GoLinks (golinks.io) SaaS",
        "url": "https://www.golinks.io",
        "tradeoff": "Faster to ship; closed source; ~$5/user/mo; requires SSO; opaque to A2A discovery",
        "linear_target": "linear:swarm",
        "status": "backlogged"
      },
      {
        "id": "tailscale-funnel-resolver",
        "name": "Tailscale Funnel + Cloudflare Worker /.well-known/links/{slug} resolver",
        "url": "https://tailscale.com/kb/1223/funnel",
        "tradeoff": "Self-hosted, programmable, A2A-discoverable; more infra to maintain",
        "linear_target": "linear:swarm",
        "status": "backlogged"
      },
      {
        "id": "gravatar-well-known",
        "name": "Gravatar-style /.well-known/avatar + /.well-known/links variants",
        "url": "https://en.gravatar.com/site/implement/",
        "tradeoff": "Public, signed, MD5-keyed; great for identity surface; bad for arbitrary slug → URL routing",
        "linear_target": "linear:swarm",
        "status": "backlogged"
      },
      {
        "id": "raycast-only",
        "name": "Raycast Quicklinks (Dynamic Placeholders) standalone",
        "url": "https://manual.raycast.com/dynamic-placeholders",
        "tradeoff": "Mac-only. No iOS. No A2A. Fastest single-surface ship",
        "linear_target": "linear:swarm",
        "status": "rejected-as-primary"
      }
    ]
  }
}
