Splitting the instructions into three files (master, role/rules, CRUD) is the part I'd steal directly. Most people cram everything into one system prompt and it becomes unmaintainable the moment the project grows, treating instructions as versioned files you can diff and roll back is a much saner model.
The scheduled task syncing Apple Health weight into the same repo is a smart extension too, it turns Coach Atlas from "thing I talk to" into "thing that's also passively maintaining state," which is a meaningfully different reliability bar than a chat-only setup.
Curious how you handle conflicting writes, if a scheduled task updates body-composition-history.json at the same time you're mid-conversation asking Coach Atlas to update something else, does GitHub's own version history end up being the de facto conflict resolution, or have you hit a case where two writes stepped on each other?