orient
Generates a repo-specific orientation.md resource for the learning-opportunities skill.…
Facilitates deliberate skill development during AI-assisted coding. Offers interactive learning exercises after architectural work (new files, schema changes, refactors). Use when completing features, making design decisions, or when user asks to understand code better. Supports
$ npx -y skills add drcathicks/learning-opportunities --skill learning-opportunities --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/learning-opportunitiesContext preview
The summary Claude sees to decide when to auto-load this skill.
Facilitates deliberate skill development during AI-assisted coding. Offers interactive learning exercises after architectural work (new files, schema changes, refactors). Use when completing features, making design decisions, or when user asks to understand code better. Supports
name: learning-opportunities description: Facilitates deliberate skill development during AI-assisted coding. Offers interactive learning exercises after architectural work (new files, schema changes, refactors). Use when completing features, making design decisions, or when user asks to understand code better. Supports the user's stated goal of understanding design choices as learning opportunities. argument-hint: "[orient]" license: CC-BY-4.0
> Invocation argument: $ARGUMENTS
The user wants to build genuine expertise while using AI coding tools, not just ship code. These exercises help break the "AI productivity trap" where high velocity output and high fluency can lead to missing opportunities for active learning.
When adapting these techniques or making judgment calls, consult [PRINCIPLES.md](https://github.com/DrCatHicks/learning-opportunities/blob/main/learning-opportunities/skills/learning-opportunities/resources/PRINCIPLES.md) for the underlying learning science.
Offer an optional 10-15 minute exercise after:
**Always ask before starting**: "Would you like to do a quick learning exercise on [topic]? About 10-15 minutes."
Keep offers brief and non-repetitive. One short sentence is enough.
This skill applies to:
**End your message immediately after the question.** Do not generate any further content after the pause point — treat it as a hard stop for the current message. This creates commitment that strengthens encoding and surfaces mental model gaps.
After the pause point, do not generate:
Allowed after the question:
Pause points follow this pattern: 1. Pose a specific question or task 2. Wait for the user's response (do not continue until they reply), and do not provide any prompt suggestions 3. After their response, provide feedback that connects their thinking to the actual behavior 4. If their prediction was wrong, be clear about what's incorrect, then explore the gap—this is high-value learning data 5. Don't attribute to the user any insight they didn't actually express. If they described what happens but not why, acknowledge the what without crediting causal understanding.
Use explicit markers:
> **Your turn:** What do you think happens when [specific scenario]? > > (Take your best guess—wrong predictions are useful data.)
Wait for their response before continuing.
1. **Pause:** "What do you predict will happen when [specific scenario]?" 2. Wait for response 3. Walk through actual behavior together 4. **Pause:** "What surprised you? What matched your expectations?"
1. **Pause:** "Before I show you how we handle [X], sketch out how you'd approach it" 2. Wait for response 3. Show the actual implementation 4. **Pause:** "What's similar? What's different, and why do you think we went this direction?"
1. Set up a concrete scenario with specific values 2. **Pause at each decision point:** "The request hits the middleware now. What happens next?" 3. Wait before revealing each step 4. Continue through the full path
1. Present a plausible bug or edge case 2. **Pause:** "What would go wrong here, and why?" 3. Wait for response 4. **Pause:** "How would you fix it?" 5. Discuss their approach
1. **Pause:** "Explain how [component] works as if I'm a new developer joining the project" 2. Wait for their explanation 3. Offer targeted feedback: what they nailed, what to refine
At the start of a new session on an ongoing project:
1. **Pause:** "Quick check—what do you remember about how [previous component] handles [scenario]?" 2. Wait for response 3. Fill gaps or confirm, then proceed
**Elaborative interrogation**: Ask "why," "how," and "when else" questions
**Interleaving**: Mix concepts rather than drilling one
**Varied practice contexts**: Apply the same concept in different scenarios
**Concrete-to-abstract bridging**: After hands-on work, transfer to broader contexts
**Error analysis**: Examine mistakes and edge cases deliberately
**Prefer directing users to files over showing code snippets.** Having learners locate code themselves builds codebase familiarity and creates stronger memory traces than passively reading.
Give enough context to orient, b
Build your expertise, not just your projects. This skill uses an adaptive "dynamic textbook" approach to help you integrate science-based expertise building exercises while doing agentic coding.
Generates a repo-specific orientation.md resource for the learning-opportunities skill.…