sync vs update

PreviousNext

sync reproduces the lockfile exactly; update intentionally changes versions.

agileflow syncagileflow update
Changes versionsNeverYes, within the ranges in agileflow.yaml
Readsagileflow.lockagileflow.yaml and the registry
Writes the lockfileOnly for enable/disable, activation, and render changes (renderedHash)Yes
NetworkNot needed when the packages are cachedNeeded for registry and git sources
Use aftergit clone, git pull, switching branchesWhen you want newer skills

agileflow sync

Make the filesystem match agileflow.lock:

  1. Read agileflow.yaml and agileflow.lock.
  2. Verify each package's integrity.
  3. Materialize exactly the locked versions into .agents/skills, and re-render clean skills whose render inputs changed (activation, question preference).
  4. Create or refresh provider compatibility links and mirrors.
  5. Remove stale AgileFlow-owned output (skills that left the lockfile, only if unmodified).
  6. Run a lightweight provider check and print any problems.

sync never overwrites a locally modified skill; it warns when an activation or question preference change could not be applied to one. If agileflow.yaml lists a skill the lockfile does not, or a range the locked version no longer satisfies, sync stops and tells you to run agileflow update.

Locked packages are cached in ~/.cache/agileflow/packages/, so sync works offline once a version has been downloaded.

agileflow sync --global does the same for personal skills. sync exits 1 when a skill could not be restored or a provider check reports an error.

agileflow update

Resolve newer versions allowed by agileflow.yaml, update the lockfile, and sync:

agileflow update                     # all skills, asks before applying
agileflow update diagnosing-bugs     # specific skills
agileflow update --dry-run           # show what would change
agileflow update --yes               # apply without the confirmation
agileflow update --non-interactive   # CI: never prompt, never overwrite edits
agileflow update --reset diagnosing-bugs   # discard local edits of this skill (repeatable)
agileflow update --global            # personal skills
Updates available:
  diagnosing-bugs  1.0.0 -> 1.1.0
  filing-pr        1.4.0 -> 1.5.0
All managed skills are clean.
Apply? yes

Clean managed skills are upgraded. Locally modified ones are never overwritten without an explicit choice. See Updates and conflicts.

update also reports forks whose upstream has moved on, and prints AgileFlow CLI update available: X -> Y when a newer CLI is published. CLI and skill versions are independent.

Exit codes

CodeMeaning
0Success
1Error
3Skills with local modifications were skipped in a non-interactive run (--non-interactive, --yes, no TTY, or CI)