Deploy Tracker Bootstrap banner
matthiasdebernardini matthiasdebernardini

Deploy Tracker Bootstrap

DevOps community

Description

Claude Code skill that generates per-project /deploy-<slug> skills with DuckDB tracking, SSH/HTTP preflight, and confirmation flow. Works with Kamal, Fly.io, Heroku, Capistrano — any CLI deploy command.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

deploy-tracker-bootstrap

A [Claude Code skill](https://docs.claude.com/en/docs/claude-code/skills) that **generates per-project deploy-tracker skills**. Each generated skill wraps any CLI deploy command (`bin/deploy`, `bin/kamal deploy`, `fly deploy`, `cap production deploy`, …) with:

  • DuckDB-tracked deploy history (one DB per project)
  • Optional preflight health check — three profiles: kamal-ssh (SSH-based host check), http-only (curl the public URL), or none
  • Git context preview (SHA / branch / dirty / commits ahead / unpushed)
  • Confirmation flow with AskUserQuestion
  • Signal-safe deploy runner that tees output to per-deploy log files
  • Crash recovery via check-inprogress + cleanup-stale

Generated per-project skills are invoked as `/deploy-` in Claude Code (e.g. `/deploy-my-app`), auto-discovered without a session restart.


Install

git clone https://github.com/matthiasdebernardini/deploy-tracker-bootstrap.git \
  ~/.claude/skills/deploy-tracker-bootstrap

The skill becomes available to Claude Code on the next invocation. Trigger it with any of:

  • /deploy-tracker-bootstrap
  • "make a deploy skill for this project"
  • "set up deploy tracking here"
  • "scaffold /deploy-<x>"

Prerequisites

  • Python 3.9+ — stdlib only for the generated scripts.
  • `uv` — install via brew install uv or curl -LsSf https://astral.sh/uv/install.sh | sh.
  • duckdb Python package — install once, globally:
    uv pip install --system --break-system-packages duckdb
    The --break-system-packages flag is required on Homebrew Python due to PEP 668. It's safe here because we're only adding one isolated package to the user's site-packages.

The bootstrap checks for `uv` and the `duckdb` import at startup and exits with a clear hint if either is missing.

Usage

Inside a Claude Code session, say e.g. *"make a deploy skill for this project"*. C