liftosaur-program-creator
Original:🇺🇸 English
Translated
Creates and edits Liftosaur workout programs using Liftoscript. Use for program authoring, exercise/set changes, progression setup (lp/dp/sum/custom), advanced custom progression logic, custom progress/update script debugging, and reuse/template refactors.
3installs
Added on
NPX Install
npx skill4agent add pbantolas/liftosaur-program-creator liftosaur-program-creatorTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Liftoscript Program Authoring
Output contract
- Default to slash-style format for new lines: .
Exercise Name / set expressions / section: value / section: value - Keep one separator style per line; do not mix slash and freeform section placement.
- Preserve existing local style when editing unless the user asks to normalize.
- Use explicit section names for non-set data (,
progress:,update:,warmup:,superset:,used:).id:
Operating rules
- Keep terminology consistent: use "exercise line", "set", "progress", "update", "state variable", "set variation".
- Prefer built-in progression (,
lp,dp) before custom scripts.sum - For scripting tasks, identify execution context first: vs
progress: custom().update: custom() - Use timer literals by context: /
45sin exercise-line sets, numeric timers in scripts (120s).timers[5] = 20 - Reject timed rep tokens in set syntax (); use numeric reps (
3x60s) when needed.3x60 - Resolve units deterministically: nearby program text -> explicit user preference -> default .
kg - Do not silently mix and
kgin one generated snippet.lb - In exercise-line set syntax, load tokens are percentages of
%(not training max).1RM - Resolve exercise naming from against
references/exercise-name-resolution.md.references/exercise-list.md - In full mode, place template lines () inside a day block; for week-level templates, anchor after
used: none, not directly after## Day 1.# Week N - Apply a validation loop: draft -> verify writable variables/scope/indexing -> correct -> finalize.
- Preserve user intent and existing structure; change only what is required.
Routing by task
- Basic syntax and set notation ->
references/language-core.md - Weeks, days, comments, labels, warmups, supersets, tags ->
references/program-structure.md - Built-in progression choice and arguments ->
references/progression-builtins.md - Reuse, repeat, templates, overrides ->
references/reuse-and-templates.md - authoring ->
progress: custom()references/custom-progress-scripts.md - authoring ->
update: custom()references/update-scripts.md - Read/write variables and indexing rules ->
references/runtime-reference.md - Liftoscript built-in functions ->
references/builtins-reference.md - End-to-end examples and fix patterns ->
references/recipes.md - Exercise name resolution ->
references/exercise-name-resolution.md - Known pitfalls and quick fixes ->
references/common-failure-modes.md
Minimal workflow
- Classify request: syntax, progression, reuse, custom script, or debug.
- Identify mode before drafting: edit existing text vs generate new text; for scripts, choose vs
progresscontext.update - Resolve units before drafting: nearby text -> user preference -> .
kg - Read only the minimum references required (target 1-2 files from routing list).
- Produce the smallest correct change.
- Validate constraints (especially writable variables and index scope).
- Return final program/script text and a short rationale.
Preflight validator (must pass before final output)
- Section separators are correct and consistent for each exercise line.
- Set and set-variation syntax is structurally valid (including grouped load/timer behavior when used).
- Script assignments target writable variables for the selected context.
- Script assignment literals use valid types for the target variable.
- Timer literals follow context rules (in exercise text, numeric in scripts).
45s - Rep tokens are numeric counts (no suffix on reps; use
s, not3x60).3x60s - Percent load tokens in exercise-line set syntax are interpreted as .
% of 1RM - Units are resolved from context/user preference or defaulted to .
kg - No forbidden unit mismatches in generated output.
- Exercise naming resolves against (bare
references/exercise-list.mdor explicitExercise Name).Exercise Name, Equipment - When user intent specifies equipment/variant, explicit is an exact match in
Exercise Name, Equipment.references/exercise-list.md - When user intent does not specify equipment, alias-only is an exact bare-name match in
Exercise Name.references/exercise-list.md - If exercise is not in built-in list, output remains valid and mentions manual add path in Liftosaur.
- In full mode output, template lines () are placed after
used: none(or another explicit day), never directly under## Day 1.# Week N