Improve skill through focused effort, fast feedback, and harder challenges.
When to Use
- Learning a new technical skill.
- Breaking a skill plateau.
- Designing a practice routine.
- Onboarding someone into a skill.
- Checking whether practice time is effective.
Goal
Turn vague practice into targeted improvement.
Rules
- Practice one subskill at a time.
- Work at the edge of ability.
- Use immediate feedback.
- Repeat, reflect, adjust, repeat.
- Stop when fatigue removes attention.
- Do not confuse repetition with improvement.
Core Elements
- Focused attention: remove distractions.
- Immediate feedback: know what went wrong quickly.
- Progressive challenge: make practice slightly harder over time.
- Reflection: name what improved and what still fails.
Flow
- Pick the skill.
- Break it into subskills.
- Choose the weakest useful subskill.
- Define a small practice task.
- Choose feedback source: tests, mentor, compiler, review, timer, score.
- Practice in a focused time box.
- Review errors.
- Adjust next session.
Challenge Zone
- Too easy: no mistakes, boredom, automatic execution.
- Too hard: confusion, no clear correction path.
- Right level: frequent mistakes, clear feedback, visible adjustment.
Software Examples
- Debugging: reproduce one bug and explain root cause.
- Algorithms: solve one pattern with tests.
- API design: design one endpoint and review tradeoffs.
- Refactoring: transform one pattern while tests stay green.
- Language learning: implement small exercises and inspect compiler feedback.
Session Questions
Before practice:
- What subskill am I training?
- What feedback will I get?
- How is this harder than last time?
After practice:
- What improved?
- What failed?
- What is next session's focus?
Output
## Practice Plan
- Skill: [skill]
- Subskill: [subskill]
- Exercise: [task]
- Feedback: [source]
- Challenge level: [too easy/right/too hard]
- Next session: [adjustment]