deploy
Generate a safety-railed deployment shell script (scripts/deploy.sh) with bash strict mode, a --dry-run mode, a confirmation gate before irreversible steps…
Skill by ianshank
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/ianshank-deploy
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: devops, security, productivity, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/deploy
What's inside
- Skill name
deploy- Description
- Generate a safety-railed deployment shell script (scripts/deploy.sh) with bash strict mode, a --dry-run mode, a confirmation gate before irreversible steps, rollback, and a health-check retry loop. Use this whenever the user wants a deploy script, a release/rollback workflow, deployment automation with a dry-run or confirmation prompt, a health-check-after-deploy step, or a safe repeatable deployment procedure. Config is passed as flags (app, artifact, health URL, environment) and lands as environment-overridable defaults — secrets are never inlined.
- License
- Apache-2.0
- Compatibility
- python>=3.10
- Instructions
- 72 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Agent Skills spec issues
- files: referenced but missing: scripts/deploy.sh
Files (13)
- .gitignore
- SKILL.md
- evals.json · evals/
- ruff.toml
- __init__.py · scripts/deploygen/
- model.py · scripts/deploygen/
- render.py · scripts/deploygen/
- gen_deploy.py · scripts/
- quality-gate.sh · scripts/
- validate_skill.py · scripts/
- conftest.py · tests/
- test_gen_deploy.py · tests/
- test_render.py · tests/
SKILL.md (first lines)
# deploy — deployment-script writer
Emit a `scripts/deploy.sh` whose value is its **safety structure**, not platform-specific deploy
logic: `set -euo pipefail`, a `--dry-run` mode that prints instead of acting, a confirmation gate
before irreversible steps, a health-check retry loop, a rollback path, and structured logging. You
fill in the per-step commands (clearly marked `TODO`); the scaffold guarantees the rails. Output
is byte-stable and ShellCheck-clean.
## 1. Preconditions (input contract)
- A target project directory exists.
- The deployment target is known well enough to pass as flags: app name, artifact/image
reference, health-check URL, environment. Unspecified critical values default to `<...>`
placeholders that the script refuses to run against (fail fast).
- Python 3.10+ (no third-party dependency — config is flag-driven, not detected).
## 2. Procedure (the E2E steps)
```bash
python scripts/gen_deploy.py --app <name> --artifact <ref> \
--health-url <url> --environment <env> [--out <path>] [--stdout] [--check]
```
1. **Collect** the deployment config as flags. Do not put secrets on the command line or in the
script — the script reads them from the environment at run time.
2. **Emit** `scripts/deploy.sh` with `build | release | rollback | health-check` subcommands, a
`run` wrapper honouring `--dry-run`, a `confirm` gate (skipped by `--yes`/`--dry-run`), a
`require` guard that aborts on unfilled `<placeholders>`, and a health-check retry loop.
3. **Fill in** each `TODO` step (replace the `true` placeholder with your platform's command).
4. **Review** and commit. Verify with `./scripts/deploy.sh --dry-run --yes release` — it should
print the intended actions and change nothing.
## 3. Output contract (postconditions — what "done" means)
- `scripts/deploy.sh` is written (mode `+x`), starts with `#!/usr/bin/env bash`, sets
`-euo pipefail`, ends in exactly one newline (LF), and re-renders **byte-identically**.
- `--dry-run` performs no side effects and exits 0; the confirmation gate aborts non-zero when
declined; an unfilled placeholder value aborts non-zero; an unknown subcommand exits 2.
- No secret or credential is written into the script — all config is `${VAR:-default}` and
overridable from the environment (ADR-0009 baseline).
## 4. Failure handling
- The `require` guard fails fast on any `<placeholder>` still present, so a half-configured deploy
aborts instead of doing something surprising.
- `--check` is **advisory** (see §5), never a hard gate.
## 5. `--check` is advisory, not a gate
`--check` exits 1 when the committed script differs from a fresh render — an optional drift signal.
Because you extend the script with real deploy commands, **do not** wire `--check` into CI as a
blocking gate.
## 6. Validation gate (before declaring success)
You are **not done** until this exits 0:
```bash
python scripts/validate_skill.py --skill . --tier structural,behavioral
```
## 7. Examples
**Example 1 — dry run is side-effect-free**
`./scripts/deploy.sh --dry-run --yes release` prints `DRY-RUN: ...` lines for the release and
health-check steps and exits 0 without touching anything.
**Example 2 — fail fast on missing config**
Running `release` with `ARTIFACT` left at its `<artifact>` placeholder aborts non-zero with
`unconfigured value` — the deploy never proceeds half-configured.From ianshank/Agents, Apache-2.0.
More from ianshank/Agents
- 0.552score
hierarchical-recursive-brainstorm
ianshank
Decomposes a topic into a controlled hierarchy, recursively expands leaves, prunes the bottom quartile, and synthesizes upward into a self-explanatory…
SkillBFreshness: B★ 1Claude Code +9 - 0.552score
openspec-implementation-review
ianshank
Reviews a shipped OpenSpec change's implementation against its own proposal/design/tasks/spec, producing a dated, two-pass openspec/changes/<id>/review.md…
SkillBFreshness: B★ 1Claude Code +9 - 0.552score
architecture-drift-guard
ianshank
Detect and block architecture drift in CI by comparing a codebase's actual Python import graph against a declared C4 component model.
SkillBFreshness: B★ 1Claude Code +9 - 0.552score
dataset-lint
ianshank
Validate an existing evaluation dataset (JSONL/JSON/CSV) for structural correctness, duplicate IDs, missing required fields, and encoding issues — without…
SkillBFreshness: B★ 1Claude Code +9 - 0.552score
eval-corpus-forge
ianshank
Build, validate, and package reusable evaluation datasets for agent and LLM systems from prompts, traces, tool-call logs, metadata, and expected outcomes.
SkillBFreshness: B★ 1Claude Code +9 - 0.552score
model-bench
ianshank
Benchmark and A/B-test multiple LLMs or systems-under-test on one evaluation dataset.
SkillBFreshness: B★ 1Claude Code +9 - 0.549score
openspec-quality-plan
ianshank
Generates a complete OpenSpec change package containing proposal, design, and task specs.
SkillBFreshness: B★ 1Claude Code +9 - 0.549score
openspec-peer-review
ianshank
Emits an objective Peer Review Findings section and rewrites an OpenSpec package to satisfy quality standards.
SkillBFreshness: B★ 1Claude Code +9 - 0.549score
openai-judge
ianshank
LLM-as-a-judge evaluations over OpenAI-compatible APIs (including NVIDIA Nemotron & LM Studio).
SkillBFreshness: B★ 1Claude Code +9 - 0.545score
corpus-guardian
ianshank
Manage, verify, and synchronize the four frozen synthetic evaluation corpora (RCA, Requirements, TestGen, Answer Quality).
SkillBFreshness: B★ 1Claude Code +9 - 0.545score
e2e-matrix-sentinel
ianshank
Validate cross-platform end-to-end matrix coverage, verify POSIX and Windows driver parity, and enforce offline fixture restamping invariants.
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
merge-gate-auditor
ianshank
Sample unlabelled PR records from merge-gate-data, prepare structured Audit Verdict Cards, and stage human verdicts.
SkillBFreshness: B★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 113
- Last commit (this folder)
- Sep 7, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/ianshank/Agents
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from ianshank
- 0.552score
hierarchical-recursive-brainstorm
ianshank
Decomposes a topic into a controlled hierarchy, recursively expands leaves, prunes the bottom quartile, and synthesizes upward into a self-explanatory…
SkillBFreshness: B★ 1Claude Code +9 - 0.552score
model-bench
ianshank
Benchmark and A/B-test multiple LLMs or systems-under-test on one evaluation dataset.
SkillBFreshness: B★ 1Claude Code +9 - 0.552score
dataset-lint
ianshank
Validate an existing evaluation dataset (JSONL/JSON/CSV) for structural correctness, duplicate IDs, missing required fields, and encoding issues — without…
SkillBFreshness: B★ 1Claude Code +9 - 0.552score
eval-corpus-forge
ianshank
Build, validate, and package reusable evaluation datasets for agent and LLM systems from prompts, traces, tool-call logs, metadata, and expected outcomes.
SkillBFreshness: B★ 1Claude Code +9 - 0.552score
architecture-drift-guard
ianshank
Detect and block architecture drift in CI by comparing a codebase's actual Python import graph against a declared C4 component model.
SkillBFreshness: B★ 1Claude Code +9 - 0.552score
openspec-implementation-review
ianshank
Reviews a shipped OpenSpec change's implementation against its own proposal/design/tasks/spec, producing a dated, two-pass openspec/changes/<id>/review.md…
SkillBFreshness: B★ 1Claude Code +9
Cite this page
deploy skill. Agent Mart. https://agentmart.dev/skills/ianshank-deploy (last updated 2026-10-24)