New to Claude Skills? Learn how to install them →

tech-leads-club on GitHub

Learning Opportunities

Free

Enhance coding skills through interactive exercises.

Get this skill

Free · Opens the source repo

What Learning Opportunities does

The Learning Opportunities skill is designed to facilitate deliberate skill development during AI-assisted coding sessions. It offers short, optional exercises that aim to counteract the passive consumption of AI-generated code. By integrating these exercises into the workflow, developers can deepen their understanding of coding concepts and architectural decisions, making the learning process more interactive and engaging.

This skill is particularly useful after completing significant tasks such as creating new files or modules, making database schema changes, or implementing unfamiliar design patterns. When the user expresses curiosity about the code or asks 'why' questions, the skill prompts them with a quick learning exercise. These exercises typically last 10-15 minutes and are structured to encourage active participation, allowing users to predict outcomes, compare approaches, or teach back concepts.

The Learning Opportunities skill is not just about providing answers; it emphasizes the importance of pausing for user input. After posing a question, the skill stops generating responses, allowing the user to engage fully. This approach fosters a deeper understanding of the material, as users are encouraged to articulate their thoughts and reasoning before receiving feedback.

For developers and designers looking to enhance their coding skills in a supportive environment, this skill provides a structured way to incorporate learning into their daily coding practices. It is particularly beneficial for those who want to move beyond surface-level understanding and engage with the material more critically.

When to use it

Use this skill during AI-assisted coding sessions when significant changes are made or when users express curiosity about the code.

When not to use it

Avoid using this skill in urgent scenarios where quick fixes are required or when users decline to participate in learning exercises.

What you can build with it

Post-Feature Development

After implementing a new feature, use this skill to explore the underlying concepts and ensure a deeper understanding.

Schema Changes

When making changes to a database schema, engage in a learning exercise to discuss the implications and best practices.

Refactoring Code

During a refactor, take a moment to reflect on design decisions and coding patterns through guided exercises.

How to install Learning Opportunities

View source

1. Install with the skills CLI

npx skills add tech-leads-club/agent-skills/learning-opportunities --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by tech-leads-club

Learning Opportunities

Facilitate deliberate skill development during AI-assisted coding sessions. Offer short, optional exercises that counteract passive consumption of AI-generated code.

When adapting techniques or making judgment calls about learning approaches, consult references/PRINCIPLES.md for the underlying learning science.

When to offer exercises

Offer an optional 10-15 minute exercise after:

  • Creating new files or modules
  • Database schema changes
  • Architectural decisions or refactors
  • Implementing unfamiliar patterns
  • Any work where the user asked "why" questions during development

Always ask before starting: "Would you like to do a quick learning exercise on [topic]? About 10-15 minutes."

When NOT to offer

  • User declined an exercise this session
  • User already completed 2 exercises this session
  • User signals urgency ("fix this quick", "just ship it", "deploy now")
  • Pure debugging/hotfix context

Keep offers to one short sentence. Do not repeat or insist.

Core principle: Pause for input

This is the most important rule. After posing a question:

  1. Stop generating immediately. Do not continue after the question mark.
  2. Do not generate suggested answers, hints, examples, or encouragement like "Think about..." or "Consider..."
  3. Wait for the user's actual response before continuing.

Allowed after the question:

  • "(Take your best guess — wrong predictions are useful data.)"
  • "(Or we can skip this one.)"

After their response:

  • If correct: confirm and deepen ("Exactly. And what would change if [variation]?")
  • If wrong: be direct about what's incorrect, then explore the gap — this is high-value learning

Exercise types

1. Predict then observe

Ask what they predict will happen in a specific scenario before revealing the answer.

Example:
User just created auth middleware.

Agent: "Would you like a quick learning exercise on middleware patterns?"
User: "sure"
Agent: "What do you think happens when a request hits your middleware with an expired token?

(Take your best guess — wrong predictions are useful data.)"

[STOP — wait for response]

After response:
Agent: "Actually [correct behavior]. The key difference is [explanation].
What surprised you about that?"

[STOP — wait for response]

2. Generate then compare

Ask them to sketch an approach before showing the actual implementation.

Example:
Agent: "Before I show you — how would you structure the error handling for this API endpoint?"

[STOP — wait for response]

After response:
Agent: "Here's what we went with: [implementation].
What's similar to your approach? What's different, and why do you think we chose this direction?"

[STOP — wait for response]

3. Teach it back

Ask them to explain a component as if to a new team member.

Example:
Agent: "Explain how the caching layer we just built works, as if I'm a new developer joining the project."

[STOP — wait for response]

After response:
Agent: "You nailed [specific part]. One thing to refine: [specific gap]."

Hands-on code exploration

Prefer directing users to files over showing code snippets. Having learners locate code themselves builds codebase familiarity.

Adjust guidance based on demonstrated familiarity:

  • Early: "Open src/middleware/auth.ts, around line 45. What does validateToken return?"
  • Later: "Find where we handle token refresh."
  • Eventually: "Where would you look to change how session expiry works?"

After they locate code, prompt self-explanation:

"You found it. Before I say anything — what do you think this line does?"

Techniques to weave in naturally

  • "Why" questions: "Why did we use a Map here instead of an object?"
  • Transfer prompts: "This is the strategy pattern. Where else in this codebase might it apply?"
  • Varied context: "We used this for auth — how would you apply it to API rate limiting?"
  • Error analysis: "Here's a bug someone might introduce — what would go wrong and why?"

Anti-patterns to avoid

  • Dumping multiple questions at once
  • Softening wrong answers into ambiguity ("well, that's partially right...")
  • Offering exercises more than twice per session
  • Making exercises feel like tests rather than exploration
  • Continuing to generate after posing a question

Frequently asked questions about Learning Opportunities

Similar skills