Skip to content

Kai v2.2.0

Choose a tag to compare

@gertybot gertybot released this 28 Sep 11:12
· 43 commits to main since this release

Chain wax and tyre tracking move into their own skill, gear-maintenance. Nothing breaks if you don't use them; if you do, see Upgrading below.

What's new

  • New skill: skills/gear-maintenance/. It holds chain-wax.py and tyre-mileage.sh (previously in the Strava skill) with their example ledgers, a SKILL.md and a README. They aren't Strava-specific: a bike without Strava tracking works too, and Strava is just one way to read an odometer. The Strava skill is purely Strava again.
  • Claude Code and Codex find the new skill through the .claude/skills/ and .agents/skills/ links.
  • README: a new optional setup step (chain wax and tyres, with a quick start), an updated requirements note, the skills diagram and layout, and an example prompt.
  • tyre-mileage.sh now explains what to do when no tyre ledger exists, instead of failing with a traceback.
  • Tests: 52 offline tests (was 44). New ones cover the ledger-location logic for both scripts, and the repo-hygiene test now also checks the new skill and its links are tracked and that personal ledgers stay ignored.

Upgrading from v2.0 / v2.1

If you use chain wax or tyre tracking, commands moved from skills/strava/scripts/ to skills/gear-maintenance/scripts/, and ledgers from skills/strava/data/ to skills/gear-maintenance/data/:

git pull
mkdir -p skills/gear-maintenance/data
mv skills/strava/data/chain-wax.json skills/strava/data/tyres.json skills/gear-maintenance/data/ 2>/dev/null

A ledger left in the old place still works, with a notice, so nothing stops working in the meantime. If you don't use these features there is nothing to do.

Known issues

  • FIT downloads from the Garmin skill are saved as a ZIP, so analyze/parse on them fails (#15).
  • Tyre ledger helper commands (add and retire sets) are still hand-edited JSON (#16).
  • The Hermes Agent and Codex setups are still untested against live installs.

Full changelog: v2.1.0...v2.2.0