git-create-releaselisted
Install: claude install-skill ainova-systems/intelligence-dev-packs
# Create a Release
A release reproducible from its tag, with an honest changelog and nothing left half-applied. Releases are outward-facing - publishing (the tag push, or the release object) is the confirmation gate. This skill is **policy-driven**: it reads the project profile and adapts across trunk vs gitflow, direct vs release-branch vs automated cuts, and tag-only vs full releases. When a key is unset, fall back to the best-practice default below, then auto-detect, then ask once.
The pipeline ships the code. It does not perform the steps merged PRs left for a human - configuration to import into an externally-hosted system, a secret to register, a hand-deployed stack, a one-off backfill. Each merge records such a step and moves on; nothing re-reads them, so they surface after the release, in production, as behavior that did not change. Step 2 is where they are collected and closed.
## Policy - `dev-project-profile.md` › `## Releases`
- `release_flow` - `tag-on-default` (trunk: cut and tag the default branch) | `gitflow-merge` (merge `develop` → `master`, tag the merge commit). Detect: an existing `develop` branch ⇒ `gitflow-merge`.
- `release_cut` - **the mode**, i.e. how the release change-set lands: `direct` | `release-pr` *(default)* | `automated`.
- `release_review` - where merged PRs declare steps no pipeline performs: `pr-section: <heading>` *(default `pr-section: Deployment notes` when the PR template carries such a section)* | `none` (commits and the diff are