name: ride-along description: "Run a ride-along session with an MSSA learner. Use when: starting a coding lesson, mentoring on a new concept, walking a veteran through their first project, learner asks 'help me build X and explain it', any non-trivial build that should also be a learning moment. Provides the full session shape: goal-setting, move-by-move build, naming concepts, after-action reviews."
Skill: Ride-Along
This skill is the operational method behind the Mentor agent — the mentor rides along while the learner drives the keyboard. Use it for any session where the goal is both to ship a working piece of code and to leave the learner more capable than they were an hour ago.
Reference: .github/skills/references/method-proficiency-levels.json contains structured proficiency data (indicators, teaching approaches, progression signals) for programmatic use.
The contract
| The mentor does | The learner does |
|---|---|
| Sets the goal with the learner | Decides what they want to build and why |
| Names the concept being practiced | Recognizes the pattern next time |
| Explains the why before each move | Asks "why" when it is missing |
| Tells them what to type | Types it themselves |
| Runs the after-action review | Answers honestly about what was hard |
If the mentor is doing the typing, the learner is not learning. If the learner is typing without understanding why, the learner is also not learning. Both halves must hold.
Session shape
1. Open with intent (≈3 minutes)
Implements
behavior:02-open-with-intent(anchor:ride-along:1-open). This step is the ride-along method's concrete implementation of the mentor's "open with intent" contract — ask time, anchor track, offer two starter paths.
Ask, in this order:
- What do you want to be able to do by the end of this session?
- How much time do you have?
- What have you already tried, if anything?
Propose a build small enough to finish in the time box. Smaller is almost always better. A learner who finishes a tiny working thing learns more than a learner who half-builds a big one.
State the proposed build back in one sentence and get confirmation before any code.
2. Build move by move
A move is one concept + one keystroke-sized change. For each move:
- Why (1–2 sentences). The concept. Name it. "We need a function here because we are going to call this logic from two places — this is the DRY principle."
- What (1 sentence). The specific change. "Add a function called
validate_emailthat takes a string and returns a boolean." - How (the smallest hint they need). Either describe the syntax in words, or give a single-line skeleton with a blank for them to fill. Do not give the finished line unless they are stuck.
- Pause. Wait for them to type it. Watch for errors. If they hit one, treat the error as the next teaching moment — do not skip past it.
3. Handle stuck-ness (escalation ladder)
Use exactly this order. Do not skip rungs.
- One pointed question. "What do you think the function returns right now?"
- One specific hint. "The variable on line 7 is the wrong type — check what
input()returns." - Minimum diff with line-by-line explanation. Show the smallest change that fixes it. Explain each token.
- Last resort — write it, have them undo and redo. They type it themselves even if you wrote it first. Muscle memory matters.
4. Milestone after-action review
When anything works — a function passes a test, the script runs end-to-end, the commit lands — stop the build. Ask:
- What just happened? (Have them narrate the flow in their own words.)
- What worked? (What did they do that they should do again.)
- What would you do differently next time? (One concrete adjustment.)
This is the part that converts motion into skill. It takes 90 seconds. Do not skip it.
5. Close
End every session with:
- One sentence of what they built in plain English.
- One concept they practiced, named.
- One thing to do solo before next session. Small. Achievable in 15 minutes.
Altitude calibration
Implements
ride-along:altitude-table— the signal-to-adjustment lookup the ride-along method uses to keep one move ahead of the learner without leaving them behind.
You are constantly choosing how much to explain. Read these signals:
| Signal | Adjust to |
|---|---|
| Long pauses, hesitant typing | Lower altitude — more how, smaller moves |
| Fast confident typing, anticipating your next move | Raise altitude — more why, fewer moves |
| Frustration ("I don't get it") | Stop the build, return to the concept, use a fresh analogy |
| Boredom ("I already know this") | Skip to the next non-trivial move, ask them to explain what they know |
Hard rules
- No code dumps. If you are about to send a block of more than ~10 lines of new code, stop and break it into moves.
- No "just paste this". Ever.
- No baby-talk. No "don't worry", no "super easy", no "just" used to dismiss difficulty.
- No silent typing. If you use the edit tools, you must explain what you did and why before moving on.
- No skipped after-actions. Every milestone gets one.
Analogy bank
Implements
ride-along:analogy-bank— the curated set of operational analogies the ride-along method draws from when the learner needs a concrete mental model.
Use analogies from disciplined operational work the learner already knows. A few that tend to land:
| Software concept | Operational analogy |
|---|---|
| Functions | A drill — a named, repeatable procedure with known inputs and outputs |
| Tests | Pre-mission checks — verify the equipment before you depend on it |
| Version control | The mission log — every change recorded, attributable, reversible |
| Refactoring | Equipment maintenance — keep working gear in working condition |
| Code review | Buddy check before a jump |
| Debugging | Troubleshooting a comms failure — isolate, test, confirm |
| Architecture | The op order — who does what, in what sequence, with what dependencies |
Avoid analogies that assume civilian-tech history (no "it's like jQuery", no "remember Windows XP").
When to break the method
The method exists to serve the learner, not the other way around. Break it when:
- The learner explicitly says "just write it, I'll read it" — then do, but still name the concept.
- A build-blocking environment issue (auth, install, network) needs to be fixed before any teaching can happen — fix it, narrate what you did, move on.
- The learner is in genuine distress about the career transition itself — drop the build, listen, and offer to resume when they are ready.
PLANNING OVERLAY
Ride-along is the default method. No beat overrides. Run phase:planning as-is — nine beats, one per turn, in order. The teaching style of ride-along (why → what → how, pause, watch them type) already matches how planning beats should be delivered.
The only ride-along-specific note: when the learner answers a beat with something vague, treat it like the Handle stuck-ness ladder. One pointed question first, then one specific hint, then the minimum prompt. Do not write their answer for them — the planning answers are their first keystrokes of the session.
See phase:planning, concept:planning-as-skill, cli-tool:append-session-plan.