deed.page

Blog · 2026-10-21

Install the deed.page agent skill in Claude Code, Codex, Cursor, and Hermes

There are two ways to give an agent deed.page. The MCP server at https://deed.page/mcp adds publishing as tools. The deed.page skill is a single SKILL.md file that tells the agent which curl command to run when someone says "publish this", "host this report", or "give me a link". The skill needs no connector setup. It runs in any agent that can read skill files and has a shell.

The skill is MIT-licensed and public at github.com/f-o-x11/deed-page-skill. Every command below was run on October 21, 2026, against production. The test sites were deleted afterwards.

Install with one command

The skills.sh installer reads the repo and copies the skill into the folder your agent loads skills from. Run it from your project directory:

npx skills add f-o-x11/deed-page-skill -a claude-code

That writes ./.claude/skills/deed-page/SKILL.md. Choose a different agent with -a:

npx skills add f-o-x11/deed-page-skill -a cursor      # ./.agents/skills/deed-page
npx skills add f-o-x11/deed-page-skill -a codex -g    # ~/.agents/skills/deed-page

-g installs it for every project instead of just the current one. -a hermes-agent targets Hermes Agent. Leave out -a and the installer asks which agents you use. Before it copies anything, the installer prints a security summary for the skill. The file it installs is the same one that lives in the repo.

Install without npx

If you would rather not run an installer, the skill is just one file. Copying it by hand works the same way:

git clone --depth 1 https://github.com/f-o-x11/deed-page-skill /tmp/deed-page-skill
mkdir -p ~/.claude/skills && cp -r /tmp/deed-page-skill/skills/deed-page ~/.claude/skills/

deed.page also serves a longer version of the skill at https://deed.page/skill.md. It covers the full API, including versions, merge uploads, and domains. The install command for it is listed in https://deed.page/.well-known/skills/index.json:

mkdir -p ~/.claude/skills/deed-page && curl -fsSL https://deed.page/skill.md -o ~/.claude/skills/deed-page/SKILL.md

Pick one of the two. The repo version is short and covers publishing. The served version is the full reference.

What the agent runs

Once the skill is installed, asking the agent to "put this report online" makes it pick a slug with a random suffix and send one request:

SLUG="report-$(head -c4 /dev/urandom | od -An -tx1 | tr -d ' \n')"
curl -sS -T report.html "https://deed.page/v1/sites?slug=$SLUG&ref=skill-gh" \
  -H "X-Client: Claude Code"

The response holds the live URL and, on that first publish only, a token:

{"ok":true,"url":"https://report-4fcfd126.deed.page/","slug":"report-4fcfd126",
 "version":"v1","permanent":true,"plan":"free","token":"deed_tok_..."}

The skill tells the agent to answer with url and keep the token in DEEDPAGE_TOKEN for the session. deed.page stores only a SHA-256 of that token, so it is the one key that can update or delete the site. ?ref=skill-gh records that the publish came from the skill and does not change the result. X-Client names the agent.

For a folder, the skill sends a tarball with the same token:

tar -C ./site -czf /tmp/site.tar.gz .
curl -sS -T /tmp/site.tar.gz "https://deed.page/v1/sites?slug=$SLUG&ref=skill-gh" \
  -H "X-Client: Claude Code" -H "Authorization: Bearer $DEEDPAGE_TOKEN"

That returned "version":"v2" with both files live. When the user asks for a delete, the agent sends curl -sS -X DELETE "https://deed.page/v1/sites/$SLUG" -H "Authorization: Bearer $DEEDPAGE_TOKEN", which returns {"ok":true,"deleted":"<slug>"}.

The same token works over MCP

Skill and MCP aren't an either/or choice. The skill's token also works on the MCP server, so an agent can publish with curl and later manage that site through tools. Here is a raw MCP call that publishes v3 of the same slug:

curl -sS https://deed.page/mcp \
  -H 'content-type: application/json' \
  -H 'accept: application/json, text/event-stream' \
  -H "Authorization: Bearer $DEEDPAGE_TOKEN" \
  -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"publish_site",
       "arguments":{"slug":"'"$SLUG"'","files":{"index.html":"<h1>v3 via MCP</h1>"}}}}'

The result came back with "version": "v3", and the site served the new page. tools/list currently returns 24 tools. Besides publishing, they cover versions and restore, custom domains, analytics, passwords, webhooks, token rotation, and set_listing for the opt-in gallery at deed.page/explore. Every publish response carries "listing":{"listed":false} until the agent opts in with listed: true plus a category, title, and description.

Skill or MCP?

Limits

The skill uses the same Free plan as any other client: 25 sites, 25 MB per site, 60 publishes an hour, and 4 MB per request. There's no signup. Free sites are public, so the skill tells the agent never to publish secrets. If your agent also needs an email address of its own, Cooper Email (cooperemail.com) comes from the same team at Avatar 8 LLC.