# Deploy

> Use this skill during Phase 6 to deploy code that has passed Phase 5 Test. Updates tickets with deployment details when a ticketing system is configured; otherwise generates deployment artifacts as markdown or JSON under .claude/sdlc/deployments/. Never auto-executes a deployment — always proposes and waits for explicit human confirmation. Trigger after test is signed off, or when the user says "deploy", "release", or "ship".

- Skill: `lantisprime/deploy` (Agent Skill)
- Install (CLI): `npx skillmds@latest add lantisprime/deploy`
- Raw SKILL.md: https://api.skillmd.com/api/skills/lantisprime/deploy/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: lantisprime (https://skillmd.com/u/lantisprime)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/lantisprime/deploy

---


# Deploy (Phase 6)

Release code that has passed Test — under explicit human approval.

## Prerequisite

`.claude/sdlc/gates/test-<task-slug>.md` must exist and be signed. Without it, this skill refuses to run.

## Step 1 — Propose the deployment

Produce a deployment proposal, not a deployment. Include:

- Target environment (dev / staging / production)
- Commit SHA / tag / image reference
- Changed files and services
- DB migrations? (yes/no, reversible?)
- Feature flags? (default state)
- Rollback plan
- Blast radius (users/services affected)
- Deployment window / maintenance window if applicable

## Step 2 — Human approval gate

**This is non-negotiable.** Deployments never auto-execute. Ask the human to confirm the proposal. Record the approval at `.claude/sdlc/gates/deploy-<task-slug>.md` with timestamp and approver.

## Step 3 — Execute (under human supervision)

Execute the deployment via the configured pipeline/runbook. Stream output. Halt on the first error and ask for direction — do not retry automatically.

## Step 4 — Record

Update the ticket(s) with:

- Commit SHA, environment, timestamp, approver
- Link to pipeline run / deployment log
- Post-deploy verification results (smoke tests)

Detection:

- GitHub/GitLab Issues via `.claude/sdlc/env.json` → comment on the issue
- Jira/Linear via MCP → transition to "Deployed" (or equivalent) with a comment
- None configured → write `.claude/sdlc/deployments/<YYYY-MM-DD>-<task-slug>.md` (or `.json` if configured)

## Step 5 — Post-deploy verification

Run the smoke-test subset of the test suite against the deployed environment. If any fail:

- Execute the rollback from Step 1
- Log a defect (see `test` skill)
- Do not mark the deployment complete

## What this skill must NEVER do

- Auto-execute a deployment.
- Skip the rollback plan.
- Close a ticket before post-deploy verification passes.
- Deploy code that does not have a signed test gate.

## References

- `templates/deployment.md`
- `templates/gate.md`
- `docs/SDLC.md` Deploy

## Next step hint

After the deployment record is written, pipe the `next_suggestions` conditions to `skills/_shared/next-hint.sh` and print any output:

```bash
printf '%s\n' \
  'deploy_gate_signed|run /support to wire observability for the deployment' \
  'phase_active_gate_unsigned|open gates/deploy-<task-slug>.md and sign it manually, then run /support' \
  | bash skills/_shared/next-hint.sh
```

Print any output verbatim. If the script outputs nothing, add nothing.

