Skip to content
skcal
Esc
↑↓navigate↵open⌘Jpreview
On this page

Goal phases

Bulk, cut, or maintain at a planned weekly rate, with calories set from your own logs and a check on whether you're on pace.

A goal phase is a block of time with one direction for your bodyweight: a bulk, a cut, or maintenance. You pick how fast to gain or lose, skcal sets your calories for that rate, and Today tells you whether your weigh-ins are keeping pace.

Start a phase

On Today, open the phase card and tap Start a phase, or tell the agent (“starting a lean bulk”, “time to cut till March”). Only one phase is open at a time. Starting a new one ends the current one the day before.

Everything except the type is optional:

Field If you leave it out
Rate (% bodyweight per week) Bulk +0.25%, cut -0.5%, maintain 0%
Start weight Your latest weigh-in
Planned end Open-ended
Goal weight Projected from the start weight, rate, and planned end
Daily calories Estimated from your logs (see below)
Daily protein Your current target

Rates go from -2% to +2% a week. A bulk needs a positive rate and a cut a negative one. The agent picks +0.25 to +0.5% for a bulk and -0.5 to -1% for a cut unless you name one.

Starting or editing a phase writes its calories, protein, goal weight, and dates into your targets, so the rest of skcal tracks against the new numbers.

Calories from your own data

When you don’t give a calorie number, skcal estimates your maintenance from the last 28 days. It takes your average logged intake and adjusts it by how much your weight actually moved over the same stretch. That accounts for your real metabolism and logging habits, not a formula. It then adds the surplus or deficit your rate implies.

Are you on track?

The phase card compares your planned weekly change with your actual one. The actual rate is a trend line through every weigh-in since the phase started, so one heavy morning doesn’t throw it off. After the first week it shows one of:

  • On track: within a third of the planned rate either way (within ±0.15% a week for maintenance).
  • Too fast: gaining faster than planned in a bulk, or losing faster in a cut.
  • Too slow: anything short of the planned rate.

Until there’s a week of weigh-ins it shows Tracking. Ask the agent “am I gaining too fast?” and it answers from the same numbers.

From the API and MCP

Phases live under /api/phases: list, start, edit, end, and delete. Keys need the targets:read or targets:write scope. GET /api/phases returns every phase with its progress, plus your current maintenance estimate.

curl -X POST https://app.skcal.fit/api/phases \
  -H "Authorization: Bearer skcal_your_key_here" \
  -H "content-type: application/json" \
  -d '{"kind": "bulk", "ratePctPerWeek": 0.25, "plannedEndDate": "2027-03-01"}'

The MCP server exposes the same operations as skcal_get_phases, skcal_start_phase, skcal_update_phase, and skcal_end_phase. See the Phases section of the API reference for every field.

Was this page helpful?