skillfile status --check-upstream already resolves upstream SHAs and shows which entries are outdated, but it's buried as a flag and the output is mixed in with all the lock/pinned/modified state. A dedicated outdated command makes this much more discoverable.
$ skillfile outdated
browser abc1234 → def5678 (3 commits behind)
python-pro 111aaaa → 222bbbb (1 commit behind)
2 of 8 entries have updates. Run: skillfile install --update
Just the entries that have newer versions upstream, nothing else. Clean and to the point.
This is mostly a thin wrapper around the existing --check-upstream logic in cli/src/commands/status.rs. The SHA resolution (sources/src/resolver.rs) and caching already work, it's just a matter of filtering to only outdated entries and formatting the output differently.
Optional flags:
--json for scripting/CI
--exit-code to return non-zero when outdated entries exist (useful for CI gates)
skillfile status --check-upstreamalready resolves upstream SHAs and shows which entries are outdated, but it's buried as a flag and the output is mixed in with all the lock/pinned/modified state. A dedicatedoutdatedcommand makes this much more discoverable.Just the entries that have newer versions upstream, nothing else. Clean and to the point.
This is mostly a thin wrapper around the existing
--check-upstreamlogic incli/src/commands/status.rs. The SHA resolution (sources/src/resolver.rs) and caching already work, it's just a matter of filtering to only outdated entries and formatting the output differently.Optional flags:
--jsonfor scripting/CI--exit-codeto return non-zero when outdated entries exist (useful for CI gates)