Obsidian Incident Runbook
jeremylongshore/tons-of-skills-marketplace
Troubleshoot Obsidian plugin failures with systematic incident response.
Cut a new Sculptor release candidate from main: run just cut-release (which creates the release/sculptor-vX.Y.0 branch at X.Y.0rc1, pushes the tag that triggers the RC build, and opens a PR bumping…
$ npx skills add imbue-ai/sculptor --skill cut-release -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install imbue-ai/sculptor cut-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/cut-release .claude/skills/cut-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 "cut-release" agent skill from https://github.com/imbue-ai/sculptor/tree/main/.claude/skills/cut-release into .claude/skills/cut-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cut-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/cut-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 cut-release -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install imbue-ai/sculptor cut-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/cut-release .agents/skills/cut-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 "cut-release" agent skill from https://github.com/imbue-ai/sculptor/tree/main/.claude/skills/cut-release into .agents/skills/cut-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cut-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 cut-release -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install imbue-ai/sculptor cut-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/cut-release .cursor/skills/cut-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 "cut-release" agent skill from https://github.com/imbue-ai/sculptor/tree/main/.claude/skills/cut-release into .cursor/skills/cut-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cut-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/cut-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 cut-release -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install imbue-ai/sculptor cut-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/cut-release .gemini/skills/cut-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 "cut-release" agent skill from https://github.com/imbue-ai/sculptor/tree/main/.claude/skills/cut-release into .gemini/skills/cut-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cut-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 cut-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 cut-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/cut-release .github/skills/cut-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 "cut-release" agent skill from https://github.com/imbue-ai/sculptor/tree/main/.claude/skills/cut-release into .github/skills/cut-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cut-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 cut-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 cut-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/cut-release .opencode/skills/cut-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 "cut-release" agent skill from https://github.com/imbue-ai/sculptor/tree/main/.claude/skills/cut-release into .opencode/skills/cut-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cut-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.
cut-releaseCut a new Sculptor release candidate from main: run just cut-release (which creates the release/sculptor-vX.Y.0 branch at X.Y.0rc1, pushes the tag that triggers the RC build, and opens a PR bumping…
Cut Release is an agent skill from imbue-ai/sculptor. Cut a new Sculptor release candidate from main: run just cut-release (which creates the release/sculptor-vX.Y.0 branch at X.Y.0rc1, pushes the tag that triggers the RC build, and opens a PR bumping main to the next .dev0), then land the version-bump PR and babysit the RC build up to its manual approval gate. Handles the colocated jj + git working-copy setup and the CI flake/outage/zombie recovery playbook. Stops AT the approval gate — never approves it for you. Use when asked to "cut a release", "cut an RC", or…
Its SKILL.md is about 1.8k 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. It works with Git. The repository describes itself as: Build product with grounded, parallel coding agents. The licence is MIT.
5 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:
ghgitjustpython3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gh and 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.
Cut Release loads about 1.8k tokens when it runs. Until then it costs about 140 tokens; SKILL.md has 807 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). 807 words, ~1,751 tokens.
.claude/skills/cut-release/SKILL.md (or your agent's skills folder).Turn main's current X.Y.0.dev0 into a published release candidate and reset
main for the next cycle. Read docs/development/release_ci_playbook.md
first — it holds the shared version model, the approval-gate policy, the
flake-vs-outage triage, zombie-run recovery, and the jj working-copy rules that
this skill leans on. That playbook is a living document: if you learn
something new during a cut, add it there and commit it in the same change.
The end state of a successful cut:
release/sculptor-vX.Y.0 exists at X.Y.0rc1, tag sculptor-vX.Y.0rc1
pushed, RC build running and parked at its approval gate for the user.main bumped to X.(Y+1).0.dev0 via a merged version-bump PR.Confirm the ground is clean before touching anything (see the playbook's "Working in this colocated jj + git repo" section):
jj st # working copy should be clean/empty
git fetch origin main --tags
git rev-parse origin/main # note the tip
cd sculptor && python3 -c "import tomllib; print(tomllib.load(open('pyproject.toml','rb'))['project']['version'])"; cd ...dev0 (e.g. 0.44.0.dev0). If it isn't, someone
forgot to bump after the last release — stop and sort that out first.cut-release refuses a detached HEAD (the normal jj state). If jj st is
clean/empty, git checkout main. If the working copy has unrelated changes,
preserve them first — bookmark + jj new per the playbook — then
git checkout main.just cut-releaseThis creates and pushes release/sculptor-vX.Y.0 at X.Y.0rc1, pushes tag
sculptor-vX.Y.0rc1 (triggering the RC build), and opens the main-bump PR to
X.(Y+1).0.dev0 with squash auto-merge enabled. Capture the release version,
the RC tag, and the bump PR number from the output.
cut-release leaves git on the transient automated/bump-sculptor-v* branch.
Return to a sane state: git checkout main and let jj re-import.
The bump PR has auto-merge armed; your job is to get it green (never to force it). Follow the playbook's flake-vs-outage triage and zombie-run sections:
gh pr checks <bump_pr>.gh run rerun <run_id> --failed, then let auto-merge land it.githubstatus.com; if
Actions is down, back off and wait, don't retry into an outage.gh pr close <n> && sleep 3 && gh pr reopen <n>, then re-arm auto-merge).main merges through a merge queue, so green checks are not the last step:
the PR still has to be enqueued, the queue re-runs the required workflows against
main, and a failure there ejects the PR silently — it goes back to looking
open and green. An enqueue can also be swallowed with no error at all when a
wedged merge_group run is still alive. Don't assume; check:
gh api repos/imbue-ai/sculptor/issues/<bump_pr>/timeline --paginate \
-q '.[] | select(.event | test("queue")) | .event + " @ " + .created_at'See the playbook's "Merging through the merge queue" for the queue-state query and how to spot and clear a wedged run.
Confirm it landed and origin/main advanced to X.(Y+1).0.dev0:
gh pr view <bump_pr> --json state -q '.state' # MERGED
git fetch origin main && git show origin/main:sculptor/pyproject.toml | grep -m1 '^version'Find the run for the RC tag and poll it (playbook: "Polling a build"):
gh run list --workflow=build-desktop.yml --limit 5 # find the sculptor-vX.Y.0rcN runPoll in a bounded background loop, breaking when the run completes or a pending deployment appears:
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 gh run rerun <run_id> if a cancellation left
partial artifacts).linux-arm64 won't sink the RC: it is allow-failure: true, and the
publisher skips a non-blocking target whose artifacts are missing. The RC just
ships without that architecture — rerun the job if QA needs an arm64 build.just fixup-release (bumps rcN → rc(N+1)) from the release branch.
(To run it you must git checkout release/sculptor-vX.Y.0 on a clean tree —
preserve any stray working-copy work first, per the playbook.)pending_deployments ≥ 1, job
release desktop (S3 publish + gh release) = waiting) → stop here.First check what will ship — 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 RC build is green and parked at the release environment
approval gate, and do not approve it. Per the playbook's approval policy:
surface it, show the user how to approve (UI Review deployments, or the
gh api ... pending_deployments ... state=approved command with the env id from
pending_deployments), and if they ask you to approve, gently push back once,
then comply if they insist.
After they approve, the RC publishes (S3 + a prerelease GitHub release). Next
in the release process: QA the RC, then promote-release (see the
promote-release skill).
If this cut taught you anything the playbook didn't already cover — a new flake
signature, a new recovery step, a sharper command — add it to
docs/development/release_ci_playbook.md (Field notes) and commit it. You have
write access; the next person cutting a release inherits what you write down.
© 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/cut-release of imbue-ai/sculptor.
Open the folder on GitHubat commit f847102
Cut 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 |
|---|---|---|---|---|---|---|
| Cut Release this skillimbue-ai/sculptor | 238 | — | ~1.8k | Automated safety check: Pass | MIT | |
| Obsidian Incident Runbookjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~3.2k | Automated safety check: Pass | MIT | |
| Windsurf Incident Runbookjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~2k | Automated safety check: Pass | MIT | |
| Security Setupluongnv89/skills | 131 | — | ~4.5k | Automated safety check: Pass | MIT | |
| Code That Fits In Your HeadCodeAlive-AI/ai-driven-development | 159 | — | ~1.7k | Automated safety check: Pass | MIT | |
| Repo Mirror Sourcesnetdata/netdata | 81k | — | ~1.2k | Automated safety check: Notes | GPL-3.0 |
jeremylongshore/tons-of-skills-marketplace
Troubleshoot Obsidian plugin failures with systematic incident response.
jeremylongshore/tons-of-skills-marketplace
Execute Devin Desktop (formerly Windsurf) incident response when AI features fail or cause production issues.
luongnv89/skills
Install local-first security hardening: pre-commit secret detection, offline dependency scans, static analysis, reports, and gated free CI.
CodeAlive-AI/ai-driven-development
Software-engineering heuristics based on Mark Seemann's Code That Fits in Your Head (2021), updated for agent-driven development.
netdata/netdata
Inspect Netdata-org source checkouts under NETDATAREPOSDIR, or set up and synchronize that mirror when requested.
Chachamaru127/claude-code-harness
Diagnoses failing CI pipelines and tests, deciding first whether the test or the implementation is at fault, and hands hard cases to a dedicated fixer subagent.
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
Cut a new Sculptor release candidate from main: run just cut-release (which creates the release/sculptor-vX.Y.0 branch at X.Y.0rc1, pushes the tag that triggers the RC build, and opens a PR bumping…. Cut Release is an agent skill from imbue-ai/sculptor.dev0), then land the version-bump PR and babysit the RC build up to its manual approval gate.
Cut Release fits situations like: opens a PR bumping main to the next .dev0); then land the version-bump PR and babysit the RC build up to its manual approval gate; asked to cut a release; start a new Sculptor release.
Run `npx skills add imbue-ai/sculptor --skill cut-release -a claude-code`. Or copy the skill folder (.claude/skills/cut-release in imbue-ai/sculptor) into .claude/skills/cut-release in your project. Claude Code loads it when a task matches its description.
Run `npx skills add imbue-ai/sculptor --skill cut-release -a codex`. Or copy the skill folder (.claude/skills/cut-release in imbue-ai/sculptor) into .agents/skills/cut-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 cut-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/cut-release, .gemini/skills/cut-release, .github/skills/cut-release and .opencode/skills/cut-release in your project.
Going by SKILL.md and its folder, Cut Release needs the command-line tools its instructions call (gh, git, just and python3). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use gh and 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.
Cut 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 1.8k tokens (SKILL.md is roughly 7k 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 Cut Release: Obsidian Incident Runbook (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), Windsurf Incident Runbook (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), Security Setup (luongnv89/skills, 131 stars) and Code That Fits In Your Head (CodeAlive-AI/ai-driven-development, 159 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.