deploy-landed
Prove a deploy landed — the served revision is the commit you meant, its env is present, and the product does its job — instead of trusting the deploy…
Skill by avelikiy
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/avelikiy-deploy-landed
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: backend, devops
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
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/deploy-landed
Tools it pre-approves 3
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
Read,Bash,Grep
What's inside
- Skill name
deploy-landed- Description
- Prove a deploy landed — the served revision is the commit you meant, its env is present, and the product does its job — instead of trusting the deploy command's exit code. Also catches server drift before a pull or deploy. Use after any deploy, rollout, restart or server-side fix ("задеплой", "выкати", "проверь на проде", "почему не обновилось"). Loaded by devops, l3-support, infra-provisioner.
- License
- MIT
- Allowed tools
- Read,, Bash,, Grep
- Instructions
- 65 lines in SKILL.md · view on GitHub
Before installing
- Pre-approves some shell commands
Files (1)
- SKILL.md
SKILL.md (first lines)
# deploy-landed — a deploy is done when the running thing is the thing you meant
A deploy command's exit code says the command finished. It does not say the new code
is serving, that its configuration arrived, or that the product works. Every trap
below produced a green exit and a broken or stale product on a real project:
| Trap | What happened |
|---|---|
| `git pull` failed, the build went on | The build succeeded from the **old** code and reported success |
| `nohup … &` | Exit 0 twice for a process that died at once |
| `docker exec` into a container | It does not inherit the entrypoint's env: two "config is missing" readings were false |
| `sed -i` / `docker cp` on a bind-mounted file | Replaced the inode; the container kept reading the old file |
| A fix applied only on the server | Lost on the next deploy — it was never in git |
| wrangler / Pages | `functions/` not deployed, `_headers` ignored, five deploys to notice |
| Prod behind SSO | Answers 401/302 to **every** path, including ones that do not exist — proves nothing about a route |
| `/health` green | For six hours while the engine made no trades |
## Before: is the server what git says it is?
Before pulling or building on a host someone can reach by hand:
```bash
git -C /srv/app status --porcelain # anything here is a patch that is not in git
git -C /srv/app log -1 --format=%H # what the host thinks it runs
```
Anything uncommitted on the host is either committed first or reported as drift — never
overwritten silently, and never left as the only copy of a fix.
## After: four checks, each with its evidence
1. **Revision.** What is serving equals the commit you meant.
- Cloud Run / k8s: the live revision's image tag or digest, then
`git merge-base --is-ancestor <commit> <image-tag-sha>`.
- Pages / Workers / Vercel: the deployment id and its commit.
- A plain host: the running process's start time is after the deploy, and the file
it serves has the new content (`grep` for a string the change introduced).
- A `/version` endpoint, when the app has one, beats all of the above.
2. **Configuration.** The variables and secrets the new code reads are present in the
**running process** — count them against the list the code expects. In a container,
read them from PID 1 (`cat /proc/1/environ | tr '\0' '\n'`), not from `docker exec env`.
After `--set-secrets`/`--set-env-vars`, check that the ones you did not name are still
there: those flags replace the whole set.
3. **Function.** One request that does the product's job and returns something you can
compare to a known value — an order created, a row written, a trade placed on paper.
A health endpoint proves the process is up, nothing more.
4. **Startup errors.** Logs for the new revision since it started, at WARNING and above.
Zero lines is a finding only if you saw the logs flowing at all.
## Report
End the deploy report with this block. A check you could not run is `NOT CHECKED` with
the reason — never omitted, never `PASS`.
```
DEPLOY-LANDED <service> @ <commit>
revision : PASS — serving <revision/deployment id> built from <sha>
config : PASS — 14/14 expected vars present in PID 1
function : PASS — POST /orders → 201, row id 8812 visible in DB
startup : PASS — 0 WARNING+ lines since 12:04:10
```
A FAIL in any line means the deploy is not done, whatever the command printed.From avelikiy/great_cto, MIT.
More from avelikiy/great_cto
- 0.776score
quant-validation
avelikiy
The methods a financial-ML result has to survive before it is evidence — purged cross-validation with an embargo, triple-barrier labelling, sample uniqueness…
SkillAFreshness: A★ 105Claude Code +9 - 0.776score
skeptical-triage
avelikiy
Reusable 3-round self-challenge + arbiter pattern for filtering false positives from findings/verdicts.
SkillAFreshness: A★ 105Claude Code +9 - 0.776score
migration-ready-schema
avelikiy
Data-model rules that make a schema importable from day one, so the migration-import-engineer is never blocked on missing columns.
SkillAFreshness: A★ 105Claude Code +9 - 0.776score
outcome-roadmap
avelikiy
Transform an output-focused roadmap (feature list) into an outcome-focused one.
SkillAFreshness: A★ 105Claude Code +9 - 0.776score
signing-preflight
avelikiy
Before the first commit of a session, check that commit signing will work — the key is loaded and unlocked — and ask the operator to unlock it once, up front…
SkillAFreshness: A★ 105Claude Code +9 - 0.776score
brainstorming
avelikiy
Structured idea generation + multi-LLM debate for the product-owner stage.
SkillAFreshness: A★ 105Claude Code - 0.776score
aesthetic-instrument
avelikiy
great_cto's own committed aesthetic — the instrument panel.
SkillAFreshness: A★ 105Claude Code +9 - 0.776score
committed-aesthetic
avelikiy
How to write — and how to use — a skill that IS one aesthetic rather than a catalogue of them.
SkillAFreshness: A★ 105Claude Code +9 - 0.776score
observability-baseline
avelikiy
Scaffold-time observability so a shipped product is not blind in prod from day one — error capture (Sentry), request-id structured logging, and /healthz +…
SkillAFreshness: A★ 105Claude Code +9 - 0.776score
opportunity-solution-tree
avelikiy
Build an Opportunity Solution Tree (OST) to structure product discovery — map a desired outcome to customer opportunities, possible solutions, and experiments.
SkillAFreshness: A★ 105Claude Code - 0.776score
lifecycle-messaging
avelikiy
Email/SMS lifecycle and deliverability framework for SMB Product-Builder products that send transactional or lifecycle messages (booking reminders, CRM…
SkillAFreshness: A★ 105Claude Code - 0.776score
vertical-onboarding
avelikiy
Onboarding-and-switching playbook for SMB Product-Builder products.
SkillAFreshness: A★ 105Claude Code +9
Signals
- Stars
- 105
- Forks
- 13
- Open issues
- 5
- Last commit (this folder)
- Sep 22, 2026 (1 month ago)
- Last release
- Oct 23, 2026 (5 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/avelikiy/great_cto
- Website
- greatcto.systems
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from avelikiy
- 0.776score
lifecycle-messaging
avelikiy
Email/SMS lifecycle and deliverability framework for SMB Product-Builder products that send transactional or lifecycle messages (booking reminders, CRM…
SkillAFreshness: A★ 105Claude Code - 0.776score
migration-ready-schema
avelikiy
Data-model rules that make a schema importable from day one, so the migration-import-engineer is never blocked on missing columns.
SkillAFreshness: A★ 105Claude Code +9 - 0.776score
aesthetic-instrument
avelikiy
great_cto's own committed aesthetic — the instrument panel.
SkillAFreshness: A★ 105Claude Code +9 - 0.776score
brainstorming
avelikiy
Structured idea generation + multi-LLM debate for the product-owner stage.
SkillAFreshness: A★ 105Claude Code - 0.776score
committed-aesthetic
avelikiy
How to write — and how to use — a skill that IS one aesthetic rather than a catalogue of them.
SkillAFreshness: A★ 105Claude Code +9 - 0.776score
observability-baseline
avelikiy
Scaffold-time observability so a shipped product is not blind in prod from day one — error capture (Sentry), request-id structured logging, and /healthz +…
SkillAFreshness: A★ 105Claude Code +9
Cite this page
deploy-landed skill. Agent Mart. https://agentmart.dev/skills/avelikiy-deploy-landed (last updated 2026-10-24)