deed-page – skill Khác cho agent AI
Xuất bản file HTML hoặc thư mục tĩnh lên URL https://<slug>.deed.page/ công khai, vĩnh viễn chỉ với một lệnh curl. Không cần tài khoản; lần xuất bản đầu tiên trả về token để cập nhật.
Cài skill deed-page bằng một lệnh
Chọn công cụ bạn đang dùng, copy lệnh và dán vào terminal. Skill sẽ nằm trong thư mục skills của công cụ đó và sẵn sàng dùng ở phiên làm việc tiếp theo.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/deed-page-e5954.tgz | tar xz -C ~/.claude/skills
Gọi trong Claude Code: /deed-page – rồi mô tả công việc bạn muốn làm.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/deed-page-e5954.tgz | tar xz -C ~/.codex/skills
Gọi trong Codex: $deed-page – rồi mô tả công việc bạn muốn làm.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/deed-page-e5954.tgz | tar xz -C ~/.hermes/skills
Gọi trong Hermes Agent: /deed-page – rồi mô tả công việc bạn muốn làm.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/deed-page-e5954.tgz | tar xz -C ~/.deepcode/skills
Gọi trong DeepSeek: /deed-page – rồi mô tả công việc bạn muốn làm.
Nội dung SKILL.md
Nội dung SKILL.md gốc bằng tiếng Anh.
deed.page publish
Overview
deed.page hosts static files (HTML, CSS, JS, images) at https://<slug>.deed.page/. A publish
is one curl request: no account, API key, email code, or claim link. The agent picks the slug,
and the site stays up until someone deletes it. The first publish returns a token, which is the
only key that can update or delete that site. Adapted from the official skill:
https://github.com/f-o-x11/deed-page-skill
When to Use This Skill
- Use when the user asks to publish, host, deploy, share online, "put this online" or "give me a
link" for something the agent generated: an HTML report, dashboard, slide deck, landing page,
prototype, game, or docs folder.
- Use when the user wants deed.page, or wants a link without creating an account and has not
picked another host.
- Use when the agent runs unattended and cannot ask a human for a code or a click.
- Do not use for secrets or private data: Free sites are public.
- Do not use for apps that need a server at runtime (SSR, API routes, databases). deed.page serves
static files only.
How It Works
Step 1: Pick a slug
Lowercase letters, digits and hyphens, 1 to 63 characters, no leading or trailing hyphen. Add a
random suffix so the name is unlikely to be taken. hello, my-page, my-app and my-site are
reserved.
set -e
UPLOAD_DIR="$(mktemp -d)" || exit 1
SLUG="report-$(head -c4 /dev/urandom | od -An -tx1 | tr -d ' \n')"
REF="${DEED_REF:-skill-agentic-awesome-skills}"REF is stored for attribution only and does not change the publish. Set the X-Client header
to the agent's name, for example Claude Code, Codex or Cursor.
Step 2: Confirm what goes public
Before the first publish, tell the user the file or folder will be public at a guessable URL, and
check that it holds no .env files, keys, tokens or personal data.
Step 3: Publish
Do not expose the returned token in shared tool logs. Capture responses into an owner-only private file, parse only public status/URL fields and retain the token through an approved secret mechanism. Build the optional authorization header as a protected curl config file rather than shell word-splitting an expanded string:
umask 077
: > "$UPLOAD_DIR/headers.conf"
if [ -n "${DEEDPAGE_TOKEN:-}" ]; then
case "$DEEDPAGE_TOKEN" in *[!A-Za-z0-9._~-]*) echo "Unexpected token characters" >&2; exit 1;; esac
printf 'header = "Authorization: Bearer %s"\n' "$DEEDPAGE_TOKEN" > "$UPLOAD_DIR/headers.conf"
fiThe upload snippets below illustrate the request; add protected response capture before running them. Verify current provider limits, privacy and retention; “permanent” is a provider claim, not an availability guarantee.
A single HTML file is stored as index.html:
curl -sS -T report.html "https://deed.page/v1/sites?slug=$SLUG&ref=$REF" \
-H "X-Client: <agent name>" \
--config "$UPLOAD_DIR/headers.conf"A folder: its contents go to the site root, so it should contain index.html:
tar -C ./site -czf "$UPLOAD_DIR/site.tar.gz" . &&
curl -sS -T "$UPLOAD_DIR/site.tar.gz" "https://deed.page/v1/sites?slug=$SLUG&ref=$REF" \
-H "X-Client: <agent name>" \
--config "$UPLOAD_DIR/headers.conf"A successful response:
{"ok":true,"url":"https://<slug>.deed.page/","slug":"<slug>","version":"v1","permanent":true,"token":"<returned once>"}Step 4: Answer the user
- Reply with the
urlfield. - The first publish returns
tokenonce. Keep it in the session environment asDEEDPAGE_TOKEN
and tell the user to store it safely. Never write it into a published page, a commit or a log.
- To update the same site, run the same publish command with
DEEDPAGE_TOKENset. Each publish
is a new version; the Free plan keeps the last 10.
Step 5: Delete, only when asked
curl -sS -X DELETE "https://deed.page/v1/sites/$SLUG" -H "Authorization: Bearer $DEEDPAGE_TOKEN"Examples
Example 1: Share a generated report
User: Publish this report and give me the link.
Agent: Confirms report.html has no private data, picks q3-report-7f3a2c, runs the single-file
curl above, and replies with https://q3-report-7f3a2c.deed.page/ plus a note to save the
returned token if they want to update or delete the page later.Example 2: Update a built site
User: I changed the copy, push it again.
Agent: Rebuilds, tars dist/ and re-runs the folder publish with DEEDPAGE_TOKEN set. The URL stays
the same and the response shows version v2.Best Practices
- ✅ Publish the build output (
dist/,build/,out/), not the source folder. - ✅ Use a random slug suffix and keep the same slug for updates.
- ✅ Keep the token out of files, commits and published pages.
- ❌ Do not publish anything the user has not agreed to make public.
- ❌ Do not delete a site unless the user asks for that exact slug.
- ❌ Do not loop new publishes on errors; read the error code first.
Limitations
- Static files only. Server code does not run.
- Free plan: 25 sites, 25 MB per site, 60 publishes per hour, 4 MB per single request. Larger
sites use the manifest upload flow at https://deed.page/docs.
- A lost token cannot be recovered unless the owner attached an optional recovery email. The site
stays online either way.
- Cloud sandboxes that block outbound network access need
deed.pageallowed. - Errors: 400
slug_invalid(fix the slug), 409slug_taken(use thesuggestionfield or a
new suffix), 409 version_conflict (re-read and retry), 422 content_rejected (remove the
file, do not retry), 429 (wait retry_after seconds).
Security & Safety Notes
- Publishing puts files on the public internet. Confirm the folder contents first; hidden files
are not a safe place for secrets.
- The token can update and delete the site. Keep it in an environment variable for the session
and never print it into output that gets shared or committed.
DELETEis irreversible for the live site. Run it only on an explicit request.- The service is operated by Avatar 8 LLC. Abuse reports: https://deed.page/abuse
Common Pitfalls
- Problem: 409
slug_takenon the first publish.
Solution: Use the suggestion field from the response or generate a new suffix.
- Problem: The update created a new site instead of a new version.
Solution: Reuse the same SLUG and send DEEDPAGE_TOKEN as a Bearer token.
- Problem: The page loads but CSS is missing.
Solution: Tar the folder contents with tar -C ./site ... . so index.html is at the root.
Related Skills
@dropthehassle-publish- Static hosting with a claim link and custom domains.@cloudflare-pages- Deploy to the user's own Cloudflare account.@vercel-deployment- Deploy frameworks that need serverless functions.
Skill liên quan
- defi-protocol-templates – Triển khai các giao thức DeFi với template mang tính giáo dục cho staking, AMM…
- defi-yield-strategy-allocator – Sổ đăng ký phân bổ chiến lược yield đa vault tự động: mốc chuẩn APY, các mức rủi ro…
- scikit-survival – Xây dựng, đánh giá và kiểm toán các quy trình phân tích sống sót với dữ liệu bị kiểm…
- dei-dashboard – Bảng điều khiển đa dạng, công bằng và hòa nhập: chỉ số theo phòng ban và giai đoạn, giá…
- shop – Tìm kiếm danh mục sản phẩm, thanh toán, theo dõi đơn hàng, đổi trả.
- shopify – Truy vấn Shopify Admin/Storefront GraphQL API qua curl.
- org-health-diagnostic – Kiểm tra sức khỏe tổ chức liên chức năng, kết hợp tín hiệu từ tất cả các vai trò…
- wordpress-cors-xmlrpc-rce-chain – Dùng khi các hành vi đã được xác minh của WordPress liên quan đến CORS, XML-RPC, vai…