Ssh Skill
badseal/ssh-skill
A skill your agent uses when a task requires SSH or SCP/SFTP behavior, a remote server, server alias/IP/hostname/user@host, bastion or jump-host access, remote command execution, upload/download…
Promote a QA'd Sculptor release candidate to a full production release: verify the RC build is green and has been QA'd, then from the release branch run just promote-release (which strips the rcN…
$ npx skills add imbue-ai/sculptor --skill promote-release -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install imbue-ai/sculptor promote-release --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/imbue-ai/sculptor.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/promote-release .claude/skills/promote-release && 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 "promote-release" agent skill from https://github.com/imbue-ai/sculptor/tree/main/.claude/skills/promote-release into .claude/skills/promote-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "promote-release", 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/imbue-ai/sculptor/tree/main/.claude/skills/promote-releaseType 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 imbue-ai/sculptor --skill promote-release -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install imbue-ai/sculptor promote-release --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/imbue-ai/sculptor.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/promote-release .agents/skills/promote-release && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "promote-release" agent skill from https://github.com/imbue-ai/sculptor/tree/main/.claude/skills/promote-release into .agents/skills/promote-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "promote-release", 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 imbue-ai/sculptor --skill promote-release -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install imbue-ai/sculptor promote-release --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/imbue-ai/sculptor.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/promote-release .cursor/skills/promote-release && 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 "promote-release" agent skill from https://github.com/imbue-ai/sculptor/tree/main/.claude/skills/promote-release into .cursor/skills/promote-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "promote-release", 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/imbue-ai/sculptor.git --path .claude/skills/promote-release--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 imbue-ai/sculptor --skill promote-release -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install imbue-ai/sculptor promote-release --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/imbue-ai/sculptor.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/promote-release .gemini/skills/promote-release && 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 "promote-release" agent skill from https://github.com/imbue-ai/sculptor/tree/main/.claude/skills/promote-release into .gemini/skills/promote-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "promote-release", 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 imbue-ai/sculptor promote-releaseInstalls 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 imbue-ai/sculptor --skill promote-release -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/imbue-ai/sculptor.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/promote-release .github/skills/promote-release && 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 "promote-release" agent skill from https://github.com/imbue-ai/sculptor/tree/main/.claude/skills/promote-release into .github/skills/promote-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "promote-release", 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 imbue-ai/sculptor --skill promote-release -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install imbue-ai/sculptor promote-release --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/imbue-ai/sculptor.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/promote-release .opencode/skills/promote-release && 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 "promote-release" agent skill from https://github.com/imbue-ai/sculptor/tree/main/.claude/skills/promote-release into .opencode/skills/promote-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "promote-release", 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.
promote-releasePromote a QA'd Sculptor release candidate to a full production release: verify the RC build is green and has been QA'd, then from the release branch run just promote-release (which strips the rcN…
Promote Release is an agent skill from imbue-ai/sculptor. Promote a QA'd Sculptor release candidate to a full production release: verify the RC build is green and has been QA'd, then from the release branch run just promote-release (which strips the rcN suffix, commits X.Y.0, and pushes the sculptor-vX.Y.0 tag that triggers the production build) and babysit that build up to its manual approval gate. Handles the colocated jj + git working copy and the CI flake/outage/zombie recovery playbook. Stops AT the approval gate — never approves it for you. Use when asked to…
Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in DevOps & Cloud, covering Incident response and Git workflow. It works with Git. The repository describes itself as: Build product with grounded, parallel coding agents. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit f847102. 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:
ghgitjustpython3curlFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
imbue-sculptor-releases.s3.amazonaws.comFrom 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.
Promote Release loads about 2.1k tokens when it runs. Until then it costs about 152 tokens; SKILL.md has 898 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 imbue-ai/sculptor at commit f847102, republished under its MIT licence (© imbue-ai). 898 words, ~2,058 tokens.
.claude/skills/promote-release/SKILL.md (or your agent's skills folder).Turn a release candidate on release/sculptor-vX.Y.0 into the promoted X.Y.0
release. Read docs/development/release_ci_playbook.md first — the version
model, approval-gate policy, flake-vs-outage triage, zombie recovery, and jj
working-copy rules all live there and this skill depends on them. That playbook
is a living document: anything new you learn promoting a release goes back
into it in the same change.
Gate before you start: promotion publishes the real thing. Confirm the RC
build for the current rcN went green and was actually QA'd before running
anything here. If it wasn't QA'd, stop and get that done first.
Don't assume the newest release branch is the one to ship. Branches get cut and abandoned: 0.41 and 0.43 were both cut and never promoted, so production went 0.42.0 → 0.44.0 directly.
git fetch origin --tags --prune
git branch -r --list 'origin/release/*' | sort -V | tail -5 # candidate branches
git tag -l 'sculptor-v*' --sort=-v:refname | head # rcN tags
gh release list --limit 10 # what actually shippedRead those together:
rcN prerelease appears in
gh release list. That publication is proof the RC build went green and a
human approved its gate — stronger evidence than "the build was green".Latest) entry is what production runs today.promote-release runs git checkout-based checks and needs a real git
branch (release/sculptor-vX.Y.0) with a clean tree — not the usual jj
detached HEAD.
jj st # working copy clean/empty?
git fetch origin release/sculptor-vX.Y.0
git checkout release/sculptor-vX.Y.0
cd sculptor && python3 -c "import tomllib; print(tomllib.load(open('pyproject.toml','rb'))['project']['version'])"; cd .. # expect X.Y.0rcNIf jj st shows unrelated working-copy work, preserve it first (bookmark +
jj new, per the playbook) before the checkout — never discard it.
Sanity checks the recipe also enforces, worth confirming yourself:
release/sculptor-vX.Y.0 and the version is an rcN pre-release.git fetch --prune && git status --porcelain=2 --branch | grep '^# branch.ab'just promote-releaseThis strips the pre-release suffix (X.Y.0rcN → X.Y.0), commits the version on
the release branch, and pushes tag sculptor-vX.Y.0 — which triggers the
production release build. Capture the release version and tag from the output.
Two outputs look wrong but are normal (playbook field notes, 2026-08-14):
Releasing Sculptor <old rcN version> from git sha ... — a stale
pyproject_version() echo. The version actually released is the stripped one.Bypassed rule violations for refs/tags/... creations being restricted on the
tag push. Expected — but it means you need tag-creation bypass on the repo
ruleset; without it the promotion fails right here.Same polling and recovery as an RC build (playbook: "Polling a build", "Flake vs. outage", "Zombie runs"):
gh run list --workflow=build-desktop.yml --limit 5 # find the sculptor-vX.Y.0 run
gh run view <run_id> --json status,conclusion -q '.status + " / " + (.conclusion // "running")'
gh api repos/imbue-ai/sculptor/actions/runs/<run_id>/pending_deployments -q 'length'gh run rerun <run_id> --failed, or a
full rerun after a cancellation).linux-arm64 is survivable: it is allow-failure: true, and the publisher
skips a non-blocking target whose artifacts are missing. The release ships
without that architecture — rerun the job if you want arm64 included.githubstatus.com, back off, don't retry into it.pending_deployments ≥ 1, run status = waiting, release desktop (S3 publish + gh release) = waiting) → verify, then stop.Note: if the production build is unrecoverable but the RC was fine, promotion
isn't the place to cut a new RC — that's fixup-release on the RC side. A
promoted release that later needs patching uses just hotfix-release (see the
playbook's version model).
Check what will actually ship before handing it over — allow-failure jobs report
success to needs, so the gate can open with a red linux-arm64:
gh run view <run_id> --json jobs -q '.jobs[] | .name + " -> " + (.conclusion // "—")'Then report that the build is parked at the release environment approval gate,
and do not approve it. Per the playbook: surface it, give the user the run URL
plus the env id, show them how to approve themselves (UI Review deployments, or
the gh api ... pending_deployments ... state=approved command), and if asked to
approve, push back gently once, then comply if they insist.
If arm64 is red, rerun it first when you want that architecture in the release — and either way, tell the user which architectures this release will contain.
Confirm the publish actually landed; don't trust the job status alone:
gh run view <run_id> --json conclusion -q .conclusion # success
gh release view sculptor-vX.Y.0 --json isPrerelease,isDraft # false / false
curl -s https://imbue-sculptor-releases.s3.amazonaws.com/slim/AppImage/x64/latest-linux.yml | grep '^version:'That last one matters most — the auto-update manifests are the channel that actually reaches users. (A release with 0 assets is normal: artifacts live in S3 and the release body just links them.)
Follow-ups this skill does not do:
write-release-notes). The range starts at the prior
promoted tag, which may be several minors back — 0.44.0's notes had to cover
0.42.0 → 0.44.0 because 0.43 never shipped. Scoping to the previous release
branch silently drops half of what users are receiving. The release body is
pipeline boilerplate (title + ## Assets); splice notes in above ## Assets
and preserve that block verbatim, via
gh release edit <tag> --notes-file <file>. Do not sign a published product
changelog (Sent by Claude) — CLAUDE.md's transparency rule targets PR, issue,
and chat messages, not user-facing release copy.update-help-docs — optional / deprecated. The help docs
(docs/help/) are no longer actively maintained, so refreshing them is no
longer part of the promotion follow-up. Skip it by default; only run it (from
the release branch) if you specifically want to update a page.#sculptor-release automatically on
a successful publish.Learned something the playbook doesn't cover? Add it to
docs/development/release_ci_playbook.md (Field notes) and commit it in the
same change. You have write access — write it down for the next promoter.
© imbue-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/promote-release of imbue-ai/sculptor.
Open the folder on GitHubat commit f847102
Promote Release 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 |
|---|---|---|---|---|---|---|
| Promote Release this skillimbue-ai/sculptor | 238 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Ssh Skillbadseal/ssh-skill | 538 | — | ~2.4k | Automated safety check: Notes | None | |
| GreptimeDB Release RunbookGreptimeTeam/greptimedb | 6.7k | — | ~1.4k | Automated safety check: Pass | Apache-2.0 | |
| Rtk Skillsopaco/deepwiki-rs | 3.1k | — | ~1.4k | Automated safety check: Pass | MIT | |
| GitLab ExplorerWide-Moat/open-computer-use | 126 | — | ~891 | Automated safety check: Pass | Custom licence | |
| Secrets GitleaksAgentSecOps/SecOpsAgentKit | 220 | 2 repos | ~4.1k | Automated safety check: Pass | Custom licence |
badseal/ssh-skill
A skill your agent uses when a task requires SSH or SCP/SFTP behavior, a remote server, server alias/IP/hostname/user@host, bastion or jump-host access, remote command execution, upload/download…
GreptimeTeam/greptimedb
Runbook for publishing a GreptimeDB version: pick the release branch, verify the Cargo version, then tag, create the GitHub release and open the docs note PR.
sopaco/deepwiki-rs
A skill your agent uses when running shell commands that produce verbose output (git, test, build, lint, package managers, docker).
Wide-Moat/open-computer-use
Explore GitLab repositories using glab CLI and git commands.
AgentSecOps/SecOpsAgentKit
Hardcoded secret detection and prevention in git repositories and codebases using Gitleaks.
VeriTeknik/pluggedin-app
A skill your agent uses when deploying, restarting, verifying or rolling back the containerised plugged.in production stack, when the site returns 404 or 5xx after a deploy or git operation, or when…
imbue-ai/sculptor
QA the Sculptor mobile web UI on a real iOS Simulator, driven headlessly from a Mac.
imbue-ai/sculptor
Compare React component render counts between origin/main and the current branch during a user-defined UI scenario (e.g.
imbue-ai/sculptor
Post a one-line PR announcement to a Slack channel, and mark it :merged: when the PR merges.
imbue-ai/sculptor
Run Claude programmatically against collections of files in the codebase.
imbue-ai/sculptor
Build or modify a Sculptor extension — a runtime ESM module loaded into the Sculptor UI.
imbue-ai/sculptor
Review a set of code changes against Sculptor's review categories and produce a markdown findings table.
Works with
Categories
Promote a QA'd Sculptor release candidate to a full production release: verify the RC build is green and has been QA'd, then from the release branch run just promote-release (which strips the rcN…. Promote Release is an agent skill from imbue-ai/sculptor.0 tag that triggers the production build) and babysit that build up to its manual approval gate.
Promote Release fits situations like: the production build) and babysit that build up to its manual approval gate; asked to promote a release; ship the release; turn an RC into the real release.
Run `npx skills add imbue-ai/sculptor --skill promote-release -a claude-code`. Or copy the skill folder (.claude/skills/promote-release in imbue-ai/sculptor) into .claude/skills/promote-release in your project. Claude Code loads it when a task matches its description.
Run `npx skills add imbue-ai/sculptor --skill promote-release -a codex`. Or copy the skill folder (.claude/skills/promote-release in imbue-ai/sculptor) into .agents/skills/promote-release 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 imbue-ai/sculptor --skill promote-release -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/promote-release, .gemini/skills/promote-release, .github/skills/promote-release and .opencode/skills/promote-release in your project.
Going by SKILL.md and its folder, Promote Release needs the command-line tools its instructions call (gh, git, just, python3 and curl). Our summary lists: Python 3.
SKILL.md names 1 domain. In commands or code: imbue-sculptor-releases.s3.amazonaws.com; the agent is likely to contact it when it follows the instructions. 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.
Promote Release is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Promote Release: Ssh Skill (badseal/ssh-skill, 538 stars), GreptimeDB Release Runbook (GreptimeTeam/greptimedb, 6.7k stars), Rtk Skill (sopaco/deepwiki-rs, 3.1k stars) and GitLab Explorer (Wide-Moat/open-computer-use, 126 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
imbue-ai (a GitHub organization) maintains it in imbue-ai/sculptor, which has 238 GitHub stars. The repository holds 29 skills in this directory. The repository was last updated on October 9, 2026.
Source: imbue-ai/sculptor on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.