Skip to content
Development
Skill

/ijfw-update

Check for and apply IJFW updates safely. Trigger: 'update ijfw', 'upgrade', 'latest version', 'is there a new version', /update

From plugin
ijfw
21436 skills37 agents22 commands1 MCP

Claude Code

$ npx -y skills add FerroxLabs/ijfw --skill ijfw-update --agent claude-code

SKILL.md

ijfw-update.SKILL.md
name: ijfw-update
description: "Check for and apply IJFW updates safely. Trigger: 'update ijfw', 'upgrade', 'latest version', 'is there a new version', /update"

What this skill does

Helps the user check for and apply IJFW updates. Updates are air-gapped: the model cannot execute them. The model issues a confirmation token; the user types `ijfw update --confirm <token>` in their terminal to actually run.

When to fire

Triggers: "update ijfw", "upgrade ijfw", "is there a new version", "latest version", `/update`. Also fires when memory prelude reports "update available" on first turn.

Execution

1. **Call the MCP tool**: `ijfw_update_check`. This returns:

  • `current` -- installed version
  • `latest` -- latest published version on npm
  • `available` -- boolean
  • If `available: true`: also `confirmation_token`, `expires_at`, `changelog_url`, and `instruction`. The same call writes the pending sentinel that the terminal command consumes -- one MCP call, one terminal command, no intermediate ceremony.

2. **If up to date**: report it. Stop.

> IJFW is up to date (v1.2.5).

3. **If update available**: present the version delta + changelog link, then surface the OOB instruction verbatim. The terminal command is the air-gap; the model never runs the update itself.

> Update available: v1.2.4 -> v1.2.5 > Changelog: <changelog_url> > > To proceed, run in your TERMINAL: > ijfw update --confirm <confirmation_token> > > Token expires in 5 minutes. I cannot run the update for you -- only typing this command in your terminal can.

4. **DO NOT** run `npm install`, `npx @ijfw/install`, `bash scripts/install.sh`, or any equivalent yourself. The MCP path is air-gapped on purpose. Even if the user asks you to "just do it", refuse and surface the terminal command.

5. **V155-017 (v1.5.5):** `ijfw_update_apply` was retired from the MCP tool surface — it was redundant given that `ijfw_update_check` already writes the sentinel + issues the token in one step. If an older skill or saved prompt calls it, the MCP server will respond with unknown-tool. Re-route those flows to call only `ijfw_update_check` and forward its `instruction` field directly to the user.

Security model

The token + sentinel + terminal-confirm flow exists so that prompt injection in stored memory, fetched docs, or user-paste content cannot trick the model into auto-updating IJFW. See `docs/SECURITY.md` for the full threat model.

Common variations

  • "Just check, don't update yet" -- call `ijfw_update_check`, report status, stop.
  • "Update silently" -- not supported via the MCP path. Tell the user to run `ijfw update --yes` in their terminal directly.
  • "Roll back to <version>" -- not supported yet (rollback tarballs deferred). Suggest `npm install -g @ijfw/install@<version>` from the user's terminal.

After a successful update

The user will see "Updated to v<latest>" in their terminal. The next IJFW SessionStart will reflect the new version. Suggest restarting any open agent sessions so they pick up the new skills/hooks.

Read more
@ferroxlabs
Ships withijfw

IJFW — It Just F*cking Works. Ferrox Labs' local-first infrastructure for AI coding agents: shared memory, smart routing, multi-AI cross-audits, disciplined workflow.

21436 skills37 agents1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
214
Star history of FerroxLabs/ijfw on GitHub, a chart by star-history.com

Other skills on ijfw.

ijfw-agents-md

ijfw-agents-md

Maintain canonical AGENTS.md (open spec). Trigger: 'agents.md', 'update AGENTS.md', or auto-fired by ijfw-team after agent…

@ferroxlabs@ferroxlabsInstall Skill
ijfw-auto-memorize

ijfw-auto-memorize

Session-end auto-extraction of lessons, errors, fixes, and user feedback into structured memory. Fires at session end. Requires…

@ferroxlabs@ferroxlabsInstall Skill
ijfw-complete-milestone

ijfw-complete-mileston…

Use when a milestone is shipping and you need to archive its artifacts, generate a summary, and seed the next milestone. Trigger:…

@ferroxlabs@ferroxlabsInstall Skill
ijfw-compute

ijfw-compute

Use when the user says: 'compute', 'crunch this', 'analyze logs', 'aggregate the data', 'run a script', 'dedupe', 'count by',…

@ferroxlabs@ferroxlabsInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about ijfw-update.

Which coding agents can use ijfw-update?
ijfw-update installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.