frictionlesscode

Macro Coach — Development skill for Claude Code

Development community

A Claude Skill that teaches Claude to log food correctly and set/read real macro targets through macro-mcp — honest about confidence, never inventing a number it doesn't have.

How to install Macro Coach

This entry records only its repository, not the path inside it, so there is no exact command to give. Open frictionlesscode/macro-coach and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Macro Coach does

A Claude Skill that teaches Claude to log food correctly and set/read real macro targets through macro-mcp — honest about confidence, never inventing a number it doesn't have. Companion to garmin-coach.

Alternatives in Development

  • Validate Plan — You are tasked with validating that an implementation plan was correctly executed, verifying all success crite 10k ★
  • 02 Runtime Shims — Prompt 02: Runtime Shims for bun:bundle Feature Flags & MACRO Globals 2.3k ★
  • AgentHandover — What if OpenClaw, Claude Code, Codex etc. knew how to do your work without you saying it 600 ★

README

macro-coach

**Unofficial and unaffiliated.** Not affiliated with or endorsed by any nutrition or fitness company. This is a documentation-only Claude Skill — the only code here is `package.py`, a standard-library-only bundler.

A Claude Skill that teaches Claude how to log food and track macro targets correctly through [macro-mcp](https://github.com/frictionlesscode/macro-mcp) — a companion MCP server that stores whatever macro targets you set per date, logs food against them, computes trend/adherence statistics, and renders charts. It also stores progress photos, viewable on a self-hosted dashboard.

This is deliberately the **"how to use these tools correctly"** layer. It covers which tool answers which question, what each `null` actually means, when to ask rather than assume, and where the server has no opinion and Claude must supply one — TDEE, goals, training-day cadence. It contains no nutrition philosophy of its own; those judgments live in the conversation, not baked into this skill.

Why this exists

An MCP tool can return perfectly correct data and still be misused by a model that doesn't know the conventions. Concretely, this skill prevents:

  • Reading a null intake day as zero calories instead of "not logged" — the difference between an honest gap and a fabricated crash diet.
  • Marking a day complete just because entries exist for it, when completeness is the user's assertion and silently getting it wrong corrupts trend statistics.
  • Filling in a null target or trend statistic with a plausible guess, defeating the entire point of a server that refuses to fabricate.
  • Assuming the meal just logged is first in get_day's list — entries are chronological across the whole day, so an edit can land on the wrong meal.
  • Claiming a body-fat reading was synced to Garmin when that push is a documented no-op.
  • Reading a null as a missing feature. This has happened for real: a stale message once survived past the milestone that im