Learning Opportunities: A Claude Code Skill for Deliberate Skill Development
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.
When you complete architectural work (new files, schema changes, refactors), Claude offers optional 10-15 minute learning exercises grounded in evidence-based learning science. The exercises use techniques like prediction, generation, retrieval practice, and spaced repetition to provide you with semi-worked examples from across your own project work.
Pairs well with Learning-Goal, a skill that guides you through semi-structured, interactive learning goal-setting using the technique of Mental Contrasting with Implementation Intentions (MCII), an evidence-based exercise.
Installation
This repository is a Claude Code plugin marketplace. To install:
-
Add the marketplace:
/plugin marketplace add https://github.com/DrCatHicks/learning-opportunities.git
-
Install the plugin:
/plugin install learning-opportunities@learning-opportunities
-
Restart Claude Code to activate
For more on Claude Code plugins, see the plugin documentation.
Automatic Prompting (Optional)
Linux and macOS users can install learning-opportunities-auto alongside learning-opportunities to have Claude automatically consider offering an exercise after each git commit. Windows users can use it too — a little setup is required.
Get Repo Orientation Lessons (Optional)
If you're learning a new repo you can create an orientation.md file with suggested lessons using the orient skill. The orientation approach applies strategies from empirical research on program comprehension and codebase navigation — including how expert developers sample codebases strategically rather than reading exhaustively. See the orient bibliography for the full source list.
Install the orient plugin:
/plugin install orient@learning-opportunities
Navigate to the repo you want to orient yourself to, and call the orient skill either as default
/orient
Or using Simon Willison's showboat tool
/orient showboat
Then call learning-opportunities with the orient argument to get offered two lessons that will orient you to core features of the repo
/learning-opportunities orient
Why You Might Want to Experiment with This Skill
AI coding tools can create specific risks for decreasing users' engagement in learning by introducing inefficient learning habits. These effects can be anticipated based on several foundational science-backed learning principles:
- Generation effect: Accepting generated code and decreasing generating one's own code can skip the active processing that builds understanding.
- Fluency illusion: Clean generated code can be perceived as more understood than it truly is; likewise, easily accessible knowledge from search can promote the illusion of knowledge and the illusion of more complete mental models.
- Spacing effect: Machine velocity can push users toward constant cramming and long production sessions without the cadence, reflection and spacing of learning that leads to longer-term retention.
- Metacognition: Fast workflows often don't leave room to monitor learning and develop schema representation as well as a user's sense of their own level of relative expertise and knowledge when working with novel technology.
- Testing and retrieval: Agentic models push toward giving complete answers, which could result in users taking fewer opportunities to benefit from self-testing and retrieving specific components of new knowledge, which strengthens retention.
The techniques in SKILL.md are designed to counteract these risks by reintroducing:
- Active generation (predictions, explanations, sketches)
- Retrieval practice (check-ins, teach-it-back, self-testing)
- Deliberate pauses (spacing, reflection)
- Explicit metacognition (self-assessment, gap identification)
This skill interrupts that pattern by reminding you to consider investing in reflection and learning. It introduces a different "mode" of interacting with Claude, which will intentionally feel different than highly fluent and fast agentic coding in the service of helping you reflect and explore your generated work. This skill may be particularly useful for users who are experimenting with developing discrete projects with agentic coding that involve multiple unfamiliar languages, techniques, or architectural patterns.
How It Works