{
  "name": "agentexchange-skills",
  "version": "1.0.0",
  "generated": "2026-09-30T00:35:08.598Z",
  "site": "https://skills.agentexchange.work",
  "license": "MIT",
  "summary": "Agent Skills for Agent Exchange services, served from our own domain as a git repository (smart HTTP v2 with a dumb-HTTP fallback), a Claude Code plugin marketplace, zip archives and plain files.",
  "repository": {
    "url": "https://skills.agentexchange.work/agentexchange-skills.git",
    "default_branch": "main",
    "commit": "fbce5b3b136e511186ba24a1bd2385c7cfa1d037",
    "tree": "0690f2c236bc051732ce3eb407ce0ede12a70780",
    "tag": "v1.0.0",
    "protocol": "git smart HTTP v2 (read-only upload-pack: ls-refs, fetch with shallow/deepen and have/ACK negotiation) for git >= 2.26 and other protocol-v2 clients; static dumb-HTTP files (HEAD, info/refs, objects/info/packs, objects/pack/*) for protocol-v0 clients. Full, shallow (--depth), --branch and tag clones and later pulls all work.",
    "archive": {
      "url": "https://skills.agentexchange.work/archives/agentexchange-skills-1.0.0.zip",
      "sha256": "7c125a3a4d59222a8da33d0281c9e36b37525efe06cfeb4e682e8dcb58c5fc95",
      "bytes": 13663
    }
  },
  "marketplace": {
    "name": "agentexchange",
    "in_repo": "https://skills.agentexchange.work/.claude-plugin/marketplace.json",
    "hosted": "https://skills.agentexchange.work/marketplace.json",
    "note": "in_repo uses relative sources and is what a git-URL add reads; hosted uses archive sources for a URL add. Same name, so add one of them."
  },
  "skills": [
    {
      "name": "agent-readiness-grade",
      "description": "Grade any public website A-F (0-12) on how well AI crawlers and agents can read, cite and transact with it, using grade.agentexchange.work. Checks robots.txt access for AI bots, machine-readable surfaces (llms.txt, sitemap.xml, openapi.json, .well-known/x402, agent-card.json, mcp-registry-auth), readability without JavaScript, structured data (JSON-LD, Open Graph), published legal notices and MCP census presence. Use when asked whether a site is agent-ready or AI-readable, to audit llms.txt or robots.txt for AI crawlers, to explain a grade, or to compare sites.",
      "version": "1.0.0",
      "homepage": "https://grade.agentexchange.work",
      "skill_md": "https://skills.agentexchange.work/skills/agent-readiness-grade/SKILL.md",
      "sha256": "bed27cc4dedd9fc395b1504184b45050c7eee513ef6e7fd82099c60c9f43fc34",
      "bytes": 5117,
      "plugin_json": "https://skills.agentexchange.work/skills/agent-readiness-grade/.claude-plugin/plugin.json",
      "repository": {
        "url": "https://skills.agentexchange.work/agent-readiness-grade.git",
        "commit": "79bac6e46b63ee0ed6cf11bc5862f6ef4ac074f3",
        "tag": "v1.0.0",
        "layout": "SKILL.md at the repository root"
      },
      "archive": {
        "url": "https://skills.agentexchange.work/archives/agent-readiness-grade-1.0.0.zip",
        "sha256": "87abcdfd9c24272477222309afce467716c4935a684ea02bf069dcfaa5d59bc3",
        "bytes": 3130
      }
    },
    {
      "name": "agentexchange-web-tools",
      "description": "Read JavaScript-rendered web pages, take screenshots and extract structured data through a real browser at tools.agentexchange.work, paying per call with USDC on Base (x402). No API key, no account. Use when a page needs JavaScript to render, when a screenshot is needed, or when structured data should be pulled from a page without writing a parser.",
      "version": "1.0.0",
      "homepage": "https://tools.agentexchange.work",
      "skill_md": "https://skills.agentexchange.work/skills/agentexchange-web-tools/SKILL.md",
      "sha256": "1813f35de1591bfa555c0d61713a66fc4be7cc3794afdf4c207167574315e754",
      "bytes": 2994,
      "plugin_json": "https://skills.agentexchange.work/skills/agentexchange-web-tools/.claude-plugin/plugin.json",
      "repository": {
        "url": "https://skills.agentexchange.work/agentexchange-web-tools.git",
        "commit": "743b3e399698cd8692474d215fe50d29e00ebd79",
        "tag": "v1.0.0",
        "layout": "SKILL.md at the repository root"
      },
      "archive": {
        "url": "https://skills.agentexchange.work/archives/agentexchange-web-tools-1.0.0.zip",
        "sha256": "d7508d090c67551aff8a85502400a883b7ba5345839cc14b85543f3a83805967",
        "bytes": 1994
      }
    },
    {
      "name": "compliance-desk",
      "description": "Build, send and track legally-deadlined requests through takeitdown.agentexchange.work (Compliance Desk) - TAKE IT DOWN Act removal of intimate images posted without consent (48-hour deadline), DMCA takedown notices, CCPA/GDPR privacy requests (access, deletion, correction, opt-out of sale) and TCPA/CAN-SPAM do-not-call or unsubscribe requests. Also checks whether a website publishes the notices and request mechanisms it is legally required to have, and sets up a hosted, logged request desk for a site the user operates. Use when a user wants content removed, a takedown or privacy request written, unwanted calls, texts or emails stopped, a site's compliance notices checked, or a takedown, DSA, privacy, accessibility or opt-out intake for their own site.",
      "version": "1.0.0",
      "homepage": "https://takeitdown.agentexchange.work",
      "skill_md": "https://skills.agentexchange.work/skills/compliance-desk/SKILL.md",
      "sha256": "d782fd1020e41c9131c1dcaf4f50be72e7472df5d923b0f440185e10566fd61b",
      "bytes": 9988,
      "plugin_json": "https://skills.agentexchange.work/skills/compliance-desk/.claude-plugin/plugin.json",
      "repository": {
        "url": "https://skills.agentexchange.work/compliance-desk.git",
        "commit": "0a152ed8549c9ed60ac7787c27d620c28de3ffaf",
        "tag": "v1.0.0",
        "layout": "SKILL.md at the repository root"
      },
      "archive": {
        "url": "https://skills.agentexchange.work/archives/compliance-desk-1.0.0.zip",
        "sha256": "f2f5e31dac3e2d98d7bddc141341082824d0ac863228282906d0c6d7d5e95a6f",
        "bytes": 5010
      }
    }
  ],
  "mcp": {
    "url": "https://skills.agentexchange.work/mcp.json",
    "servers": {
      "agent-economy-index": {
        "type": "http",
        "url": "https://index.agentexchange.work/mcp"
      },
      "measured-data": {
        "type": "http",
        "url": "https://agentexchange.work/data/mcp"
      },
      "agent-exchange-store": {
        "type": "http",
        "url": "https://store.agentexchange.work/mcp"
      },
      "tooldrift": {
        "type": "http",
        "url": "https://tooldrift.agentexchange.work/mcp"
      }
    },
    "verified": "JSON-RPC initialize answered 200 from each url on 2026-09-30"
  },
  "install": {
    "git (any client)": [
      {
        "command": "git clone https://skills.agentexchange.work/agentexchange-skills.git",
        "status": "verified-by-test",
        "evidence": "Executed against this host after deploy with git 2.50.1 (verify.mjs): full clone, --depth 1, --branch v1.0.0, protocol.version=0 (dumb fallback), pull after a new commit."
      },
      {
        "command": "git clone --depth 1 --branch v1.0.0 https://skills.agentexchange.work/agentexchange-skills.git",
        "status": "verified-by-test",
        "evidence": "shallow tag clone over the smart endpoint"
      }
    ],
    "claude-code": [
      {
        "command": [
          "claude plugin marketplace add https://skills.agentexchange.work/agentexchange-skills.git",
          "claude plugin install agent-readiness-grade@agentexchange"
        ],
        "status": "documented-only",
        "evidence": "code.claude.com/docs/en/plugins/install (2026-09-29): 'Git repository on any host: the full clone URL'. Not executed here because it would write this machine's settings. The exact clone Claude Code 2.1.234 runs (git clone --depth 1 --filter=blob:none --no-checkout --recurse-submodules --shallow-submodules --branch <ref>, strings in the binary) was executed against this host by verify.mjs and succeeded; the clone passes `claude plugin validate` offline."
      },
      {
        "command": [
          "claude plugin marketplace add https://skills.agentexchange.work/marketplace.json",
          "claude plugin install agent-readiness-grade@agentexchange"
        ],
        "status": "documented-only",
        "evidence": "hosted marketplace.json with `archive` plugin sources (zip + sha256), requires Claude Code >= 2.1.224 per code.claude.com/docs/en/plugins/marketplace-reference; archives verified by download, sha256 and unzip -t. Add either this or the git form, not both (same marketplace name)."
      },
      {
        "command": "git clone https://skills.agentexchange.work/agentexchange-skills.git && claude --plugin-dir ./agentexchange-skills/skills/agent-readiness-grade",
        "status": "documented-only",
        "evidence": "code.claude.com/docs/en/plugins/install: --plugin-dir loads a plugin for one session without installing"
      },
      {
        "command": "git clone https://skills.agentexchange.work/agentexchange-skills.git && cp -r agentexchange-skills/skills/. ~/.claude/skills/",
        "status": "documented-only",
        "evidence": "code.claude.com/docs/en/skills: personal skills live at ~/.claude/skills/<name>/SKILL.md"
      }
    ],
    "openclaw": [
      {
        "command": "openclaw skills install git:https://skills.agentexchange.work/agent-readiness-grade.git",
        "status": "documented-only",
        "evidence": "OpenClaw 2026.7.1-2 source (parseGitPluginSpec, run locally on this spec) resolves it to url https://skills.agentexchange.work/agent-readiness-grade.git; it then runs `git clone --depth 1` (or a full clone plus `git switch --detach` when you append @main or @v1.0.0), both executed against this host by verify.mjs. Each skill has its own repository because OpenClaw expects SKILL.md at the repository root. The openclaw command itself was not executed here."
      },
      {
        "command": "git clone https://skills.agentexchange.work/agentexchange-skills.git && openclaw skills install ./agentexchange-skills/skills/agent-readiness-grade",
        "status": "documented-only",
        "evidence": "docs.openclaw.ai/cli/skills: local directory install with SKILL.md at the source root"
      }
    ],
    "codex": [
      {
        "command": "git clone https://skills.agentexchange.work/agentexchange-skills.git && cp -r agentexchange-skills/skills/. ~/.agents/skills/",
        "status": "documented-only",
        "evidence": "learn.chatgpt.com/docs/build-skills (2026-09-29): Codex reads $HOME/.agents/skills (user) and $CWD/.agents/skills (repository); skills follow the agentskills.io standard"
      }
    ],
    "cursor": [
      {
        "command": "git clone https://skills.agentexchange.work/agentexchange-skills.git && cp -r agentexchange-skills/skills/. ~/.cursor/skills/",
        "status": "documented-only",
        "evidence": "cursor.com/docs/context/skills (2026-09-29): Cursor loads ~/.cursor/skills, ~/.agents/skills, .cursor/skills, .agents/skills (also .claude/skills and .codex/skills); no remote import except GitHub-hosted plugins"
      }
    ],
    "any agent (plain HTTP)": [
      {
        "command": "curl -fsSL https://skills.agentexchange.work/skills/agent-readiness-grade/SKILL.md",
        "status": "verified-by-test",
        "evidence": "plain file, sha256 in this document"
      }
    ],
    "mcp clients": [
      {
        "command": "claude mcp add --transport http agent-economy-index https://index.agentexchange.work/mcp",
        "status": "documented-only",
        "evidence": "code.claude.com/docs/en/mcp; endpoint verified live with a JSON-RPC initialize on 2026-09-30"
      },
      {
        "command": "codex mcp add agent-economy-index --url https://index.agentexchange.work/mcp",
        "status": "documented-only",
        "evidence": "learn.chatgpt.com/docs/extend/mcp (Codex CLI)"
      },
      {
        "command": "https://skills.agentexchange.work/mcp.json -> paste into .cursor/mcp.json or .mcp.json",
        "status": "documented-only",
        "evidence": "cursor.com/docs/context/mcp and code.claude.com/docs/en/mcp use the same mcpServers shape"
      }
    ]
  },
  "verification": {
    "local_dumb_http_test": "2026-09-30: bare repo served by a static Node server; git 2.50.1 clone (loose and packed), pull, --branch main, --branch <tag>, --filter=blob:none (filter ignored) OK; --depth 1 refused with 'dumb http transport does not support shallow capabilities', which is why the Worker also speaks smart HTTP v2.",
    "live": "verify.mjs re-clones (full, shallow, tag, protocol v0, the exact Claude Code and OpenClaw flag sets) and re-hashes every file after each deploy; results in NOTES.md in the source tree."
  },
  "discovery": {
    "well_known": "https://skills.agentexchange.work/.well-known/agentexchange-skills.json",
    "llms_txt": "https://skills.agentexchange.work/llms.txt",
    "index": "https://skills.agentexchange.work/index.json"
  },
  "files": {
    "/.claude-plugin/marketplace.json": {
      "sha256": "112d14fcdd61630c0ddc5bb9852a97b5fd77169f475826c03845f1a9a29b7870",
      "bytes": 1854,
      "type": "application/json; charset=utf-8"
    },
    "/LICENSE": {
      "sha256": "e200a462098e1ea82d9c69a587d4084889118e33df7b8208ff23c5bcf3f41027",
      "bytes": 1092,
      "type": "text/plain; charset=utf-8"
    },
    "/README.md": {
      "sha256": "26c7df8cd825dc98700e37a060fe8dc418120c9d5bdd4f78c321eb461781c962",
      "bytes": 2496,
      "type": "text/markdown; charset=utf-8"
    },
    "/agent-readiness-grade.git/HEAD": {
      "sha256": "28d25bf82af4c0e2b72f50959b2beb859e3e60b9630a5e8c603dad4ddb2b6e80",
      "bytes": 21,
      "type": "text/plain; charset=utf-8"
    },
    "/agent-readiness-grade.git/info/refs": {
      "sha256": "314bb08e856af9eb985333b4ee76f78f8c03aa1cb788d3b8938de4e634e5579f",
      "bytes": 115,
      "type": "text/plain; charset=utf-8"
    },
    "/agent-readiness-grade.git/objects/info/packs": {
      "sha256": "82f2faab2cdf5bd6fea54e18323cb1862ff2a8d2a9de241a2ee05242feeff8e9",
      "bytes": 54,
      "type": "text/plain; charset=utf-8"
    },
    "/agent-readiness-grade.git/objects/pack/pack-efe5b1ba39c9aba54b9c2b9cb78f4e19c4436287.idx": {
      "sha256": "10454df813873f59849333c22495f539c3b7b6c3143b0e94b588315206c83a6d",
      "bytes": 1212,
      "type": "application/x-git-packed-objects-toc"
    },
    "/agent-readiness-grade.git/objects/pack/pack-efe5b1ba39c9aba54b9c2b9cb78f4e19c4436287.pack": {
      "sha256": "f537cbc2333b166351c6514f9803039da7f3e7750f2899bac3742930d4965416",
      "bytes": 3162,
      "type": "application/x-git-packed-objects"
    },
    "/agent-readiness-grade.git/refs/heads/main": {
      "sha256": "3d49248f8c8af2dae36857f75d478f14f98aaf4a45ace3bd1b784a6a43874507",
      "bytes": 41,
      "type": "text/plain; charset=utf-8"
    },
    "/agent-readiness-grade.git/refs/tags/v1.0.0": {
      "sha256": "3d49248f8c8af2dae36857f75d478f14f98aaf4a45ace3bd1b784a6a43874507",
      "bytes": 41,
      "type": "text/plain; charset=utf-8"
    },
    "/agentexchange-skills.git/HEAD": {
      "sha256": "28d25bf82af4c0e2b72f50959b2beb859e3e60b9630a5e8c603dad4ddb2b6e80",
      "bytes": 21,
      "type": "text/plain; charset=utf-8"
    },
    "/agentexchange-skills.git/info/refs": {
      "sha256": "d290f4283fbd3d258d13c181a45fbad86b275a0a457a1b7c58d4869bcbcdc6d1",
      "bytes": 115,
      "type": "text/plain; charset=utf-8"
    },
    "/agentexchange-skills.git/objects/info/packs": {
      "sha256": "dd35e0da12b415f2d282af6f6ca70e27f8cfc107ed1a1e8d1b55871f250ac08b",
      "bytes": 54,
      "type": "text/plain; charset=utf-8"
    },
    "/agentexchange-skills.git/objects/pack/pack-4b05de50ad38a1d0383e9de461a0c6221dcf9745.idx": {
      "sha256": "c411eb3514c07287e2597cb582184babc3e38e013b69e52f081403208c0168f9",
      "bytes": 1632,
      "type": "application/x-git-packed-objects-toc"
    },
    "/agentexchange-skills.git/objects/pack/pack-4b05de50ad38a1d0383e9de461a0c6221dcf9745.pack": {
      "sha256": "a8b4323f168b6d7c98f86677d9554396c6a58fdd3b78656f67226590b2cf9b6f",
      "bytes": 12910,
      "type": "application/x-git-packed-objects"
    },
    "/agentexchange-skills.git/refs/heads/main": {
      "sha256": "b2cbaff478e1333179e9a91f1e05b0380ce826dc8d91faa6040e7b2797232106",
      "bytes": 41,
      "type": "text/plain; charset=utf-8"
    },
    "/agentexchange-skills.git/refs/tags/v1.0.0": {
      "sha256": "b2cbaff478e1333179e9a91f1e05b0380ce826dc8d91faa6040e7b2797232106",
      "bytes": 41,
      "type": "text/plain; charset=utf-8"
    },
    "/agentexchange-web-tools.git/HEAD": {
      "sha256": "28d25bf82af4c0e2b72f50959b2beb859e3e60b9630a5e8c603dad4ddb2b6e80",
      "bytes": 21,
      "type": "text/plain; charset=utf-8"
    },
    "/agentexchange-web-tools.git/info/refs": {
      "sha256": "99e66f955c5d6ee9a04c0b690bf1b58a6182fb73aa602f3725859c154e108aeb",
      "bytes": 115,
      "type": "text/plain; charset=utf-8"
    },
    "/agentexchange-web-tools.git/objects/info/packs": {
      "sha256": "52649d493a756efe702bf9daf0b260cbfb432aab76f3e2de86fda123d9395c6b",
      "bytes": 54,
      "type": "text/plain; charset=utf-8"
    },
    "/agentexchange-web-tools.git/objects/pack/pack-c2e417aead02a043f1cecce2f3f7724d7c4eb05c.idx": {
      "sha256": "06f01c3be03e1ef2cd9a29ee19d6dfa71d5400b955a016e2fb94ad0428a21feb",
      "bytes": 1212,
      "type": "application/x-git-packed-objects-toc"
    },
    "/agentexchange-web-tools.git/objects/pack/pack-c2e417aead02a043f1cecce2f3f7724d7c4eb05c.pack": {
      "sha256": "1a48d71af7f7e6e66bc931eefb7ffde47caf3ba4c6b5f7b83847f7c7bf068efe",
      "bytes": 1991,
      "type": "application/x-git-packed-objects"
    },
    "/agentexchange-web-tools.git/refs/heads/main": {
      "sha256": "c207c49a396860c3dfd86a6f713b6a4a79efa84208307b9a07f9d661a7a9ea5d",
      "bytes": 41,
      "type": "text/plain; charset=utf-8"
    },
    "/agentexchange-web-tools.git/refs/tags/v1.0.0": {
      "sha256": "c207c49a396860c3dfd86a6f713b6a4a79efa84208307b9a07f9d661a7a9ea5d",
      "bytes": 41,
      "type": "text/plain; charset=utf-8"
    },
    "/archives/agent-readiness-grade-1.0.0.zip": {
      "sha256": "87abcdfd9c24272477222309afce467716c4935a684ea02bf069dcfaa5d59bc3",
      "bytes": 3130,
      "type": "application/zip"
    },
    "/archives/agentexchange-skills-1.0.0.zip": {
      "sha256": "7c125a3a4d59222a8da33d0281c9e36b37525efe06cfeb4e682e8dcb58c5fc95",
      "bytes": 13663,
      "type": "application/zip"
    },
    "/archives/agentexchange-web-tools-1.0.0.zip": {
      "sha256": "d7508d090c67551aff8a85502400a883b7ba5345839cc14b85543f3a83805967",
      "bytes": 1994,
      "type": "application/zip"
    },
    "/archives/compliance-desk-1.0.0.zip": {
      "sha256": "f2f5e31dac3e2d98d7bddc141341082824d0ac863228282906d0c6d7d5e95a6f",
      "bytes": 5010,
      "type": "application/zip"
    },
    "/compliance-desk.git/HEAD": {
      "sha256": "28d25bf82af4c0e2b72f50959b2beb859e3e60b9630a5e8c603dad4ddb2b6e80",
      "bytes": 21,
      "type": "text/plain; charset=utf-8"
    },
    "/compliance-desk.git/info/refs": {
      "sha256": "840b820d327fc51b02700c89a39e3b7caebdea6617ba7199e2388923cdcf0ebb",
      "bytes": 115,
      "type": "text/plain; charset=utf-8"
    },
    "/compliance-desk.git/objects/info/packs": {
      "sha256": "297a70b0e387768f87bbd4dbb9f14ac4861afac64cd664c39cb3111bbaf59372",
      "bytes": 54,
      "type": "text/plain; charset=utf-8"
    },
    "/compliance-desk.git/objects/pack/pack-a7e083a9b572a7ef70951aacb22bc08f942e3134.idx": {
      "sha256": "8390ce64a8e52d300cea8c9f9d76e69316b29e433d0ac37332f3af40582f1c92",
      "bytes": 1212,
      "type": "application/x-git-packed-objects-toc"
    },
    "/compliance-desk.git/objects/pack/pack-a7e083a9b572a7ef70951aacb22bc08f942e3134.pack": {
      "sha256": "c08e42e8ae65c1e9b231e4deeac90a5621e40d9a903ebb855e02b528aa004da4",
      "bytes": 5049,
      "type": "application/x-git-packed-objects"
    },
    "/compliance-desk.git/refs/heads/main": {
      "sha256": "6ed259215ea15d74424ac4942d77de4d49058e92127dc3ed6a8bd9556a82a0aa",
      "bytes": 41,
      "type": "text/plain; charset=utf-8"
    },
    "/compliance-desk.git/refs/tags/v1.0.0": {
      "sha256": "6ed259215ea15d74424ac4942d77de4d49058e92127dc3ed6a8bd9556a82a0aa",
      "bytes": 41,
      "type": "text/plain; charset=utf-8"
    },
    "/marketplace.json": {
      "sha256": "b972d4109e02ef0e355832e2b482cd7ff7c3d30651531c889dab1d380dd8dc7c",
      "bytes": 2584,
      "type": "application/json; charset=utf-8"
    },
    "/mcp.json": {
      "sha256": "5aaf60db5e1c9e0a3cc07f7b897ad91d79aeb1aecf8745b8d75bcfa0aa6f9085",
      "bytes": 389,
      "type": "application/json; charset=utf-8"
    },
    "/skills/agent-readiness-grade/.claude-plugin/plugin.json": {
      "sha256": "7a9c88d38c624b1c6f3511d6b31d030954d5e5d35cd8d25a114a8e99201f7345",
      "bytes": 711,
      "type": "application/json; charset=utf-8"
    },
    "/skills/agent-readiness-grade/SKILL.md": {
      "sha256": "bed27cc4dedd9fc395b1504184b45050c7eee513ef6e7fd82099c60c9f43fc34",
      "bytes": 5117,
      "type": "text/markdown; charset=utf-8"
    },
    "/skills/agentexchange-web-tools/.claude-plugin/plugin.json": {
      "sha256": "c2dc6b1302588c3d690e349dac6275b7082402c699a8368b1db8fb4aabb9e712",
      "bytes": 588,
      "type": "application/json; charset=utf-8"
    },
    "/skills/agentexchange-web-tools/SKILL.md": {
      "sha256": "1813f35de1591bfa555c0d61713a66fc4be7cc3794afdf4c207167574315e754",
      "bytes": 2994,
      "type": "text/markdown; charset=utf-8"
    },
    "/skills/compliance-desk/.claude-plugin/plugin.json": {
      "sha256": "95493ad345286cb51d9e281e5a90f1215790d742dd2fd98f5952026f300e2c59",
      "bytes": 669,
      "type": "application/json; charset=utf-8"
    },
    "/skills/compliance-desk/SKILL.md": {
      "sha256": "d782fd1020e41c9131c1dcaf4f50be72e7472df5d923b0f440185e10566fd61b",
      "bytes": 9988,
      "type": "text/markdown; charset=utf-8"
    }
  }
}
