Agent skill

Release Oliphaunt

by f0rr0 in f0rr0/oliphaunt

Prepare, audit, bootstrap, publish, verify, or recover Oliphaunt releases across GitHub, crates.io, npm, Maven Central, and SwiftPM.

MITAuto-check passedDevelopment

Install Release Oliphaunt

skills CLI
$ npx skills add f0rr0/oliphaunt --skill release-oliphaunt -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install f0rr0/oliphaunt release-oliphaunt --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/f0rr0/oliphaunt.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.codex/skills/release-oliphaunt .claude/skills/release-oliphaunt && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
release-oliphaunt
GitHub stars
105
Token cost
~4k tokens
SKILL.md length
2,066 words
Files
4 (incl. references)
Skills in repo
4
Repo updated
First seen
Licence
MIT

At a glance

Prepare, audit, bootstrap, publish, verify, or recover Oliphaunt releases across GitHub, crates.io, npm, Maven Central, and SwiftPM.

  • Works in 8 steps: Read src/docs/maintainers/release.md and… → For registry/GitHub setup, identity… → For a failed or partially public… → …
  • Publication failures
  • SKILL.md covers Start, Choose the operation, Local gates and Handoff
  • Calls bash and git

What it does

Release Oliphaunt is an agent skill from f0rr0/oliphaunt. Prepare, audit, bootstrap, publish, verify, or recover Oliphaunt releases across GitHub, crates.io, npm, Maven Central, and SwiftPM. Use for release PRs, version bumps, changelogs, registry setup, publication failures, missing tags/packages, or first-release work.

Its SKILL.md is about 4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `agents/openai.yaml`, `references/invariants.md` and `references/recovery.md`).

It sits in Development, covering Changelog and release notes. It works with GitHub, npm and Swift. The repository describes itself as: Embedded Postgres inside your apps and tests. No Docker, Node.js, or server. As easy as SQLite. The licence is MIT.

When your agent uses it

  • Publication failures
  • Missing tags/packages
  • First-release work

Example prompts

  • “/release-oliphaunt”

Workflow steps

8 steps, taken from the first numbered list in SKILL.md.

  1. Read src/docs/maintainers/release.md and references/invariants.md.
  2. For registry/GitHub setup, identity bootstrap, or trusted-publisher work,
  3. For a failed or partially public release, also read references/recovery.md before changing state.
  4. Record the candidate commit with git rev-parse HEAD; keep that SHA
  5. Inspect git status, product versions, existing product tags/releases, registry identities, and the latest exact-SHA CI run. Report any…
  6. Use bash tools/dev/bun.sh tools/release/audit-github-release-controls.mts
  7. Generate trusted-publisher work from the approved publication lock with bash tools/release/trusted-publisher-config.sh. Its default mode…
  8. On a generated release PR, treat Release Please as the candidate authority

What it can do on your machine

Read from SKILL.md and the folder at commit 31b5803. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • bash
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Release Oliphaunt loads about 4k tokens when it runs, and up to ~6.2k if it reads all its reference files. Until then it costs about 71 tokens; SKILL.md has 2,066 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~71
When it runs · the whole SKILL.md, loaded when a task matches
~4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from f0rr0/oliphaunt at commit 31b5803, republished under its MIT licence (© f0rr0). 2,066 words, ~4,004 tokens.

Download SKILL.mdSave it as .claude/skills/release-oliphaunt/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
release-oliphaunt
description
Prepare, audit, bootstrap, publish, verify, or recover Oliphaunt releases across GitHub, crates.io, npm, Maven Central, and SwiftPM. Use for release PRs, version bumps, changelogs, registry setup, publication failures, missing tags/packages, or first-release work.

Release Oliphaunt

Treat a release as a frozen, exact-SHA promotion of already-qualified artifacts. Never rebuild binary producer outputs or substitute artifacts. The publish operation prepares the complete candidate once, conditionally bootstraps missing names, and publishes it. Dependent jobs install the same immutable candidate and verify its complete contents against the lock.

Qualification may be exhaustive or selected through CI's release_products_json input with every platform selector at all. The existing candidate record binds product scope, required tasks and exact SHA; publication rejects a product outside that scope. Generated release PRs and their main merge derive scope automatically from the actual manifest transition; only main push or eligible main dispatch can produce publishable evidence. Publication first reuses covering completed CI or awaits an active main/requested run. If none exists, a separate dispatch-only job requests CI for the selected products, provided main still equals the exact candidate SHA. Failed causal runs stop with their URL; resume by rerunning that run. An ambiguous dispatch is never retried automatically. Cross-commit binary reuse remains pending.

