deploy
Skill3 starsChanged 30 days agoMITView on GitHub
Merge a shipped PR, verify the deployment, and monitor post-deploy health, with land and canary subcommands.
- Commits and pushes
155 other projects use a version of this.
Adopted by
Most recently taken up by
- pedrohcgs/claude-code-my-workflowtheir own version, first seen Nov 8, 2026
- KingKongRobotics/jumpertheir own version, first seen Nov 8, 2026
- stakeme-team/arc-agent-kittheir own version, first seen Nov 8, 2026
- dockhold/mcptheir own version, first seen Nov 8, 2026
- KhaiTrang1995/nexus-kbtheir own version, first seen Nov 8, 2026
- ribato22/vibechecktheir own version, first seen Nov 8, 2026
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-aiSkillpm-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-aiSkillqa-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
Other versions155 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 155
- ok-oldking/ok-wuthering-waves★ 8.6ksame name
- memovai/mimiclaw★ 5.8ksame name
- KingKongRobotics/jumper★ 3.1ksame name
- jhd3197/ServerKit★ 1.8ksame name
- pedrohcgs/claude-code-my-workflow★ 1.7ksame name
- mattmireles/gemma-tuner-multimodal★ 1.5ksame name
- microsoft/power-platform-skills★ 1.1ksame name
- jazzyalex/agent-sessions★ 941same name
- awslabs/agent-plugins★ 918same name
- patrickjaja/claude-desktop-extra★ 734same name
145 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository42 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- asideSkill
- assessmentSkill
- auditSkill
- benchmarkSkill
- brainSkill
- checkpointSkill
- cleanupSkill
- concise-modeSkill
- cross-modelSkill
- designSkill
- explainSkill
- fix-issueSkill
- ganSkill
- guardSkill
- hotfixSkill
- incidentSkill
- infraSkill
- interview-meSkill
- investigateSkill
- migrateSkill
- module-auditSkill
- morningSkill
- onboardSkill
- planSkill
- profileSkill
- pr-summarySkill
- readmeSkill
- refactorSkill
- researchSkill
- resolveSkill
- respondSkill
- retroSkill
- reviewSkill
- session-logSkill
- setupSkill
- shipSkill
- skill-newSkill
- spikeSkill
- tddSkill
- testSkill
- zoom-outSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
35 rules. 0 are common, 24 are distinctive, and 11 are very specific to this project.
0
Common
Most of the 139 edited versions we read keep these.
24
Distinctive
This author's own choices. Worth a look.
11
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Very specific: line 16
Run land once /ship pr produced a green, approved PR, and canary right after a deploy lands, whether this session merged it or not.
- Very specific: line 25
If no subcommand is given, default to land.
- Very specific: line 42
After /ship pr created a PR and CI is green.
- Distinctive: line 43
When a PR is approved and ready to merge.
- Distinctive: line 47
No arguments: detect the PR for the current branch.
- Distinctive: line 55
Identify the PR: If no argument, find the PR for the current branch:
- Very specific: line 59
If no gh is available, try glab.
- Distinctive: line 61
Pre-merge checks: Verify all conditions are met:
- Distinctive: line 70
If any blocker condition fails, stop and report the issue.
- Distinctive: line 72
Merge the PR: Default to squash merge:
- Very specific: line 76
If --no-delete is passed, omit --delete-branch.
- Very specific: line 77
If this is a dual-base PR, same change targeting two branches, omit --delete-branch per ../../rules/git-workflow.md.
- Distinctive: line 88
If no deployment mechanism is detected, ask the user how deployments work.
- Distinctive: line 90
Verify production health: After deployment completes:
- Very specific: line 91
If a health endpoint is known, from project docs or user input, curl it and verify 200.
- Distinctive: line 92
If the project has a public URL, verify it loads.
- Distinctive: line 93
Check for new error reports if monitoring is configured, such as through the Sentry MCP.
- Distinctive: line 96
Switch to local main: After successful deployment:
- Distinctive: line 131
When a deploy happened outside this session and the user wants a health check.
- Distinctive: line 132
When monitoring a risky change in the first minutes after deployment.
- Distinctive: line 136
No arguments: monitor for 5 minutes with checks every 60 seconds.
- Very specific: line 143
Establish baseline: If --baseline was passed or no prior baseline exists:
- Distinctive: line 149
Verify the health endpoint returns 200.
- Distinctive: line 150
Check for new errors in monitoring tools, Sentry MCP if available.
- Distinctive: line 152
Check browser console for JavaScript errors, if Playwright MCP is available and a frontend URL is known.
- Distinctive: line 191
Never merge a PR with failing CI checks.
- Distinctive: line 192
Never merge without approval unless the user explicitly requests it.
- Distinctive: line 194
All timestamps in GMT.
- Very specific: line 196
If rate limits are a concern for monitoring, use one-shot checks instead of continuous polling per ../../rules/git-workflow.md.
- Distinctive: line 197
Never access production databases or infrastructure directly.
- Distinctive: line 209
Stop and report when any pre-merge blocker row fails, and leave the PR unmerged.
- Distinctive: line 210
Stop and ask how deployments work when no row of the deployment detection table matches.
- Distinctive: line 211
Stop and present the rollback steps when the health endpoint returns anything other than 200 after the deploy.
- Very specific: line 212
Stop and switch to one-shot GH_TOKEN=$(gh auth token --user <account>) gh run view checks when GH_TOKEN=$(gh auth token --user <account>) …
- Very specific: line 220
After canary, the Canary Report carries a CLEAN or WARNING verdict with the interval count.
“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.
Files
Overview
Post-merge deployment and monitoring skill. Picks up where /ship leaves off: merging the PR, verifying the deployment succeeds, and monitoring production health afterward.
When to Use
Run land once /ship pr produced a green, approved PR, and canary right after a deploy lands, whether this session merged it or not.
Subcommand Routing
| Invocation | Action |
/deploy or /deploy land | Merge PR and verify deployment (default) |
/deploy canary | Post-deploy monitoring for errors and regressions |
If no subcommand is given, default to land.
Process
- Route the invocation per Subcommand Routing.
- For
land, run its Steps in order: identify, pre-merge checks, merge, wait for the deploy, health check, switch to local main. - For
canary, run its Steps: baseline, monitor loop, per-interval report, final report, rollback suggestion on issues. - End with the Output block for
landor the Canary Report forcanary.
land
Merge a PR, wait for the deployment pipeline, and verify production health.
When to use
- After
/ship prcreated a PR and CI is green. - When a PR is approved and ready to merge.
Arguments
- No arguments: detect the PR for the current branch.
- PR number or URL: target a specific PR.
--squash: squash merge (default).--merge: create a merge commit instead.--no-delete: keep the branch after merge.
Steps
- Identify the PR. If no argument, find the PR for the current branch:
If noGH_TOKEN=$(gh auth token --user <account>) gh pr view --json number,state,reviewDecision,statusCheckRollupghis available, tryglab. Prefix with the appropriate token perstandards/github-accounts.mdorstandards/gitlab-accounts.md. Pre-merge checks. Verify all conditions are met:
Condition How to check Blocker? CI is green statusCheckRollupall passingYes PR is approved reviewDecisionis APPROVEDYes No merge conflicts mergeableis trueYes Branch is up to date Compare with base branch HEAD Warning only If any blocker condition fails, stop and report the issue. Do not merge.
- Merge the PR. Default to squash merge:
IfGH_TOKEN=$(gh auth token --user <account>) gh pr merge <number> --squash --delete-branch--no-deleteis passed, omit--delete-branch. If this is a dual-base PR, same change targeting two branches, omit--delete-branchper../../rules/git-workflow.md. Wait for deployment. Detect the deployment mechanism:
Signal Platform How to monitor .github/workflows/with deploy jobGitHub Actions GH_TOKEN=$(gh auth token --user <account>) gh run list --branch main --limit 1 --json databaseId,status, then poll a one-shotGH_TOKEN=$(gh auth token --user <account>) gh run view <id> --json status,conclusionevery 60 seconds, at most 20 times, and every 3 minutes while the run isqueued; GitLab:glab ci status -F jsonon the same scheduleVercel project Vercel Check Vercel MCP or vercel ls --limit 1Railway, Render, Fly PaaS Suggest user check the dashboard Manual deploy Any Ask user to trigger and confirm If no deployment mechanism is detected, ask the user how deployments work.
- Verify production health. After deployment completes:
- If a health endpoint is known, from project docs or user input,
curlit and verify 200. - If the project has a public URL, verify it loads.
- Check for new error reports if monitoring is configured, such as through the Sentry MCP.
- Report the deployment result.
- If a health endpoint is known, from project docs or user input,
- Switch to local main. After successful deployment:
git checkout main && git pull origin main
Output
## Deployment Summary
**PR:** #<number> - <title>
**Merged:** <timestamp GMT>
**Method:** squash / merge commit
**Branch deleted:** yes / no
### Deployment
**Platform:** <detected platform>
**Status:** success / pending / failed
**URL:** <production URL if known>
### Health Check
**Endpoint:** <URL checked>
**Status:** <HTTP status code>
**Errors:** none / <error details>canary
Monitor a recently deployed change for errors, performance regressions, and unexpected behavior.
When to use
- Immediately after
/deploy landsucceeds. - When a deploy happened outside this session and the user wants a health check.
- When monitoring a risky change in the first minutes after deployment.
Arguments
- No arguments: monitor for 5 minutes with checks every 60 seconds.
--duration <minutes>: monitor for a custom duration.--url <url>: target a specific URL for health checks.--baseline: capture current metrics as the baseline before a deploy, run this first.
Steps
- Establish baseline. If
--baselinewas passed or no prior baseline exists:- Record current error rate from monitoring tools, if accessible.
- Record response time for key endpoints.
- Save as the comparison point.
- Monitor loop. For each check interval:
- Verify the health endpoint returns 200.
- Check for new errors in monitoring tools, Sentry MCP if available.
- Compare current response time against baseline.
- Check browser console for JavaScript errors, if Playwright MCP is available and a frontend URL is known.
Report per interval:
Check Status Health endpoint 200 OK / <error>New errors 0 / <count and summary>Response time <current>vs<baseline>Console errors 0 / <count>Final report after monitoring completes:
## Canary Report **Duration:** <N> minutes **Intervals:** <count> **URL:** <monitored URL> ### Health **Uptime:** <percentage> **Errors detected:** <count> ### Performance **Response time (baseline):** <value> **Response time (current):** <value> **Delta:** <percentage change> ### Verdict <CLEAN: no issues detected / WARNING: <issues found>>- If issues detected: suggest rollback steps:
git revert <merge-commit> && git push- Or revert via the platform's rollback mechanism.
Rules
- Never merge a PR with failing CI checks. No exceptions.
- Never merge without approval unless the user explicitly requests it.
- Prefix every
ghorglabcommand with the appropriate token perstandards/github-accounts.mdorstandards/gitlab-accounts.md. - All timestamps in GMT.
- Canary monitoring is non-blocking: report findings, do not auto-rollback without user confirmation.
- If rate limits are a concern for monitoring, use one-shot checks instead of continuous polling per
../../rules/git-workflow.md. - Never access production databases or infrastructure directly. Use health endpoints and monitoring tool APIs only.
Common Rationalizations
- "
statusCheckRollupis green, so CI passed": the rollup reads success when only an unrelated check ran. Confirm the CI workflows ran on the head commit withGH_TOKEN=$(gh auth token --user <account>) gh run list --commit <full-sha>. - "The reviewer is away and the change is small": merging without approval needs the user's explicit request. Ask.
- "The canary showed errors, revert now to be safe": canary is non-blocking. Report the findings and the rollback steps, then wait for confirmation.
- "The dashboard is faster than the health endpoint": production databases and infrastructure stay off limits. Use health endpoints and monitoring APIs.
- "Delete the branch, it merged": a dual-base PR still needs its branch for the second merge. Omit
--delete-branch.
Red Flags
- Stop and report when any pre-merge blocker row fails, and leave the PR unmerged.
- Stop and ask how deployments work when no row of the deployment detection table matches.
- Stop and present the rollback steps when the health endpoint returns anything other than 200 after the deploy.
- Stop and switch to one-shot
GH_TOKEN=$(gh auth token --user <account>) gh run viewchecks whenGH_TOKEN=$(gh auth token --user <account>) gh api rate_limitshows fewer than 500 remaining.
Verification
GH_TOKEN=$(gh auth token --user <account>) gh pr view <number> --json statereturnsMERGEDafterland.- The deploy run for the merge commit shows
completedwith conclusionsuccess, or the user confirmed a manual deploy. - The health endpoint returned 200, with the URL and status in the Deployment Summary.
git branch --show-currentprintsmainandgit statusreports the branch up to date withorigin/main.- After
canary, the Canary Report carries a CLEAN or WARNING verdict with the interval count.
Related skills
/ship pr-- Create the PR that this skill merges./ship checks-- Diagnose CI failures before merging./incident-- Document the incident if the deploy causes problems./investigate-- Debug issues found during canary monitoring.
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
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.

