agentsclimarketplace

Release

Skill runxhq/runx/skills/release

Prepare, approve, execute, and independently verify a versioned release through a project-owned exact-command profile.From its SKILL.md

Install
npx -y skills add runxhq/runx --skill release

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

5.3 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it

Release

A release is a project-owned operation, not a universal shell recipe. This skill gives Runx one common governance sequence—prepare, describe, approve, publish, and independently verify—while leaving the actual build and provider commands in a versioned profile owned by the project.

Use it when a package or project already knows how to prepare, publish, and verify itself but needs one digest-bound approval and receipt chain around those commands. Do not use it to invent a release process for an unconfigured project or to replace the project's tests, packaging, or registry tooling.

A release profile is the project adapter. It declares exact argv commands that the project already owns; this skill validates their release semantics but does not recreate the project's release implementation.

Runx core owns bounded profile reads, path and symlink containment, command-plan digests, sanitized child environments, process-tree supervision, timeouts, credential redaction, and output evidence. Package JavaScript only validates the release profile and interprets the three release-specific provider states.

Use prepare to execute the profile's preparation command and produce an evidence-bound release brief. Use the default release runner to approve the exact publish plan, execute it without a shell, then run a separate verification command. The publish command is refused if its normalized argv plan drifts after approval. Publication is never inferred from an agent answer or a zero exit code.

Project profile

project_root is resolved inside the current Runx workspace and must be a relative directory (normally . when Runx is invoked from the project root). profile_ref must name a JSON file inside that directory:

{
  "schema": "runx.release.profile.v1",
  "id": "my-project/npm",
  "channel": "npm",
  "commands": {
    "prepare": { "argv": ["pnpm", "release:check"], "cwd": ".", "network": true, "timeout_ms": 300000 },
    "publish": { "argv": ["gh", "workflow", "run", "release.yml"], "cwd": ".", "network": true },
    "verify": { "argv": ["pnpm", "release:check:live"], "cwd": ".", "network": true }
  }
}

Commands are argv arrays, never shell strings. Paths cannot escape the project. Network is denied unless a command explicitly declares network: true; that declaration is bound into the native command digest and requires the net:process scope. Credential-shaped arguments and inline environment values are rejected; commands receive credentials only through Runx credential delivery or existing local CLI profiles. The release profile is context and topology, not authority.

Every command must print one bounded JSON object. Preparation returns status: ready; publish returns status: submitted or published; verification returns status: verified, the exact version and channel, and at least one stable locator. Optional fields are release_id, commit_ref, checks, and locators. Raw stdout and stderr are not copied into release artifacts; only parsed bounded fields and runtime evidence digests are sealed.

Authority and closure

Preparation and note drafting do not require human approval. The one approval gate binds the profile digest, version, channel, and native publish command-plan digest. Only publish crosses the consequential external boundary. Verification is independent readback and is the only path to verified. Failed commands, identity drift, plan drift, invalid JSON, or missing locators never produce a success claim.

Stop conditions and recovery

  • Stop when the profile escapes the project root, follows an unsafe symlink, uses shell strings, embeds credential-shaped arguments or environment values, or omits one of the three command roles.
  • Stop when preparation does not return bounded ready JSON or when the requested version and channel differ from the profile evidence.
  • Approval binds the exact publish argv plan. Any normalized plan drift requires a new preparation and approval rather than opportunistic execution.
  • A zero exit code or submitted provider response is not verification. The independent verify command must return the exact version, channel, and stable locator.
  • Preserve a failed or ambiguous publish as recovery evidence; do not rerun a potentially consequential command under a different identity without inspecting provider state.

Example

An npm project profile runs a local release check, dispatches a GitHub release workflow, and verifies the exact version from the registry. Runx can prepare a brief and notes, bind approval to the workflow-dispatch argv, execute it, and seal only after registry readback names the requested version. If the publish command changes between preparation and approval or verification cannot find the version, the run does not claim a successful release.

Agent task contracts

release-notes

Draft only consumer-facing release notes from the admitted profile, exact version, preparation checks, last tag, and operator context. Return headline, summary, changelog with added/fixed/changed/removed/ breaking arrays, upgrade_guidance, and risks. Do not claim a tag, registry version, deployment, publication, verification, provider acknowledgement, URL, or side effect.

What ships with it: 7 files

34.7 KB alongside SKILL.md, 2 of them executable

Keep looking

Skills are one crate of 326,758. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.