Local checks use bash tools/release/release-check.sh for source metadata/release-tool tests and bash tools/release/release-check-registries.sh --products-json JSON --head-ref REF for selected registry state. These commands do not publish or assemble a release candidate; test fixtures may create local packages. Product rehearsal uses the selected owners' package and artifact/consumer tasks. Candidate preparation runs on Ubuntu, consuming qualified outputs without product compilers. Publication uses macOS for its actual public Swift consumer, not for portable release metadata. Candidate preparation verifies qualification once, checks registry state once, and checks that the source is still clean at its exact SHA immediately before assembly. Publication retains its live registry recheck at the mutation boundary.

Select release products and versions from the publication catalog and product-local metadata. PostgreSQL 18 contrib SQL members belong to the logical oliphaunt-extension-contrib-pg18 distribution, not an independently versioned release product. Its native and WASIX carriers inherit the corresponding runtime product version; members remain exact nested artifacts. External extensions own independent packaging SemVer and record their upstream source identity separately. Never infer one repository-wide extension version, and do not treat target/ecosystem carriers as additional products.

Start

  1. Read src/docs/maintainers/release.md and references/invariants.md.
  2. For registry/GitHub setup, identity bootstrap, or trusted-publisher work, also read src/docs/maintainers/release-setup.md.
  3. For a failed or partially public release, also read references/recovery.md before changing state.
  4. Record the candidate commit with git rev-parse HEAD; keep that SHA unchanged through qualification, lock creation, publish, and any retry. A product change requires fresh qualification. A narrowly permitted publication-only controller fix may reuse the unchanged approved candidate.
  5. Inspect git status, product versions, existing product tags/releases, registry identities, and the latest exact-SHA CI run. Report any public collision before attempting a mutation.
  6. Use bash tools/dev/bun.sh tools/release/audit-github-release-controls.mts for release setup and before public registry/tag/asset mutation, with the truthful credential lifecycle. It is not a gate for ordinary branch pushes, release-PR preparation or CI qualification: those jobs do not receive the protected release-bootstrap secrets. Record unrelated setup findings without stopping source work or changing credentials. For publication, use --governance solo --bootstrap-state idle only when bootstrap tokens are absent. Use ready only for imminent first-identity bootstrap after every reviewed short-lived token required by the approved lock is installed. Provision neither token when the exact scope needs neither registry; use retired after trusted publishers are configured and provisioned tokens revoked. Select team only with an independent maintainer. Release-safety FAIL findings block the affected public mutation; WARN does not become a solo-release blocker. The bootstrap job still checks required credentials against the approved lock immediately before it publishes.
  7. Generate trusted-publisher work from the approved publication lock with bash tools/release/trusted-publisher-config.sh. Its default mode is offline/read-only. Use authenticated --audit before considering --apply; mutation additionally requires the exact printed lock digest. Run npm audit and apply directly in a terminal because each classification pass starts with a discarded read-only TTY authentication warm-up before the bounded captured reads, and supply a fresh --output path for the atomically created mode-0600 JSON evidence. Configure the direct workflow release.yml and release-publish environment. Keep release credentials only in their protected environments; do not add repository-level copies or a reusable-workflow secret bridge.
  8. On a generated release PR, treat Release Please as the candidate authority and sync-release-pr.mts as the deterministic selected-candidate metadata closer. The pinned Release Please library selects shared-contrib candidates through the declared release-ownership graph; sync chooses no new versions or changelogs. Ordinary task dependencies are not automatic release bumps. In an isolated clean checkout, bash tools/release/prepare-release-pr.sh OUTPUT_DIR generates locally. If OUTPUT_DIR/required is true, bash tools/release/close-release-candidate.sh OUTPUT_DIR commits locally, closes manifests and locks, and verifies the candidate. These commands read GitHub metadata but do not push. Only the workflow .github/scripts/publish-release-pr.sh OUTPUT_DIR mutates the remote PR, after local validation succeeds. The preparation entrypoint already checks that no merged main release PR is still pending; do not repeat that check as a separate preparation phase. Before bootstrap or normal publication mutates public state, require assert-markable for the exact release SHA. Reassert it immediately before promotion; after promotion, require the exact release PR to be autorelease: tagged with autorelease: pending absent.

