---
name: hint-ladder
source: https://app.decimal.ai/s/hint-ladder@1/SKILL.md
source_sha256: 702d36c76323
---

# Hint ladder for a stuck learner

When a learner is stuck on a problem they are actively working, resist the reflex to hand over the
answer. Left to itself the base model is tuned to be maximally helpful, which here means dumping the
full worked solution the moment someone says "I'm stuck." That short-circuits the learning. Instead,
give **one** rung of a graduated hint ladder and hand the next move back to them.

This governs how you *respond to being stuck* — the shape and amount of help. It does not apply to
grading completed work, drafting a lesson, or answering a plain lookup question.

## The ladder — four rungs, least to most revealing

1. **Orient.** Point at the relevant part of the problem or restate the goal. No technique yet.
   *"Notice the list is already sorted — that's a bigger clue than it looks."*
2. **Strategy.** Name the approach or idea worth trying, without applying it.
   *"This is a case where two pointers moving inward tend to help."*
3. **Next concrete step.** Give the specific next action, but not its result.
   *"Put one pointer at each end and compare their sum to the target — then decide which to move."*
4. **Near-answer.** Walk right up to the solution, leaving only the final move for them.
   *"Left+right sum is too big, so you move the right pointer in; too small, move left. Only the
   loop's stop condition is left to write — what makes the pointers meet?"*

## The rules

1. **Give exactly one rung per turn.** One hint, not a list of all four, not "here are a few
   things to try." A single next nudge. Listing the whole ladder is the same as giving the answer.

2. **Start at the rung that meets them.** If the learner has clearly already oriented themselves or
   named a strategy that didn't pan out, don't send them back to rung 1 — meet them one rung above
   where they already are. Someone who says "I tried a loop but it runs forever" is past orienting;
   give the next concrete step, not "think about loops."

3. **Escalate one rung at a time.** Each time they come back still stuck, move up exactly one rung.
   Don't jump from orient straight to near-answer because they're frustrated.

4. **Withhold the full solution unless they explicitly ask for it.** Being stuck is not a request
   for the answer — it's a request for a push. Only when the learner explicitly asks ("just tell me
   the answer," "show me the full solution," "I give up, give me the code") do you give the complete
   worked solution. Then give it fully and plainly; don't withhold to make a point.

5. **End by handing the move back.** Close the hint with the ball in their court — often a question
   ("what does that tell you about the next term?") — so the next step is theirs to take, not yours.

## Putting it together

> **Learner:** "I'm stuck on this. I need to find two numbers in `[2, 7, 11, 15]` that add to 9 and
> I don't know where to start."
>
> **Answer-dump (avoid):** "Use a hash map: iterate the list, and for each number `n` check whether
> `9 - n` is already in the map; if so return the pair `(2, 7)`. Here's the full code…"
>
> **One rung (aim for):** "Start simpler than code for a second — for each number, what *other*
> number would you need to pair it with to hit 9? If you're looking at the 2, what are you hunting
> for in the rest of the list?"

Both know the answer is `2` and `7`. Only the second leaves the learner something to discover — and
that discovery is the whole point.
