update

A command that checks whether SoloFlow has a newer version and whether its stored project data needs a format update.

In plain words
What is it for?
It is for checking versions, reviewing pending migrations, applying approved migrations, and showing the appropriate installation command.
Why use it?
It shows what needs attention without updating the tool itself, and asks before changing project-local state.

Command

Part of the soloflow plugin — 3 skills, 22 commands, 17 agents, 5 hooks shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add commands/kesteva/soloflow/update
Clone the repo
git clone --depth 1 https://github.com/kesteva/soloflow

Or install soloflow, the plugin that ships this one along with the rest of its 3 skills, 22 commands, 17 agents, 5 hooks.

Per session 17 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,583 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00017 $0.01583
Opus 5 $0.00009 $0.00792
Sonnet 5 $0.00003 $0.00317
Haiku 4.5 $0.00002 $0.00158

Measured 3d ago against content hash 700d7104d360, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

update scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

curl -fsS --max-time 3 "https://raw.githubusercontent.com/kesteva/soloflow/${channel:-main}/CHANGELOG.md" \
commands/update.md · 182 lines

How it starts

The opening of the file, as written. The whole thing — 182 lines — stays where its author put it; the contents beside it link to each section on GitHub.

/soloflow:update

Check whether a newer version of SoloFlow is available, surface any pending state migrations and (with explicit confirmation) apply them, and tell the user how to install a newer SoloFlow if one exists. This command never runs the soloflow code update itself/plugin update (plugin install) or bash update.sh (script install) is user-driven. Migrations to project-local .soloflow/ state are the one mutation the command will perform, gated on an explicit AskUserQuestion confirmation.


Step 1: Refresh the version cache

Run via Bash:

node "${CLAUDE_PLUGIN_ROOT}/scripts/update/check-version.js" --force

Parse the JSON line on stdout. Fields you care about:

  • current_version
  • latest_version
  • update_available
  • channel"dev" (this install is on the soloflow-dev channel) or "main" (the public soloflow channel). Drives the install command in Step 5.

If stdout is empty ({}) or missing fields, treat it as "could not check" and remember a single warning line:

Could not check for updates (network error or version unresolvable).
Try again later, or visit https://github.com/kesteva/soloflow for the
current version.

Print the warning and continue to Step 2 — migration status is independent of the version check.

Step 2: Check for pending state migrations

State migrations live under ${CLAUDE_PLUGIN_ROOT}/scripts/migrations/. They are project-local: each one reads/writes the current project's .soloflow/ and is idempotent. The run-all.js orchestrator walks every migrator in number order and reports what is pending.

  1. Run via Bash, from the project root (the slash command's default cwd):

    node "${CLAUDE_PLUGIN_ROOT}/scripts/migrations/run-all.js"
    
  2. Parse the JSON output. Field shape:

    • total_pending — integer count of migrators whose dry run produced changes.
    • migrators[] — per-migrator { id, pending, summary }.
  3. If total_pending === 0: print No pending state migrations. and proceed to Step 3.

Read the full file on GitHub · 182 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 182 lines · 17 tokens per session scan A 700d7104d360

Subscribe to this mod's changes

update is a command published in the GitHub repository kesteva/soloflow (40 stars, last pushed 3mo ago), licensed MIT. It adds 17 tokens to every session and 1,583 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.