Choose the operation

Do not stack mutating release dispatches. GitHub concurrency protects the active mutation but retains only one pending run, so a newer dispatch can replace an older pending dispatch. Wait for the active bootstrap, publish, or release-PR mutation to finish before starting another.

Treat .github/workflows/release.yml as the sole release workflow. Its credential-bearing jobs directly select their protected environments. Bootstrap and normal recovery rerun the original failed workflow run at the same release commit and frozen candidate.

A root publish dispatch must run from the qualified current main commit. At the mutation boundary the transport helper first reads oliphaunt-release-transport/<full-sha> and accepts only a lightweight direct-commit tag at that exact SHA. When the tag is absent, or the root is on its first run attempt, the helper must reverify current main before it may create or accept the tag; creating an absent tag is the root generation's first mutation. Only a genuine GitHub rerun (GITHUB_RUN_ATTEMPT > 1) of the exact root operation and original refs/heads/main workflow SHA may reuse an already exact tag after main advances. Wrong, annotated, or missing tags fail closed, and a missing tag always requires the current-main proof even on a rerun. The tag is the immutable transaction ref: never update or delete it. A rerun validates that exact tag, SHA, tree, approved candidate, and ledger instead of reconsulting moving main. A later ordinary merge does not invalidate an already pinned release transaction. Bootstrap's contents: write permission exists solely so the root bootstrap job can create this transport tag and must not be used for another repository mutation.

  • Prepare: synchronize release-owned files, run release checks, create the generated release PR, and stop for review.
  • Bootstrap: use the dedicated bootstrap environment only for identities that cannot use trusted publishing until their first package exists, including generated part identities introduced by a future lock. For npm, require a short-lived granular token with explicit @oliphaunt scope selection, Packages and scopes Read and write, and 2FA bypass, owned by a 2FA-enabled actor with scope write access; an ordinary token can authenticate yet fail the noninteractive publish with EOTP. The publish operation prepares oliphaunt-publication-lock and oliphaunt-publication-candidate first, then passes immutable artifact IDs to this conditional job. Publish only those frozen Cargo/npm bytes without rebuilding. Inventory the exact lock first and freeze only wholly absent names into the carrier-level bootstrap ledger; leave existing names awaiting the locked version for normal trusted publication. Provision only the registry token required by that scope. On rerun, a scoped name that exists without the exact version is a conflict. Model crates.io's documented token bucket; never accept an unverifiable numeric capacity assertion. Execute one sequential Cargo lane and one sequential npm lane, overlap only independent carriers, and preserve dependencies within the absent-name scope. A scoped npm package may leave an optional dependency on an existing name to the normal trusted-publication graph; other unavailable locked dependencies fail closed. If one hosted job cannot finish, drain in-flight uploads, reconcile receipts, upload the canonical hash-chained checkpoint, and fail as incomplete with the exact manual rerun command and not-before time. The maintainer reruns the failed job of that original workflow run; the rerun restores only the same release/lock/candidate identity and skips byte-matching public versions. A valid 429 Retry-After may defer; ambiguous uploads, timeouts, integrity mismatches, malformed responses, and checkpoint failures remain hard failures. After every scoped identity has a receipt, use that exact lock with tools/release/trusted-publisher-config.sh: its default plan has no network access, --audit is read-only, and mutation requires both --apply and the exact --confirm-lock-digest. Run npm audit/apply in a real TTY and retain each fresh --output JSON report, never the discarded authentication warm-up display. Require workflow release.yml, environment release-publish, and npm publish-only permission; reject extra or mismatched configurations. Publication continues automatically. Configure trusted publishers and revoke bootstrap credentials before the next release.
  • Publish: prepare the frozen candidate, bootstrap absent Cargo/npm names if needed, then publish in the same run. Require a successful exact-SHA Qualified gate, complete artifact set, frozen publication lock, and exact Release Please PR markability proof. Pin the immutable transport, stage GitHub drafts/assets/attestations, attempt the complete dependency-ordered registry plan once, verify public consumers, and promote last in one protected job. Do not predict registry capacity or create a normal checkpoint, continuation, or phase handoff. Honor a valid Retry-After while the deadline permits. If the run stops, the maintainer uses GitHub's rerun on the original Release run at the exact same commit; byte-prove matching immutable state and publish only what remains absent. Reuse a complete verified bootstrap ledger, assemble an exhaustive exact-lock receipt set, and preserve receipt-bound public-consumer evidence. npm's trusted credential cannot move dist-tags, so publish each exact npm version with its normal tag.
  • Recover: inventory external state first, then rerun root publish at the exact same release commit with the same approved publication candidate. Use GitHub's rerun for the original failed Release run, not a fresh dispatch after main moves; the original run and referenced artifacts must still be available. Prove and skip matching immutable state; publish only what remains absent. Product fixes require a new candidate and normal versioning. A publication-only fix may dispatch publish with the original release_commit and approval_run_id; the previous run must have completed with a successful candidate preparation job (or a successful legacy dry-run). Bootstrap uses the same manual rerun rule and its lock-bound checkpoint chain.
