Improve Codebase Architecture
ywwynm/EverythingDone
Find deepening opportunities in a codebase, informed by the domain language in CONTEXT.md and the decisions in docs/adr/.
Facilitates deliberate skill development during AI-assisted coding.
$ npx skills add DrCatHicks/learning-opportunities --skill learning-opportunities -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install DrCatHicks/learning-opportunities learning-opportunities --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/DrCatHicks/learning-opportunities.git skills-src && mkdir -p .claude/skills && cp -r skills-src/learning-opportunities/skills/learning-opportunities .claude/skills/learning-opportunities && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "learning-opportunities" agent skill from https://github.com/DrCatHicks/learning-opportunities/tree/main/learning-opportunities/skills/learning-opportunities into .claude/skills/learning-opportunities/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "learning-opportunities", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/DrCatHicks/learning-opportunities/tree/main/learning-opportunities/skills/learning-opportunitiesType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add DrCatHicks/learning-opportunities --skill learning-opportunities -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install DrCatHicks/learning-opportunities learning-opportunities --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DrCatHicks/learning-opportunities.git skills-src && mkdir -p .agents/skills && cp -r skills-src/learning-opportunities/skills/learning-opportunities .agents/skills/learning-opportunities && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "learning-opportunities" agent skill from https://github.com/DrCatHicks/learning-opportunities/tree/main/learning-opportunities/skills/learning-opportunities into .agents/skills/learning-opportunities/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "learning-opportunities", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add DrCatHicks/learning-opportunities --skill learning-opportunities -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install DrCatHicks/learning-opportunities learning-opportunities --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DrCatHicks/learning-opportunities.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/learning-opportunities/skills/learning-opportunities .cursor/skills/learning-opportunities && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "learning-opportunities" agent skill from https://github.com/DrCatHicks/learning-opportunities/tree/main/learning-opportunities/skills/learning-opportunities into .cursor/skills/learning-opportunities/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "learning-opportunities", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/DrCatHicks/learning-opportunities.git --path learning-opportunities/skills/learning-opportunities--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add DrCatHicks/learning-opportunities --skill learning-opportunities -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install DrCatHicks/learning-opportunities learning-opportunities --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DrCatHicks/learning-opportunities.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/learning-opportunities/skills/learning-opportunities .gemini/skills/learning-opportunities && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "learning-opportunities" agent skill from https://github.com/DrCatHicks/learning-opportunities/tree/main/learning-opportunities/skills/learning-opportunities into .gemini/skills/learning-opportunities/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "learning-opportunities", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install DrCatHicks/learning-opportunities learning-opportunitiesInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add DrCatHicks/learning-opportunities --skill learning-opportunities -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/DrCatHicks/learning-opportunities.git skills-src && mkdir -p .github/skills && cp -r skills-src/learning-opportunities/skills/learning-opportunities .github/skills/learning-opportunities && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "learning-opportunities" agent skill from https://github.com/DrCatHicks/learning-opportunities/tree/main/learning-opportunities/skills/learning-opportunities into .github/skills/learning-opportunities/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "learning-opportunities", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add DrCatHicks/learning-opportunities --skill learning-opportunities -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install DrCatHicks/learning-opportunities learning-opportunities --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DrCatHicks/learning-opportunities.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/learning-opportunities/skills/learning-opportunities .opencode/skills/learning-opportunities && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "learning-opportunities" agent skill from https://github.com/DrCatHicks/learning-opportunities/tree/main/learning-opportunities/skills/learning-opportunities into .opencode/skills/learning-opportunities/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "learning-opportunities", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
learning-opportunitiesFacilitates deliberate skill development during AI-assisted coding.
Learning Opportunities is an agent skill from DrCatHicks/learning-opportunities. 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.
Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `resources/PRINCIPLES.md`).
It sits in Development, covering Skill authoring, Refactoring and Architecture decision records. The repository describes itself as: A Claude or Codex skill for deliberate skill development during AI-assisted coding. The licence is CC-BY-4.0.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 3862d2e. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Learning Opportunities loads about 2.5k tokens when it runs. Until then it costs about 96 tokens; SKILL.md has 1,305 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from DrCatHicks/learning-opportunities at commit 3862d2e, republished under its CC-BY-4.0 licence (© DrCatHicks). 1,305 words, ~2,493 tokens.
.claude/skills/learning-opportunities/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.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 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:
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.
At the start of a new session on an ongoing project:
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, but have them find the key piece:
Open
[file]and find the[component]. What does it do with[variable]?
Adjust guidance based on demonstrated familiarity:
[file], scroll to around line [N], and find the [function]"[feature]"[feature] works?"Fading adjusts the difficulty of the question setup, not the answer. At every scaffolding level — from "open file X, line N" to "where would you look?" — the learner still generates the answer themselves. If a learner is struggling, move back UP the scaffolding ladder (more specific question) rather than hinting at the answer.
After they locate code, prompt self-explanation:
You found it. Before I say anything—what do you think this line does?
After exploring one instance, have them find a parallel:
We just looked at how
[function A]handles[task]. Can you find another function that does something similar?
If this skill is invoked with the argument orient (i.e., /learning-opportunities orient), run a guided repo orientation exercise instead of the default exercise offer flow.
Look for resources/orientation.md relative to the user's project or user-level skills at these locations, in order:
.codex/skills/learning-opportunities/resources/orientation.md (Codex project level).claude/skills/learning-opportunities/resources/orientation.md (Claude Code project level)~/.codex/skills/learning-opportunities/resources/orientation.md (Codex user level)~/.claude/skills/learning-opportunities/resources/orientation.md (Claude Code user level)If the file does not exist at either location, stop and tell the user:
"No orientation file found. Invoke the orient skill first to generate one for this repo. It takes about 30 seconds."
See orient for the plugin that generates orientation files.
If orientation.md exists, read it and run through the Suggested exercise sequence section it contains. Apply all standard skill techniques: pause for input after each question, use fading scaffolding, embrace wrong predictions as learning data. The orientation file contains repo-specific content but not full pedagogical guidance — consult PRINCIPLES.md as needed when making facilitation decisions.
Before starting, give the user a one-sentence summary of what the orientation covers and ask if they want to proceed — consistent with the "always ask before starting" principle.
After the exercise sequence, ask the user: "What's one thing about this codebase that surprised you or that you want to dig into further?" Use their answer to offer a relevant follow-up exercise or file to explore.
© DrCatHicks, CC-BY-4.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in learning-opportunities/skills/learning-opportunities of DrCatHicks/learning-opportunities.
Open the folder on GitHubat commit 3862d2e
Learning Opportunities next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Learning Opportunities this skillDrCatHicks/learning-opportunities | 2.5k | — | ~2.5k | Automated safety check: Pass | CC-BY-4.0 | |
| Improve Codebase Architectureywwynm/EverythingDone | 144 | 15 repos | ~1.3k | Automated safety check: Pass | GPL-3.0 | |
| Task Workflowikarenkov/Modo | 343 | — | ~2.4k | Automated safety check: Pass | None | |
| Skill Writingmillionco/expect | 3.6k | — | ~1.8k | Automated safety check: Pass | Custom licence | |
| Ad Deepenalexandremendoncaalvaro/CorridorKey-Runtime | 755 | 1 repos | ~2k | Automated safety check: Pass | Custom licence | |
| Vibe CodingOfficeDev/microsoft-365-agents-toolkit | 781 | — | ~5.5k | Automated safety check: Pass | Custom licence |
ywwynm/EverythingDone
Find deepening opportunities in a codebase, informed by the domain language in CONTEXT.md and the decisions in docs/adr/.
ikarenkov/Modo
Spec-driven workflow for non-trivial work. An agent skill from ikarenkov/Modo.
millionco/expect
Write and improve agent skills (SKILL.md files). An agent skill from millionco/expect.
alexandremendoncaalvaro/CorridorKey-Runtime
Surface deepening opportunities in the codebase using the Ousterhout/Feathers vocabulary from WORKFLOW §8 (Module / Interface / Depth / Seam / Adapter / Leverage / Locality).
OfficeDev/microsoft-365-agents-toolkit
End-to-end workflow for agent-driven changes that add or modify behavior in the toolkit packages.
ayoubben18/ab-method
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
DrCatHicks/learning-opportunities
Generates a repo-specific orientation.md resource for the learning-opportunities skill.
Categories
Facilitates deliberate skill development during AI-assisted coding. Learning Opportunities is an agent skill from DrCatHicks/learning-opportunities. Facilitates deliberate skill development during AI-assisted coding.
Learning Opportunities fits situations like: completing features; making design decisions; user asks to understand code better.
Run `npx skills add DrCatHicks/learning-opportunities --skill learning-opportunities -a claude-code`. Or copy the skill folder (learning-opportunities/skills/learning-opportunities in DrCatHicks/learning-opportunities) into .claude/skills/learning-opportunities in your project. Claude Code loads it when a task matches its description.
Run `npx skills add DrCatHicks/learning-opportunities --skill learning-opportunities -a codex`. Or copy the skill folder (learning-opportunities/skills/learning-opportunities in DrCatHicks/learning-opportunities) into .agents/skills/learning-opportunities in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add DrCatHicks/learning-opportunities --skill learning-opportunities -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/learning-opportunities, .gemini/skills/learning-opportunities, .github/skills/learning-opportunities and .opencode/skills/learning-opportunities in your project.
SKILL.md names no scripts, command-line tools or credentials: Learning Opportunities is instructions for the agent only.
SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Learning Opportunities is published under the CC-BY-4.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Learning Opportunities: Improve Codebase Architecture (ywwynm/EverythingDone, 144 stars), Task Workflow (ikarenkov/Modo, 343 stars), Skill Writing (millionco/expect, 3.6k stars) and Ad Deepen (alexandremendoncaalvaro/CorridorKey-Runtime, 755 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
DrCatHicks (a GitHub user) maintains it in DrCatHicks/learning-opportunities, which has 2,482 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on August 19, 2026.
Source: DrCatHicks/learning-opportunities on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.