Skip to content
Agentmart
Submit a tool

upgrade-iris

Upgrade this Iris install to the latest (or a given) release tag.

Skill by irisworks

IndexedApache-2.0★ 13
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/irisworks-upgrade-iris

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Upgrade this Iris install to the latest (or a given) release tag. Refuses to start if the checkout has uncommitted or unpushed work, and runs detached so the iris.service restart doesn't kill the upgrade. Use when asked to "upgrade yourself", "update to the latest version", or to move to a specific release tag.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/upgrade-iris

What's inside

Skill name
upgrade-iris
Description
Upgrade this Iris install to the latest (or a given) release tag. Refuses to start if the checkout has uncommitted or unpushed work, and runs detached so the iris.service restart doesn't kill the upgrade. Use when asked to "upgrade yourself", "update to the latest version", or to move to a specific release tag.
License
Apache-2.0
Instructions
70 lines in SKILL.md · view on GitHub

Agent Skills spec issues

  • files: referenced but missing: scripts/upgrade.sh

Files (2)

  • SKILL.md
  • upgrade-iris

SKILL.md (first lines)

# Skill: upgrade-iris

Upgrades this install by running `scripts/upgrade.sh` — which checks out a
release tag, verifies its signature, rebuilds `iris-runtime`, and restarts
`iris.service`. This skill wraps that with the two things Iris needs to run it
on herself: a preflight that protects pending work, and detachment so the
restart doesn't kill the upgrade halfway through.

## Usage

```bash
upgrade-iris                  # upgrade to the latest release tag
upgrade-iris v1.4.1           # upgrade to a specific tag
upgrade-iris --check          # preflight only — report, change nothing
upgrade-iris --force          # upgrade even though pending work was found
```

Run `--check` first when asked whether an upgrade is possible. It answers that
question without touching anything.

## What the preflight blocks

`upgrade.sh` moves HEAD onto a release tag. The preflight refuses to start when
that would strand work this box is the only copy of:

- **Uncommitted changes to tracked files** — a tag checkout does not preserve
  them. Commit or discard first.
- **Commits not on any remote** — either ahead of the tracking branch, or, with
  no tracking branch, on no remote branch at all. These survive on their branch
  ref, but HEAD moves off them and nothing else has them.

Untracked files are reported, not blocked — a checkout leaves them alone.
When a check genuinely cannot run (not a git checkout, no HEAD), it warns and
continues rather than blocking on a question it couldn't answer.

`--force` proceeds anyway. The failure message prints the exact
`git -C <repo> checkout <branch>` needed to get back afterwards.

## Why detached

The upgrade restarts `iris.service` — the process running this skill. In the
foreground that means Iris is killed mid-command and never sees the outcome.
The work is handed to a transient `iris-upgrade` systemd unit (running as the
same user, in the same directory) that outlives the restart. Off systemd, it
detaches with `setsid` instead.

So **this command ending abruptly is success, not failure.** Output goes to
`/iris/upgrade.log` (previous run rotated to `.prev`), a fixed path that
survives the restart. Once back up, confirm with:

```bash
tail -40 /iris/upgrade.log
systemctl is-active iris
git -C /iris/repo describe --tags
```

## Notes

- Handles both install shapes from [overlay.md](../../docs/overlay.md): a
  pinned clone at `$IRIS_DIR/repo`, or an overlay repo with a `core/`
  submodule. Detection mirrors `upgrade.sh`'s own, so the repos it guards are
  exactly the ones the upgrade will move.
- Needs `sudo` for `systemd-run` and for the service restart inside
  `upgrade.sh`. On an install where sudo prompts for a password, run
  `upgrade.sh` from an operator shell instead — a detached unit has no
  terminal to prompt on.
- Env overrides: `IRIS_DIR` (default `/iris`), `IRIS_OVERLAY_DIR` (default the
  current directory).

From irisworks/iris-core, Apache-2.0.

More from irisworks/iris-core

Signals

Stars
13
Forks
3
Open issues
7
Last commit (this folder)
Aug 19, 2026 (2 months ago)
Last release
Oct 14, 2026 (13 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from irisworks

Cite this page

upgrade-iris skill. Agent Mart. https://agentmart.dev/skills/irisworks-upgrade-iris (last updated 2026-10-24)