Show full SKILL.md (345 more words)Show less

Local gates

If the candidate changes WASIX source pins, build recipes, toolchain inputs, or producer code, require the product-owned portable/AOT build and runtime checks.

Run these from the repository root:

sh
bash tools/release/release-check.sh
bash src/extensions/tools/check-extension-model.sh --check

Release Please selects direct candidates from configured product paths. The ownership plugin also supplies commits affecting declared shared shipped sources, bounded by each product's published history. Review that selection against the actual changed behavior; correct missing ownership in the graph rather than copying source or adding repository-meta fingerprints to force a candidate.

For a normalized generated release PR, ordinary Moon task dependencies affect qualification; declared release ownership controls shared-source candidate selection. Native, WASIX, SDKs, bindings, resources, tools and external extensions are independently versioned. Sync updates compatibility pins only for consumers already selected by Release Please, using the dependency versions qualified at that commit; unselected consumers retain their older published pins. A selected consumer's dependency must be selected at the exact pinned version or already published with matching tag and carrier bytes.

sh
bash tools/release/sync-release-pr.sh
bash tools/release/sync-release-pr.sh --check

Use publish to prepare and freeze the complete candidate from exact-SHA artifacts, bootstrap absent names if needed, and publish in the same run. The operator supplies a prior candidate run ID only for recovery.

The committed extension evidence table may say requires-exact-candidate-ci; that is an honest pre-qualification state, not permission to skip the lane. The selected CI run must provide the current evidence artifact. Do not use --allow-dirty for release evidence. Do not publish from a local rebuild, a different workflow run, a branch name, or a moving ref.

After a first-identity bootstrap seals, run the trusted-publisher helper without flags first and record its exact lockDigest and npm batch count. Audit Cargo and every npm batch before explicit apply, rerun the same batch after an interruption, and retain final reports showing no missing or conflicting configuration. Require registry publisher workflow release.yml, environment release-publish, and the exact npm publish-only permission.

Handoff

State the candidate SHA, immutable release transport tag, selected products and versions, exact CI run, lock digest, registry/bootstrap state, completed publication phases, and any remaining irreversible action. Distinguish product releases from target/ecosystem carrier packages.

© f0rr0, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (references) in .codex/skills/release-oliphaunt of f0rr0/oliphaunt.

  • SKILL.md
  • agents/openai.yaml
  • references/invariants.md
  • references/recovery.md

Open the folder on GitHubat commit 31b5803

Compare with similar skills

Release Oliphaunt next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Release Oliphaunt compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Release Oliphaunt this skillf0rr0/oliphaunt105—~4kAutomated safety check: PassMIT
Cutting A ReleaseTriliumNext/Trilium38k—~3.2kAutomated safety check: PassAGPL-3.0
Verdaccio Pull Request Workflowverdaccio/verdaccio18k—~1.9kAutomated safety check: PassMIT
Hunk Release Workflowmodem-dev/hunk9.5k—~3.8kAutomated safety check: PassMIT
Version ReleaseNG-ZORRO/ng-zorro-antd9.2k—~3.1kAutomated safety check: PassMIT
Release Roundethereumjs/ethereumjs-monorepo2.8k—~2kAutomated safety check: PassNone

