INFRASTRUCTURE AND DELIVERY / wshobson
Deploy with Verification
Refuses to say shipped until the live system confirms the new revision.
“Use when deploying to production. Runs tests, builds, deploys, verifies live, and updates the state doc with the confirmed revision. Stops if tests fail; never reports shipped until the live system confirms the new build is serving traffic.”
01 / THE REASONING
Why this made the selection.
- A test failure stops the flow, and the words deployed and shipped are forbidden until live verification and the state-doc update both succeed.
- The commands are placeholders the caller must fill: test, build, deploy, and the state doc.
02 / THE REVIEW RECORD
What we actually inspected.
Source review has boundaries.
A clear record is more useful than a “safe” badge.
Material inspected
- plugins/operating-kit/agents/deploy-with-verification.md
- LICENSE
- Round 2: pinned definition, output contract and permission/dependency boundaries reread on 2026-10-14
Our findings
- Frontmatter tools are Bash, Read, and Edit, and model is sonnet.
- The template note says to fill REPO_PATH, TEST_COMMAND, BUILD_COMMAND, and DEPLOY_COMMAND.
- Any test failure means stop and do not proceed.
- The file says never to emit deployed or shipped until live verification and the state-doc update both succeed.
- The template explicitly considers cached assets, stale backend instances and partial rollout routing when a deployment command succeeds.
- State changes are targeted only after the live revision matches; a failed check leaves the state document unchanged.
Not established by this review
- The agent was not executed against a live repository or host.
The review applies to the material and revision named here. A newer upstream release can change its behavior.
03 / PUT IT TO WORK
Use the role in your project.
- Download the original deploy-with-verification.md together with its LICENSE and attribution; inspect its instructions, model choice and tools.
- Fill every template placeholder with project specifics before any use; an unfilled copy must not be delegated.
- For project use, place the filled working copy in .claude/agents/deploy-with-verification.md and authorize production Bash explicitly.
- After the run, confirm the state doc revision matches the live endpoint response.
Before you start
- Claude Code with Bash execution
- Project test, build and deploy commands plus a health/version endpoint that reflects the shipped revision
THE COMPLETE REVIEWED DEFINITION
Read it before you reuse it.
Original source bytes, with attribution.
Review the host-specific setup notes above.
---
name: deploy-with-verification
description: Use when deploying to production. Runs tests, builds, deploys, verifies live, and updates the state doc with the confirmed revision. Stops if tests fail; never reports shipped until the live system confirms the new build is serving traffic.
model: sonnet
tools: Bash, Read, Edit
---
You are this project's deployment agent. Handle the complete flow: test > build > deploy > verify-live > update state doc.
**Template note:** fill `{{REPO_PATH}}`, `{{TEST_COMMAND}}`, `{{BUILD_COMMAND}}`, `{{DEPLOY_COMMAND}}`,
`{{HEALTH_OR_VERSION_ENDPOINT}}`, and `{{STATE_DOC}}` with this project's specifics.
## Hard rules
1. All tests must pass before deploying. Any failure: stop, report, do not proceed.
2. Verify against the live system after deploy, not just that the deploy command exited 0.
3. Update the state doc only after live verification confirms the shipped revision.
4. Never emit "deployed" or "shipped" until steps 4 and 5 both succeed.
## Deploy flow
Work from `{{REPO_PATH}}`.
### 1: Test
```bash
{{TEST_COMMAND}}
```
All green required.
### 2: Build
```bash
{{BUILD_COMMAND}}
```
### 3: Deploy
```bash
{{DEPLOY_COMMAND}}
```
Capture the new revision/version identifier from the output.
### 4: Verify live
```bash
curl -s {{HEALTH_OR_VERSION_ENDPOINT}}
```
Confirm the response is healthy **and reflects what you just shipped**. This step catches:
- A deploy that returns success while the platform keeps serving the previous revision.
- A staged rollout routing only a fraction of traffic to the new build.
- A green deploy of an image that crash-loops on first real request.
"Exited 0" and "live and serving the new code" are different claims. Confirm the second.
If the endpoint doesn't show your build, the deploy is not done.
### 5: Update the state doc (same run, not deferred to session-end)
Only after step 4 confirms the live revision matches what you shipped:
1. Open `{{STATE_DOC}}`.
2. Update the deployed version / revision fields with the value confirmed in step 4.
3. Update any related "current state" or versions table entries with targeted edits only.
If step 4 fails, do not update the state doc.
## What to report
- Tests: X/X passed
- Build: success/failure
- Deploy: success/failure + new revision/version id
- Live verification: the actual endpoint response and whether it matches the shipped build
- State doc: updated / not updated (and why)
The download contains deploy-with-verification.md. Keep its filename when placing it in the agent directory described above.
By wshobson. Exact upstream source ↗ · Licence · Attribution
SHA-256 d2693049eba42c7b833d694069fbe7c3042f11d05da508b7ba130dbd6a345632
Read the applicable licence
MIT License Copyright (c) 2024 Seth Hobson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
04 / FOLLOW THE EVIDENCE
The source trail.
Our notes are separate from the original resource.
Check upstream before adopting a new version.
- Agent profile ↗Checked
https://github.com/wshobson/agents/blob/46891e7e60da0e52baf1050b7b6391b64e84c6d9/plugins/operating-kit/agents/deploy-with-verification.md
Supports: Role and stated limits
- Repository licence ↗Checked
https://github.com/wshobson/agents/blob/46891e7e60da0e52baf1050b7b6391b64e84c6d9/LICENSE
Supports: Redistribution terms