releaselisted
Install: claude install-skill melchimaelran/pact
# release — cut a PACT plugin release
Releases PACT from this repository. The public repo **is** the marketplace:
`.claude-plugin/plugin.json` and `.claude-plugin/marketplace.json` carry the
version; a git tag + GitHub Release is what users pull with
`/plugin update pact@pact`.
## Routing check (do first)
This skill publishes a **new version of the PACT plugin**. If the request is
something else, stop and say so:
- Editing PACT's behavior or docs → just edit the files; this skill only releases.
- Migrating a user project's `.pact/` layout → that is the `pact migrate` command
in the plugin, not this skill.
## Progress tracking
Open a `TodoWrite` list with one item per phase below and update it as you go.
## Phase 0 — preconditions (hard gate)
All must hold, or stop and report which failed:
1. **This is the PACT repository.** `git remote get-url origin` ends with
`melchimaelran/pact` (`.git` optional). If not, refuse — this skill only ever
releases the PACT plugin itself, never a project that happens to have a copy
of it.
2. `gh auth status` succeeds.
3. Current branch is `main` (`git symbolic-ref --short HEAD`).
4. Working tree is clean (`git status --porcelain` empty).
5. `git fetch origin` then `main` is not behind `origin/main`.
6. `.claude-plugin/plugin.json` and `.claude-plugin/marketplace.json` exist and
parse.
## Pre-1.0 model
PACT is in `0.x`. The framework — prompts, flows, skill wording — churns freely
between `0.x` releases and that is expec