liftosaur-program-creator

📁 pbantolas/liftosaur-program-creator 📅 1 day ago
13
总安装量
3
周安装量
#24570
全站排名
安装命令
npx skills add https://github.com/pbantolas/liftosaur-program-creator --skill liftosaur-program-creator

Agent 安装分布

amp 3
opencode 3
kimi-cli 3
github-copilot 3
gemini-cli 3

Skill 文档

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, sum) before custom scripts.
  • For scripting tasks, identify execution context first: progress: custom() vs update: custom().
  • Use timer literals by context: 45s/120s in exercise-line sets, numeric timers in scripts (timers[5] = 20).
  • Reject timed rep tokens in set syntax (3x60s); use numeric reps (3x60) when needed.
  • Resolve units deterministically: nearby program text -> explicit user preference -> default kg.
  • Do not silently mix kg and lb in one generated snippet.
  • Prefer canonical exercise names from resources/exercise-list.txt; if unmatched, keep custom name and note manual add path in Liftosaur.
  • 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
  • progress: custom() authoring -> references/custom-progress-scripts.md
  • update: custom() authoring -> 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
  • Canonical exercise name resolution -> references/exercise-name-resolution.md
  • Known pitfalls and quick fixes -> references/common-failure-modes.md

Minimal workflow

  1. Classify request: syntax, progression, reuse, custom script, or debug.
  2. Identify mode before drafting: edit existing text vs generate new text; for scripts, choose progress vs update context.
  3. Resolve units before drafting: nearby text -> user preference -> kg.
  4. Read only the minimum references required (target 1-2 files from routing list).
  5. Produce the smallest correct change.
  6. Validate constraints (especially writable variables and index scope).
  7. 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 (45s in exercise text, numeric in scripts).
  • Rep tokens are numeric counts (no s suffix on reps; use 3x60, not 3x60s).
  • Units are resolved from context/user preference or defaulted to kg.
  • No forbidden unit mismatches in generated output.
  • Exercise name/equipment pair is canonical when available in resources/exercise-list.txt.
  • If exercise is not in canonical list, output remains valid and mentions manual add path in Liftosaur.