Skills / Deploy anywhere
Deploy anywhere
Put an existing project online with a free host. GitHub Pages, Cloudflare Pages, or Netlify, verified live. Use when they have files but no URL, say "how do I put this online", or want a site off localhost.
Use this skill. Nothing to install.
Don't have an agent? · Raw file: skills/deploy-anywhere.md
Watch the first two minutes
This is how a session goes, first deploy included. Click through it.
Scripted example of a real session.
Never deployed anything before?
Then the word probably sounds bigger than the act. For a static site, deploying means a host copies your files and serves them at a URL, and this skill has you pick one host, ship on it, and move on. No comparing hosts for a week: all three options are free at this scale, switching later is cheap, and a failed deploy costs nothing but the minute it takes to read the log. Projects that are one deploy away from being real:
What you end up with
A URL, and proof that pushing updates it. The whole loop fits on one screen:
$ git push 1 Enumerating objects: 5, done. To github.com:username/weather-diary.git e7c21aa..b3f90d2 main -> main pages build and deployment 2 build ok 41s deploy ok live at: username.github.io/weather-diary/ phone check: loads, readable 3
- Push is the trigger. On every host here, the deploy starts when the repo changes. There is no separate upload step to remember, which is exactly why the loop sticks.
- The log is where answers live. When a deploy fails, this section names the reason, and the skill has you read it together instead of guessing. Wrong output folder and case-sensitive filenames cover most first failures.
- Done means opened on a phone. A URL you have only seen on your own laptop isn't verified. The skill also has you write the URL down somewhere you'll find it again.
Questions people actually ask
Is hosting really free?
At personal-site scale, yes, with no expiry: GitHub Pages is free, Cloudflare Pages has a generous free tier, and Netlify's free tier covers a site like this comfortably. The paid tiers of those services exist for traffic and features a first site doesn't have.
Which host should I pick?
If you've done ship-on-github, GitHub Pages, because it needs zero new accounts. Cloudflare Pages is a good pick if you may want its free analytics later, and Netlify can take a drag-and-drop folder if you want a no-git one-off. The skill's actual rule is stronger than any of that: pick one, ship, move on.
What if the deploy fails?
You read the deploy log, which names the problem. In practice a first failure is almost always a wrong build-output folder or a filename whose case differs from the link pointing at it. Your files are untouched either way; fix and push again.
My project has a build step. Does that change things?
Only slightly: the host asks for the build command and the output folder, and you give it both. For plain HTML you leave the command blank and point at the root. The skill checks which case you're in before wiring anything.
Can I host a backend or database this way?
No, and the skill is honest about the boundary: these hosts serve static files. When your project needs a server or shared data, backend-basics and database-basics are the next skills up; everything you learned here still applies to the front half.
Where to go from here
Site live at a URL? Make the URL earn more:
Curious? Read the full skill — the exact instructions your agent gets
--- name: deploy-anywhere category: web description: Put an existing project online with a free host. GitHub Pages, Cloudflare Pages, or Netlify, verified live. Use when they have files but no URL, say "how do I put this online", or want a site off localhost. --- # deploy-anywhere Take a static project that already exists on someone's machine and getting it served at a public URL, free. If they have no GitHub account or repo yet, run ship-on-github first — every option below is easier with the project in a repo. ## Picking a host Lay out the three and let them choose; all are free at this scale. - GitHub Pages: zero new accounts if ship-on-github is done. Deploys from the repo. Best default for a first site. - Cloudflare Pages: connects to the GitHub repo, deploys on every push, gives a `*.pages.dev` URL. Good if they may want Cloudflare's free analytics later (see add-analytics). - Netlify: connects to the repo the same way, or accepts a drag-and- drop of the folder for a no-git one-off. `*.netlify.app` URL. One host is enough. Do not set up two "to compare" — pick, ship, move on. Switching later is cheap. ## Wiring it 1. Confirm the project is truly static: an `index.html` at the root (or a build output folder). If there is a build step, note the command and output folder — the host will ask for both. 2. They create the account and connect it themselves; you narrate each screen in one line. Never handle their password. 3. GitHub Pages: repo Settings → Pages → deploy from branch → main. Cloudflare/Netlify: add the repo, set build command and output directory (blank command, root directory for plain HTML). 4. First deploy runs. If it fails, read the deploy log together — the error names the fix, usually a wrong folder or a case-sensitive filename. 5. Prove the loop: change one visible word, commit, push, watch the live URL update. Once is enough if they did ship-on-github; otherwise do it twice. ## Done - A live URL on the host they chose, opened on their phone - A push (or drag-drop) visibly updates the site - They can say where the files live, what triggers a deploy, and where to read the log when one fails - The URL is written down somewhere they will find it again Natural next steps: custom-domain to replace the free subdomain, add-analytics to see whether anyone visits.





