Learning Opportunities
A Claude Code and Codex skill that offers short learning exercises during coding so the developer builds expertise, not just accepts generated code
Low risk
We rate an entry low when it mostly gives the agent instructions and reference material.
Why this level
- The skill is made of instructions; the optional hook only nudges the agent to offer an exercise after a commit
Install
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/learning-opportunitiesDetects the agents on your machine, checks the risk and pins the version.
Other ways to install
Run in a terminal in the project folder
npx skills add drcathicks/learning-opportunities --skill learning-opportunities -a claude-code -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit 3862d2e
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/drcathicks/learning-opportunities.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /learning-opportunities/skills/learning-opportunities/
git -C "$tmp" checkout 3862d2eb6e93427f1f163a54360d11ef943b88b7
mkdir -p .claude/skills
cp -R "$tmp/learning-opportunities/skills/learning-opportunities" .claude/skills/learning-opportunitiesCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
npx skills add drcathicks/learning-opportunities --skill learning-opportunities -a cursor -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit 3862d2e
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/drcathicks/learning-opportunities.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /learning-opportunities/skills/learning-opportunities/
git -C "$tmp" checkout 3862d2eb6e93427f1f163a54360d11ef943b88b7
mkdir -p .agents/skills
cp -R "$tmp/learning-opportunities/skills/learning-opportunities" .agents/skills/learning-opportunitiesCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
npx skills add drcathicks/learning-opportunities --skill learning-opportunities -a github-copilot -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit 3862d2e
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/drcathicks/learning-opportunities.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /learning-opportunities/skills/learning-opportunities/
git -C "$tmp" checkout 3862d2eb6e93427f1f163a54360d11ef943b88b7
mkdir -p .github/skills
cp -R "$tmp/learning-opportunities/skills/learning-opportunities" .github/skills/learning-opportunitiesCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
npx skills add drcathicks/learning-opportunities --skill learning-opportunities -a codex -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit 3862d2e
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/drcathicks/learning-opportunities.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /learning-opportunities/skills/learning-opportunities/
git -C "$tmp" checkout 3862d2eb6e93427f1f163a54360d11ef943b88b7
mkdir -p .agents/skills
cp -R "$tmp/learning-opportunities/skills/learning-opportunities" .agents/skills/learning-opportunitiesCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
npx skills add drcathicks/learning-opportunities --skill learning-opportunities -a gemini-cli -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit 3862d2e
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/drcathicks/learning-opportunities.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /learning-opportunities/skills/learning-opportunities/
git -C "$tmp" checkout 3862d2eb6e93427f1f163a54360d11ef943b88b7
mkdir -p .agents/skills
cp -R "$tmp/learning-opportunities/skills/learning-opportunities" .agents/skills/learning-opportunitiesCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/drcathicks/learning-opportunities.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /learning-opportunities/skills/learning-opportunities/
git -C "$tmp" checkout 3862d2eb6e93427f1f163a54360d11ef943b88b7
mkdir -p .devin/skills
cp -R "$tmp/learning-opportunities/skills/learning-opportunities" .devin/skills/learning-opportunitiesCommands for macOS and Linux, on Windows run them in Git Bash.
Formerly Windsurf.
Run in a terminal in the project folder
npx skills add drcathicks/learning-opportunities --skill learning-opportunities -a cline -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit 3862d2e
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/drcathicks/learning-opportunities.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /learning-opportunities/skills/learning-opportunities/
git -C "$tmp" checkout 3862d2eb6e93427f1f163a54360d11ef943b88b7
mkdir -p .cline/skills
cp -R "$tmp/learning-opportunities/skills/learning-opportunities" .cline/skills/learning-opportunitiesCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
npx skills add drcathicks/learning-opportunities --skill learning-opportunities -a roo -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit 3862d2e
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/drcathicks/learning-opportunities.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /learning-opportunities/skills/learning-opportunities/
git -C "$tmp" checkout 3862d2eb6e93427f1f163a54360d11ef943b88b7
mkdir -p .roo/skills
cp -R "$tmp/learning-opportunities/skills/learning-opportunities" .roo/skills/learning-opportunitiesCommands for macOS and Linux, on Windows run them in Git Bash.
A fork of Roo Code, same .roo folders.
Run in a terminal in the project folder
npx skills add drcathicks/learning-opportunities --skill learning-opportunities -a opencode -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit 3862d2e
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/drcathicks/learning-opportunities.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /learning-opportunities/skills/learning-opportunities/
git -C "$tmp" checkout 3862d2eb6e93427f1f163a54360d11ef943b88b7
mkdir -p .agents/skills
cp -R "$tmp/learning-opportunities/skills/learning-opportunities" .agents/skills/learning-opportunitiesCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/drcathicks/learning-opportunities.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /learning-opportunities/skills/learning-opportunities/
git -C "$tmp" checkout 3862d2eb6e93427f1f163a54360d11ef943b88b7
mkdir -p .agents/skills
cp -R "$tmp/learning-opportunities/skills/learning-opportunities" .agents/skills/learning-opportunitiesCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/drcathicks/learning-opportunities.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /learning-opportunities/skills/learning-opportunities/
git -C "$tmp" checkout 3862d2eb6e93427f1f163a54360d11ef943b88b7
mkdir -p .agents/skills
cp -R "$tmp/learning-opportunities/skills/learning-opportunities" .agents/skills/learning-opportunitiesCommands for macOS and Linux, on Windows run them in Git Bash.
Install in Claude Code: /plugin marketplace add https://github.com/DrCatHicks/learning-opportunities.git, then /plugin install learning-opportunities@learning-opportunities and restart Claude Code. In Codex: codex plugin marketplace add https://github.com/DrCatHicks/learning-opportunities.git.
Other ways from the author
/plugin marketplace add https://github.com/DrCatHicks/learning-opportunities.git
/plugin install learning-opportunities@learning-opportunitiesRestart Claude Code after installing. You can install orient@learning-opportunities and learning-opportunities-auto separately.
This is third-party code. Review the repository files before installing.
What it does
The skill weaves short learning pauses into work with the agent, built on techniques from learning science. After noticeable work such as new files, schema changes or a refactor, the agent offers an optional ten to fifteen minute exercise. Exercises use prediction, generating your own solution, tracing step by step, explaining in your own words and a memory check in the next session. The core rule: the agent poses a question and stops, waits for the user's answer and does not supply the solution itself. The set includes the core skill, an optional hook that nudges the agent to offer an exercise after a commit, and an orient skill for getting to know a new repository.
Who it is for. For developers who code with an agent and want to grow their own expertise alongside the project.
Good fit when
- You want to learn while working with the agent rather than just accept code
- You are picking up unfamiliar languages, techniques or architectural patterns in your projects
- You need to get into a new repository and build a plan for exploring it
Not a fit when
- You only need to finish a task quickly with no learning pauses
- Learning questions and stops get in the way of the current workflow
Example request
Give me a quick learning exercise on this refactorLimitations
The skill deliberately slows work down and asks you to think for yourself, which feels different from fast agentic coding. The automatic post-commit hook is supported on Linux and macOS; Windows needs extra setup. The skill relies on the agent actually stopping and waiting for an answer, which runs against models' habit of immediately giving a full answer. The material is in English. CC-BY-4.0 licensed.
How to disable. Remove the plugin with /plugin remove in Claude Code or delete the skill folder from the skills directory. Remove learning-opportunities-auto separately if you installed the post-commit hook.
Security check
- The skill is made of instructions; the optional hook only nudges the agent to offer an exercise after a commit
README in short
The README explains that agentic coding tools can reduce engagement in learning and lists the learning-science principles this works against: the generation effect, the fluency illusion, the spacing effect, metacognition and the value of retrieval. The skill reintroduces active generation, retrieval, pauses and deliberate self-assessment through optional exercises after significant work. The repository is at once a plugin marketplace for Claude Code and Codex and includes the core skill, an automatic post-commit hook and an orient skill for getting to know a repository. It pairs well with the author's separate learning-goal skill. CC-BY-4.0 licensed.
SKILL.md
--- 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 --- # 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 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." ## Core principle: Pause for input **End your message immediately after the question.** Do not generate any further content after the pause point.
FAQ
Why does the agent not give the answer right away?
This is by design. The agent poses a question and stops so you try to answer yourself, because your own attempt fixes knowledge better than reading a finished solution.
What does the orient skill do?
It creates an orientation.md file with suggested lessons that help you quickly get into the structure and key parts of a new repository.
Related
A skills library that gives coding agents a development process: brainstorming, planning, TDD, subagents and code review
Skills for real engineers by Matt Pocock
Skills For Real Engineers
Small composable skills for engineering with agents: plan grilling, TDD, bug diagnosis, code review and architecture
GitHub toolkit for spec-driven development: the specify CLI adds agent commands and skills to a project, from principles to implementation
Reference MCP servers
Model Context Protocol servers
Official reference MCP servers: Filesystem, Fetch, Git, Memory, Sequential Thinking, Time and Everything