upgrade-iris
Upgrade this Iris install to the latest (or a given) release tag.
Skill by irisworks
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.
About
Reviews
Write a reviewNo 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
- 0.636score
send-email
irisworks
Send an email via Resend API from ${IRIS_EMAIL_FROM:-iris@example.com}.
SkillAFreshness: A★ 13Claude Code +9 - 0.636score
status
irisworks
Read-only health snapshot of this Iris install — service state, disk, sub-agent containers, recent errors, and message-processing check.
SkillAFreshness: A★ 13Claude Code +9 - 0.636score
transcribe-audio
irisworks
Transcribe an audio file (m4a, mp3, wav, ogg, webm) to text using OpenAI Whisper API.
SkillAFreshness: A★ 13Claude Code +9 - 0.636score
schedule
irisworks
Create, list, and cancel reminders and recurring tasks via Iris's events queue.
SkillAFreshness: A★ 13Claude Code +9 - 0.633score
self-heal
irisworks
Sub-agent self-diagnostic and escalation.
SkillAFreshness: A★ 13Claude Code +9 - 0.633score
mcp
irisworks
Add, remove, and test MCP (Model Context Protocol) servers by editing meta/mcp.json.
SkillAFreshness: A★ 13Claude Code +9 - 0.633score
set-secret
irisworks
Store a secret, or mint a one-time drop link so a user can share a secret without pasting it into chat.
SkillAFreshness: A★ 13Claude Code +9 - 0.633score
spawn-agent
irisworks
Create a new sub-agent — no Terraform, no Docker by default.
SkillAFreshness: A★ 13Claude Code +9 - 0.633score
serve-public
irisworks
Expose a local port as a public HTTPS subdomain under IRIS_BASE_DOMAIN.
SkillAFreshness: A★ 13Claude Code +9 - 0.630score
terraform
irisworks
Opt-in Azure/Terraform profile only — plan and apply Terraform changes using the safe Iris workflow.
SkillAFreshness: A★ 13Claude Code +9 - 0.630score
azure
irisworks
Opt-in Azure profile only — common Azure CLI patterns for auth, infrastructure, and operational checks.
SkillAFreshness: A★ 13Claude Code +9 - 0.630score
firecracker-agent
irisworks
Opt-in Firecracker profile only — provision, verify, reset, and destroy Firecracker microVM sub-agents.
SkillAFreshness: A★ 13Claude Code +9
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
- Repository
- github.com/irisworks/iris-core
- Website
- irisflow.dev
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from irisworks
- 0.636score
status
irisworks
Read-only health snapshot of this Iris install — service state, disk, sub-agent containers, recent errors, and message-processing check.
SkillAFreshness: A★ 13Claude Code +9 - 0.636score
transcribe-audio
irisworks
Transcribe an audio file (m4a, mp3, wav, ogg, webm) to text using OpenAI Whisper API.
SkillAFreshness: A★ 13Claude Code +9 - 0.636score
schedule
irisworks
Create, list, and cancel reminders and recurring tasks via Iris's events queue.
SkillAFreshness: A★ 13Claude Code +9 - 0.636score
send-email
irisworks
Send an email via Resend API from ${IRIS_EMAIL_FROM:-iris@example.com}.
SkillAFreshness: A★ 13Claude Code +9 - 0.633score
mcp
irisworks
Add, remove, and test MCP (Model Context Protocol) servers by editing meta/mcp.json.
SkillAFreshness: A★ 13Claude Code +9 - 0.633score
serve-public
irisworks
Expose a local port as a public HTTPS subdomain under IRIS_BASE_DOMAIN.
SkillAFreshness: A★ 13Claude Code +9
Cite this page
upgrade-iris skill. Agent Mart. https://agentmart.dev/skills/irisworks-upgrade-iris (last updated 2026-10-24)