# Learning Opportunities

Facilitates deliberate skill development during AI-assisted coding.

- Repository: https://github.com/DrCatHicks/learning-opportunities (2531 stars)
- Category: Design
- License: CC-BY-4.0
- Last updated: 2026-08-19
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add DrCatHicks/learning-opportunities --skill learning-opportunities -g -a claude-code -y`
Codex: `npx skills add DrCatHicks/learning-opportunities --skill learning-opportunities -g -a codex -y`
Cursor: `npx skills add DrCatHicks/learning-opportunities --skill learning-opportunities -g -a cursor -y`
Gemini CLI: `npx skills add DrCatHicks/learning-opportunities --skill learning-opportunities -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add DrCatHicks/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.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Learning Opportunities

> Invocation argument: $ARGUMENTS

## Purpose

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.

## 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 offer this session
- User has already completed 2 exercises this session

Keep offers brief and non-repetitive. One short sentence is enough.

## Scope

This skill applies to:
- Claude Code sessions (primary context)
- Codex sessions
- Technical discussions in chat where code concepts are being explored
- Any context where the user is learning through building

## Core principle: Pause for input

**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:
- Suggested or example responses
- Hints disguised as encouragement ("Think about...", "Consider...")
- Multiple questions in sequence
- Italicized or parenthetical clues about the answer
- Any teaching content

The rest: https://github.com/DrCatHicks/learning-opportunities/blob/HEAD/learning-opportunities/skills/learning-opportunities/SKILL.md
