gentleman-trainer_skill

This skill helps you design and implement Vim training modules, exercises, and boss fights for the Gentlemen trainer system.
  • Shell

1.3k

GitHub Stars

1

Bundled Files

2 months ago

Catalog Refreshed

4 months ago

First Indexed

Readme & install

Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.

Installation

Preview and clipboard use veilstrat where the catalogue uses aiagentskills.

npx veilstrat add skill gentleman-programming/gentleman.dots --skill gentleman-trainer

  • SKILL.md6.9 KB

Overview

This skill documents patterns and workflows for adding Vim Trainer RPG content in installer/internal/tui/trainer. It captures required data shapes, module progression, exercise design rules, and the decision tree for adding modules, exercises, and boss fights. Use it as a checklist to keep new content consistent and testable.

How this skill works

The skill inspects the trainer code patterns: ModuleID constants, exercise struct fields, module unlock order, lesson→practice→boss progression, and validation rules. It guides adding files, registering modules, creating exercises and boss chains, and wiring unlocks. It maps each change to tests and simulator validation commands to keep behavior correct.

When to use it

  • Adding a new training module (module constants, registration, unlock order)
  • Creating lessons, practice exercises, or boss fight steps
  • Designing or updating exercise content (missions, solutions, hints, explanations)
  • Adjusting progression, unlock conditions, or points/timeouts
  • Working on the Vim command simulator or validation logic

Best practices

  • Define every module as a ModuleID constant in types.go and add it to moduleUnlockOrder
  • Create exercises in exercises_{module}.go with unique IDs using the module_number format
  • Provide multiple valid Solutions, mark an Optimal solution, and include clear Mission, Hint, and Explanation
  • Structure bosses with 5–7 BossSteps, set Lives (commonly 3), and include varied skills from the module
  • Keep Levels progressive (1–10), use realistic code snippets, and run the trainer tests after changes

Example use cases

  • Add ModuleNewModule: add ModuleID constant, append to moduleUnlockOrder, register in GetAllModules, implement lessons and boss file
  • Create horizontal_005: new Exercise with Code, CursorPos, Solutions (all valid), Optimal, Hint, Explanation, Points, TimeoutSecs
  • Implement horizontal_boss: build BossExercise with 5 steps, Lives=3, each step is an Exercise with TimeLimit
  • Fix validation: update Solutions list and rely on validateViaSimulator for creative answers; run TestSimulator and TestExercise

FAQ

Use {module}_{number} for regular exercises and {module}_boss_{step} for boss steps, e.g., horizontal_001, vertical_boss_3.

What belongs in Solutions vs Optimal?

Solutions must include all valid input variants accepted by the simulator; Optimal should be the shortest or best-practice command you want to teach.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational
gentleman-trainer skill by gentleman-programming/gentleman.dots | VeilStrat