writing-skills
writing-skills
Use when creating new skills, editing existing skills, or verifying skills work before deployment
dropthehassle-publishPublish a finished static site to a free HTTPS link with DropTheHassle: build it if needed, deploy, hand over the claim link, verify it is live, never spend money.
Independent GitHub snapshot · Automated classification · Original documentation governs
DropTheHassle (https://dropthehassle.com) hosts finished static files (HTML, CSS, JS, images) on a
free name.dropthehassle.app link with HTTPS, and can later put the same site on a real domain
with no DNS editing. A first deploy needs no account: it returns a live URL and a claim link. This
skill makes the agent check that the folder is a finished build, deploy it with the CLI or MCP
server, give the human the claim link, and verify the site is live. No DropTheHassle tool can pay,
and the agent must never try to. Adapted from the official skill, which also ships a local
preflight script and longer references: https://github.com/bosmdavid-gif/dropthehassle-skill
index.html, or a Vite, Astro, Create React
App, Nuxt generate, Next.js output: 'export' or TanStack Start SPA build.index.html at the top: that is the site.build script or a vite.config.*, next.config.*, astro.config.* or
nuxt.config.*: look for index.html in dist/, build/, out/ or .output/public/. If
there is none, install with the lockfile's package manager and run the build first. Next.js
needs output: 'export' (writes out/).index.html that loads /src/main.tsx or another .ts, .tsx, .jsx or /src/ script
is a dev entry. Build it.Before the site is claimed: 25 MB and 1,000 files, and no executables or archives
(.exe .msi .apk .dmg .scr .bat .zip .rar .7z .iso). Signed in: 100 MB and 5,000 files. One
network can create 5 new unclaimed sites per hour and 20 per day. node_modules, .git and
hidden files are left out, except .well-known.
CLI, run on the project folder after the build (or on the plain site folder):
npx -y dropthehassle deploy .
It prints the live URL and a claim link, and writes .dropthehassle.json in that folder so the
next deploy from it updates the same site. That file holds the site's key: keep it out of git.
--login puts the site on the human's account after a browser approval; --slug name only works
with --login; --code XXXX-XXXX uses a 15-minute dashboard code for an existing site.
MCP, in Claude Code:
claude mcp add dropthehassle -- npx -y dropthehassle-mcp
Then call deploy_site with folder set to the absolute path. The hosted connector
https://dropthehassle.com/mcp cannot read the disk: send files inline as
{path, content, encoding} (utf8 or base64). Account tools need the human's token from
dropthehassle.com, menu, Connect your AI, set as DTH_TOKEN by the human in their own config.
Tell the human the live URL and the claim link, and that the claim link works for 7 days. An unclaimed site can be removed after that. Then check:
curl -s "https://dropthehassle.com/api/v1/check?host=NAME.dropthehassle.app"
outcome should be live and secure true. The same check is on
https://dropthehassle.com/is-my-website-down.
Check names with the MCP search_domain tool or
curl -s "https://dropthehassle.com/api/v1/domains/search?q=NAME.com", and report only names the
answer marks available, with the price it returned. Buying is the human's step: after they claim
the site, get_checkout_link returns a checkout.stripe.com link for them to open and pay.
User: Put this site online.
Agent: No dist/ yet, so runs npm install && npm run build, then npx -y dropthehassle deploy .
Reports: Live at https://yourname.dropthehassle.app, plus the claim link (7 days).
Runs the live check: outcome "live", secure true.
User: Is there a .com for it?
Agent: Checks three names with search_domain, lists the available ones with the returned price,
and asks which one they want. It does not create a payment link until they say so.
dist/ does not delete the link file.checkout.stripe.com.choose_link) without an explicit yes for that exact name.set_backend tool (account token).npx dropthehassle status and rollback need a folder linked with --login or --code.dropthehassle-mcp 0.4.2, search_domain needs a token; the hosted connector and the
HTTP route above work without one..env are left out, but secrets in JS bundles are not..dropthehassle.json contains a site key. Never commit or publish it.