agentleFS
joris887joris887/exosuit/.claude/skills/deploy/SKILL.md

deploy

Skill9 starsChanged 3 months agoMITView on GitHub

Deploy the project to a hosting platform. Detects deployment configuration, runs pre-deploy checks, and guides first-time setup.

  • Pipes a download into a shell
  • Installs packages
  • Commits and pushes

155 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use pm-discovery, qa-phase and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • ww-w-aiSkill

    pm-discovery

    PM Agent Team - Automated product discovery, strategy, and PRD generation. Runs PM analysis workflow to produce comprehensive PRD before PDCA Plan phase.

    Also in 3 projects that use this

  • ww-w-aiSkill

    qa-phase

    Run QA tests at various levels (L1-L5) for features under PDCA management. Integrates with MCP tools to execute structured test plans.

    Also in 3 projects that use this

  • +10 more from ww-w-ai

The file

We split this skill into the rules it gives an agent

5 rules. 0 are common, 4 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 139 edited versions we read keep these.

  • 4

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Run the verify-clean-git-state micro-component from .claude/prompts/verify-clean-git-state.md.

    line 28
  2. Distinctive:

    Use the specified platform.

    line 50
  3. Distinctive:

    Wait for user choice, then guide platform setup (generate config file, install CLI if needed).

    line 79
  4. Distinctive:

    Check if the platform's CLI tool is installed:

    line 85
  5. Distinctive:

    Always show the live URL: after successful deployment

    line 168

“Common” is measured: kept by at least 6 in 10 of the 139 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

deploy

Deploy the project to a hosting platform.

Arguments

  • $1 (optional) — platform name override (e.g., vercel, fly, railway)
  • --dry-run — show what would happen without executing

Step 1: Pre-Deploy Checks

Run the verify-clean-git-state micro-component from .claude/prompts/verify-clean-git-state.md.

Run the discover-commands micro-component from .claude/prompts/discover-commands.md.

<IF condition="test command configured"> Run tests: ```bash # Run the project's test command ``` <IF condition="tests fail"> **HALT** — "Tests are failing. Fix them before deploying — deploying broken code risks downtime for your users." Present the failure output and suggest `/debug-session` if needed. </IF> </IF>

Check git state:

  • Warn if not on the default branch (but allow if user confirms)
  • Warn if there are uncommitted changes

Step 2: Detect Platform

<IF condition="$1 provided (platform override)"> Use the specified platform. Skip auto-detection. </IF> <ELSE> Detect deployment configuration by checking for platform-specific files:
File / DirectoryPlatform
vercel.json or .vercel/Vercel
netlify.toml or _redirectsNetlify
fly.tomlFly.io
railway.json or railway.tomlRailway
render.yamlRender
app.yaml (with runtime: or env:)Google App Engine
Procfile + app.jsonHeroku
amplify.yml or amplify/AWS Amplify
Dockerfile + (docker-compose.yml or cloud config)Container deployment
<IF condition="no platform detected"> Present options: ``` No deployment configuration detected. Where would you like to deploy?
  1. Vercel — best for Next.js, React, static sites. Free tier available.
  2. Railway — best for full-stack apps with databases. Starts at $5/month.
  3. Fly.io — best for apps needing global distribution. Free tier for small apps.
  4. Netlify — best for static sites and Jamstack. Free tier available.
  5. Render — best for background workers and cron jobs. Free tier available.
  6. Other — I'll help you set up a Dockerfile for any platform.
Wait for user choice, then guide platform setup (generate config file, install CLI if needed).
</IF>
</ELSE>

## Step 3: Verify CLI Tool

Check if the platform's CLI tool is installed:

| Platform | CLI | Check | Install |
|---|---|---|---|
| Vercel | `vercel` | `vercel --version` | `npm i -g vercel` |
| Netlify | `netlify` | `netlify --version` | `npm i -g netlify-cli` |
| Fly.io | `flyctl` | `flyctl version` | `curl -L https://fly.io/install.sh \| sh` |
| Railway | `railway` | `railway --version` | `npm i -g @railway/cli` |
| Render | — | N/A (git push deploy) | N/A |
| Heroku | `heroku` | `heroku --version` | `brew install heroku/brew/heroku` or `npm i -g heroku` |

<IF condition="CLI not installed">
Show install command and ask user to install. If they can't install, provide manual deployment instructions:
"You can also deploy by pushing to your platform's git remote. Here's how: [platform-specific git push instructions]"
</IF>

## Step 4: Deploy

<IF condition="--dry-run">
Show what would be executed without running it:

Dry run — would execute: Platform: [name] Command: [deploy command] Branch: [current branch] Tests: [pass count]

Stop here.
</IF>

Execute the deployment:

| Platform | Command |
|---|---|
| Vercel | `vercel --prod` (or `vercel` for preview) |
| Netlify | `netlify deploy --prod` |
| Fly.io | `flyctl deploy` |
| Railway | `railway up` |
| Render | `git push render main` |
| Heroku | `git push heroku main` |

Monitor output for:
- Deployment URL (capture and display prominently)
- Build errors (present clearly with suggested fixes)
- Warnings (surface but don't block)

## Step 5: Report

```markdown
## Deployment Complete

**URL:** https://your-app.vercel.app
**Platform:** Vercel
**Branch:** main
**Tests:** 47 passing before deploy

### What Happened
- Built the project successfully
- Deployed to production
- Live at the URL above

### Next Time
Run `/deploy` again to redeploy after changes.
<IF condition="deployment failed"> ```markdown ## Deployment Failed

Platform: [name] Error: [error message]

What to Try

  • [Specific suggestion based on error]
  • [Platform documentation link if known]
  • Run /debug-session "[error]" for deeper investigation
</IF>

## Rules

- **Never deploy from a dirty working tree** without explicit user confirmation
- **Never deploy with failing tests** without explicit user confirmation
- **Always show the live URL** after successful deployment
- **Graceful degradation** — if CLI is missing, show manual instructions instead of failing
- **No forced deploys** — if something looks wrong, warn and ask before proceeding
- This skill is READ + BASH only — no file edits. Deployment config generation happens in Step 2 only when no config exists.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.