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.
Prepare, audit, bootstrap, publish, verify, or recover Oliphaunt releases across GitHub, crates.io, npm, Maven Central, and SwiftPM.
$ npx skills add f0rr0/oliphaunt --skill release-oliphaunt -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install f0rr0/oliphaunt release-oliphaunt --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "release-oliphaunt" agent skill from https://github.com/f0rr0/oliphaunt/tree/main/.codex/skills/release-oliphaunt into .claude/skills/release-oliphaunt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-oliphaunt", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/f0rr0/oliphaunt/tree/main/.codex/skills/release-oliphauntType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add f0rr0/oliphaunt --skill release-oliphaunt -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install f0rr0/oliphaunt release-oliphaunt --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/f0rr0/oliphaunt.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.codex/skills/release-oliphaunt .agents/skills/release-oliphaunt && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "release-oliphaunt" agent skill from https://github.com/f0rr0/oliphaunt/tree/main/.codex/skills/release-oliphaunt into .agents/skills/release-oliphaunt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-oliphaunt", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add f0rr0/oliphaunt --skill release-oliphaunt -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install f0rr0/oliphaunt release-oliphaunt --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/f0rr0/oliphaunt.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.codex/skills/release-oliphaunt .cursor/skills/release-oliphaunt && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "release-oliphaunt" agent skill from https://github.com/f0rr0/oliphaunt/tree/main/.codex/skills/release-oliphaunt into .cursor/skills/release-oliphaunt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-oliphaunt", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/f0rr0/oliphaunt.git --path .codex/skills/release-oliphaunt--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add f0rr0/oliphaunt --skill release-oliphaunt -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install f0rr0/oliphaunt release-oliphaunt --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/f0rr0/oliphaunt.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.codex/skills/release-oliphaunt .gemini/skills/release-oliphaunt && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "release-oliphaunt" agent skill from https://github.com/f0rr0/oliphaunt/tree/main/.codex/skills/release-oliphaunt into .gemini/skills/release-oliphaunt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-oliphaunt", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install f0rr0/oliphaunt release-oliphauntInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add f0rr0/oliphaunt --skill release-oliphaunt -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/f0rr0/oliphaunt.git skills-src && mkdir -p .github/skills && cp -r skills-src/.codex/skills/release-oliphaunt .github/skills/release-oliphaunt && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "release-oliphaunt" agent skill from https://github.com/f0rr0/oliphaunt/tree/main/.codex/skills/release-oliphaunt into .github/skills/release-oliphaunt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-oliphaunt", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add f0rr0/oliphaunt --skill release-oliphaunt -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install f0rr0/oliphaunt release-oliphaunt --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/f0rr0/oliphaunt.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.codex/skills/release-oliphaunt .opencode/skills/release-oliphaunt && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "release-oliphaunt" agent skill from https://github.com/f0rr0/oliphaunt/tree/main/.codex/skills/release-oliphaunt into .opencode/skills/release-oliphaunt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-oliphaunt", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
release-oliphauntPrepare, 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. 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.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 31b5803. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
bashgitFrom the folder's file list and the shell code blocks in SKILL.md.
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.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from f0rr0/oliphaunt at commit 31b5803, republished under its MIT licence (© f0rr0). 2,066 words, ~4,004 tokens.
.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.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.
src/docs/maintainers/release.md and references/invariants.md.src/docs/maintainers/release-setup.md.references/recovery.md before changing state.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.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.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.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.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.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.
@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.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.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.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:
bash tools/release/release-check.sh
bash src/extensions/tools/check-extension-model.sh --checkRelease 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.
bash tools/release/sync-release-pr.sh
bash tools/release/sync-release-pr.sh --checkUse 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.
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
SKILL.md and 3 other files (references) in .codex/skills/release-oliphaunt of f0rr0/oliphaunt.
Open the folder on GitHubat commit 31b5803
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Release Oliphaunt this skillf0rr0/oliphaunt | 105 | — | ~4k | Automated safety check: Pass | MIT | |
| Cutting A ReleaseTriliumNext/Trilium | 38k | — | ~3.2k | Automated safety check: Pass | AGPL-3.0 | |
| Verdaccio Pull Request Workflowverdaccio/verdaccio | 18k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Hunk Release Workflowmodem-dev/hunk | 9.5k | — | ~3.8k | Automated safety check: Pass | MIT | |
| Version ReleaseNG-ZORRO/ng-zorro-antd | 9.2k | — | ~3.1k | Automated safety check: Pass | MIT | |
| Release Roundethereumjs/ethereumjs-monorepo | 2.8k | — | ~2k | Automated safety check: Pass | None |
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.
verdaccio/verdaccio
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.
modem-dev/hunk
Maintainer workflow for preparing, publishing, verifying and curating Hunk releases, with confirmation gates before tags, publishes and public edits.
NG-ZORRO/ng-zorro-antd
NG-ZORRO/ng-zorro-antd repository release workflow. An agent skill from NG-ZORRO/ng-zorro-antd.
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.
SeemSeam/claude_codex_bridge
Maintain this CCB project's GitHub-facing release and npm publication surface.
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…
f0rr0/oliphaunt
Write, rewrite, audit, or redesign Oliphaunt developer documentation.
f0rr0/oliphaunt
Select, run, and diagnose Oliphaunt local and GitHub CI qualification for code, package, extension, SDK, policy, workflow, or release changes.
Categories
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.
Release Oliphaunt fits situations like: publication failures; missing tags/packages; first-release work.
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.
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.
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.
Going by SKILL.md and its folder, Release Oliphaunt needs the command-line tools its instructions call (bash and git).
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.
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.
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.
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.
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.
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.