Skip to content
Agentmart
Submit a tool

get-release-approval

Run the release preflight, then obtain the user release approval (the single issuer of WORKFLOW_USER_VERIFIED)

Skill by nirecom

IndexedMIT★ 3
Write a review

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/nirecom-get-release-approval

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.

We use your email only for this newsletter. Privacy

About

Run the release preflight, then obtain the user release approval (the single issuer of WORKFLOW_USER_VERIFIED)

No 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 and code. Checked Oct 26, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Shell scripts

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/get-release-approval

What's inside

Skill name
get-release-approval
Description
Run the release preflight, then obtain the user release approval (the single issuer of WORKFLOW_USER_VERIFIED)
License
MIT
Instructions
44 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (3)

  • SKILL.md
  • preflight.sh · scripts/
  • wait-web-merge.sh · scripts/

SKILL.md (first lines)

Obtain the user's final release approval for the `user_verification` step.
This skill is the only issuer of `<<WORKFLOW_USER_VERIFIED: reason>>`; protocol and preflight branches: `skills/_shared/user-verified.md`.

## Procedure

When a hook blocks a sanctioned command, a fallback path is taken, or any unexpected outcome occurs, report via /supervisor-report (trigger conditions: rules/supervisor-reporting.md).

GA-1. **Confirm the step:** run `node "$AGENTS_MAIN_ROOT/bin/workflow/next-step" --session "<session-id>"`.
   `REASON=` `web-merge-pending` or `web-merge-not-ready` → continue to GA-2; its preflight decides the wait.
   Any other `REASON=` than `user_verification` → do not emit; follow its `ACTION` instead.

GA-2. **Preflight:** run `bash "$AGENTS_MAIN_ROOT/skills/get-release-approval/scripts/preflight.sh" --session "<session-id>"` as one standalone call.
   Handle `RUN_TL4=`, `GATE_RC=`, and the `CATEGORY:` lines per `skills/_shared/user-verified.md` "Preflight".
   `PREFLIGHT=web_merge_*` → raise no `AskUserQuestion`; follow that file's "Web-merge channel" (the web merge is the only approval).
   `PREFLIGHT=blocked` → show `PREFLIGHT_REASON` and its recovery (rebase or update the branch, resolve conflicts, wait for CI or reviews, mark the PR ready), then stop without the sentinel.
   `PREFLIGHT=merged_on_web` → the PR was merged outside this session; continue to GA-3 with a reason that says so.
   `PREFLIGHT=ok` → continue to GA-3.
   `PREFLIGHT=web_merge_done` → the human merged on the web; no sentinel; go to GA-4.
   `PREFLIGHT=web_merge_closed` or `web_merge_blocked` → show `PREFLIGHT_REASON`, then stop without the sentinel.
   `PREFLIGHT=web_merge_pending` → no sentinel; show `PR_URL` as the PR the human merges on the web, then GA-2b.

GA-3. **Emit the sentinel** per `skills/_shared/user-verified.md` "Protocol", as its own Bash call.
   Reason on the pull_request path: `PR #<PR_NUMBER> — approving merge to main` (or `PR #<PR_NUMBER> merged via web UI` for `merged_on_web`).
   Reason on the direct path: a one-line summary of what will be committed and pushed.
   Deny → stop; do not retry.

## Web-merge wait

GA-2b. **Wait for the web merge:** run `bash "$AGENTS_MAIN_ROOT/skills/get-release-approval/scripts/wait-web-merge.sh" --session "<session-id>" --repo "<WORKTREE_PATH>"` with `run_in_background: true`, then end the turn.
   On its completion notice read `WEB_MERGE=`: `merged` → GA-4; `closed` → say the PR was closed without merge and stop; `error` → surface its stderr and stop; `already-running` → end the turn (a poller already waits).
   `WEB_MERGE=timeout` → tell the human, in the conversation language, that polling has ended and that any message sent after the merge resumes the flow, then end the turn.

## Completion

GA-4. **Continue:** run `node "$AGENTS_MAIN_ROOT/bin/workflow/next-step" --session "<session-id>"` and follow its `ACTION`.

## Rules

- Emit the sentinel at most once per approval, and never before the preflight returns `ok` or `merged_on_web`.
- Never merge, push, or commit here — `/merge-to-main` performs the delivery operation.
- Never emit on a blocked preflight, on Deny, or while waiting for CI.
- Never emit on the web-merge channel (`web_merge_*`): the human's merge on the web is the approval.

From nirecom/agents, MIT.

More from nirecom/agents

Signals

Stars
3
Forks
0
Open issues
608
Last commit (this folder)
Oct 13, 2026 (15 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from nirecom

Cite this page

get-release-approval skill. Agent Mart. https://agentmart.dev/skills/nirecom-get-release-approval (last updated 2026-10-24)