Similar skills

  • Cutting A Release

    TriliumNext/Trilium

    A skill your agent uses when cutting, preparing, or debugging a Trilium release — bumping the monorepo version, tagging, or diagnosing a failed "Release" workflow run.

    38k GitHub stars~3.2k tokensUpdated today
    DevelopmentAuto-check passed
  • Takes a change through a verdaccio pull request: branch, local checks, changeset, title and body, labels, CI and review rounds, and ports to other release lines.

    18k GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-check passed
  • Hunk Release Workflow

    modem-dev/hunk

    Maintainer workflow for preparing, publishing, verifying and curating Hunk releases, with confirmation gates before tags, publishes and public edits.

    9.5k GitHub stars~3.8k tokensUpdated today
    DevelopmentAuto-check passed
  • Version Release

    NG-ZORRO/ng-zorro-antd

    NG-ZORRO/ng-zorro-antd repository release workflow. An agent skill from NG-ZORRO/ng-zorro-antd.

    9.2k GitHub stars~3.1k tokensUpdated 7 days ago
    DevelopmentAuto-check passed
  • Release Round

    ethereumjs/ethereumjs-monorepo

    Runs a coordinated EthereumJS npm release round in six human-gated phases — intent and readiness, CHANGELOG, version bump, publish (human executes), post-publish verification, and announcements.

    2.8k GitHub stars~2k tokensUpdated 19 days ago
    DevelopmentAuto-check passed
  • Ccb GitHub

    SeemSeam/claude_codex_bridge

    Maintain this CCB project's GitHub-facing release and npm publication surface.

    3.5k GitHub stars~4.9k tokensUpdated yesterday
    DevelopmentAuto-check passed

More from f0rr0/oliphaunt

  • Add, update, or remove an Oliphaunt PostgreSQL contrib or external extension, including source pins, build recipes, target support, SDK metadata, release products, carrier identities, and package…

    105 GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Write Oliphaunt Docs

    f0rr0/oliphaunt

    Write, rewrite, audit, or redesign Oliphaunt developer documentation.

    105 GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Select, run, and diagnose Oliphaunt local and GitHub CI qualification for code, package, extension, SDK, policy, workflow, or release changes.

    105 GitHub stars~2.8k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Release Oliphaunt

What does Release Oliphaunt do?

Prepare, audit, bootstrap, publish, verify, or recover Oliphaunt releases across GitHub, crates.io, npm, Maven Central, and SwiftPM. Release Oliphaunt is an agent skill from f0rr0/oliphaunt.io, npm, Maven Central, and SwiftPM.

When should I use Release Oliphaunt?

Release Oliphaunt fits situations like: publication failures; missing tags/packages; first-release work.

How do I install Release Oliphaunt in Claude Code?

Run `npx skills add f0rr0/oliphaunt --skill release-oliphaunt -a claude-code`. Or copy the skill folder (.codex/skills/release-oliphaunt in f0rr0/oliphaunt) into .claude/skills/release-oliphaunt in your project. Claude Code loads it when a task matches its description.

How do I install Release Oliphaunt in Codex?

Run `npx skills add f0rr0/oliphaunt --skill release-oliphaunt -a codex`. Or copy the skill folder (.codex/skills/release-oliphaunt in f0rr0/oliphaunt) into .agents/skills/release-oliphaunt in your project. Codex loads it when a task matches its description.

Can I use Release Oliphaunt in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add f0rr0/oliphaunt --skill release-oliphaunt -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/release-oliphaunt, .gemini/skills/release-oliphaunt, .github/skills/release-oliphaunt and .opencode/skills/release-oliphaunt in your project.

What does Release Oliphaunt need to run?

Going by SKILL.md and its folder, Release Oliphaunt needs the command-line tools its instructions call (bash and git).

Does Release Oliphaunt access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Release Oliphaunt safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Release Oliphaunt use?

Release Oliphaunt is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Release Oliphaunt use?

About 4k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.2k tokens, read only when the agent opens those files.

What are the alternatives to Release Oliphaunt?

Skills that share tags, products or a category with Release Oliphaunt: Cutting A Release (TriliumNext/Trilium, 38k stars), Verdaccio Pull Request Workflow (verdaccio/verdaccio, 18k stars), Hunk Release Workflow (modem-dev/hunk, 9.5k stars) and Version Release (NG-ZORRO/ng-zorro-antd, 9.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Release Oliphaunt?

f0rr0 (a GitHub user) maintains it in f0rr0/oliphaunt, which has 105 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 7, 2026.

Source: f0rr0/oliphaunt on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.