ThrilKnowledge Base

Sections

Build a reusable library of warm-ups, strength blocks, conditioning pieces, and benchmark workouts to compose into programs.

Sections are the building blocks of a program. A section is one workout block, a warm-up, a strength lift, a conditioning piece, accessory work, or a cool-down, with its own scoring setup and an ordered list of prescribed movements. Build sections once in your library and reuse them across many programs, or create a one-off section inline while building a single program.


Section types

Every section has one of five types: Warm-up, Strength, Conditioning, Accessory, Cool-down. Picking a type sets a sensible default result type, which you can still change afterward:

TypeDefault result type
StrengthLoad
ConditioningFor time
Warm-up, Accessory, Cool-downNone

Library, one-off, and benchmark sections

  • Library section: saved to your section library so it can be reused in any future program
  • One-off section: created inline while building a single program, not added to the library
  • Benchmark section: a named, tracked benchmark workout, e.g. Fran, Cindy, Murph, Grace, or Helen. Marking a section as a benchmark makes it a library section too and forces it to Published, benchmarks can't be left as a draft

Scoring configuration

Set with the Result type field:

  • None: no score is logged, used for warm-ups and cool-downs
  • For time: athletes log how long the section took, with an optional Time cap
  • AMRAP: as many rounds and reps as possible within the Time cap, which is required for this result type
  • Load: no separate score field, the result comes from the per-movement, per-set load tables the athlete fills in
  • Reps: a plain rep count
  • Other: a free-text score, labeled with your own Score unit, e.g. "meters" or "calories"

Time cap can be set in seconds, minutes, or hours. Rounds sets how many times the movement list repeats, e.g. 3 for "3 rounds for time". An EMOM has no dedicated result type, model it with Rounds on a For time or AMRAP section.


Adding movements

Search the movement library and add movements to the section, or type a new name and choose Create to add a custom movement without leaving the editor. Drag movements to reorder them.

For Strength sections, each movement gets a number of sets, reps per set (enter the first set's reps and the rest fill in automatically, until you change them individually), and a load with its unit, kg or %1RM.

For other section types, the fields shown depend on the movement's default unit: sets, reps, and load for a kg movement, or distance and sets for a meters or calories movement. More options reveals the remaining fields plus a notes field. Turn on Custom prescription text to replace the auto-generated preview with free text, e.g. "5x5 @ 80%", for prescriptions a structured field can't express well.


Section results

Open a section from the Sections tab to see three tabs:

  • Details: the section's setup and movements
  • Results: every athlete's logged score for that section, across every class and every free log, sorted Newest or Best (for comparable score types), with scaling and date
  • Programs: every program the section is currently used in

Locking and duplicating

Once an athlete logs a result against a section, it locks: the name, description, type, scoring setup, and movements can no longer be changed. Only the benchmark and library flags, and published or draft status, stay editable.

To make changes, use Copy section (available from the section list at any time, or as Copy to edit from a locked section's detail view) to fork it into a new, editable section. Forking never carries over the benchmark flag.


✅ Best practices

  • Keep your section library small and reusable, save true one-offs as one-off sections instead of cluttering the library
  • Mark real benchmarks (Fran, Murph, Grace, and similar) as benchmarks so athletes get PR tracking and history for them
  • Always set a time cap on AMRAP sections, it's required
  • Use Custom prescription text for anything a plain sets, reps, and load structure can't describe well

On this page