
Update Skills & Instructions
OfficialFreeCapture learnings for future coding sessions.
Free · Opens the source repo
What Update Skills & Instructions does
The Update Skills & Instructions skill is designed for developers and teams using version control systems, particularly those working with GitHub repositories. It enables users to capture significant learnings—whether they are patterns, pitfalls, or domain knowledge—during coding sessions. This skill ensures that valuable insights are documented and persist across sessions, facilitating knowledge sharing and reducing future debugging time.
When a user identifies a major learning moment by saying "learn!" or when a significant pattern is discovered, this skill can be invoked to either add this knowledge to existing instructions or create a new skill. The process involves reflecting on the learning, determining its relevance, and then systematically documenting it in the appropriate format. This structured approach helps maintain a clear and organized repository of knowledge that can be referenced in future coding sessions.
The skill is particularly useful in collaborative environments where multiple developers may encounter similar challenges. By capturing insights that are not documented elsewhere, teams can build a comprehensive knowledge base that aids in onboarding new members and improving overall project efficiency. It encourages a culture of continuous learning and improvement, ensuring that lessons learned are not forgotten.
However, it is essential to ensure that the captured learnings are general enough to be beneficial for future sessions, yet specific enough to be actionable. This skill is ideal for developers who frequently encounter complex problems or work on large projects where knowledge retention is crucial.
When to use it
Use this skill when significant learnings are identified during a coding session, especially when the user explicitly requests to capture a learning.
When not to use it
This skill may not be suitable for trivial insights or when the knowledge does not warrant documentation, such as one-off solutions that are unlikely to be reused.
What you can build with it
Capturing Debugging Insights
After troubleshooting a complex bug, use this skill to document the solution and any patterns observed.
Documenting Architectural Constraints
When identifying a crucial architectural constraint, capture it as a skill to inform future development efforts.
Sharing Reusable Domain Knowledge
If you discover domain knowledge that isn't documented, use this skill to create a new instruction for future reference.
How to install Update Skills & Instructions
View source1. Install with the skills CLI
npx skills add microsoft/vscode/update-skills --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by microsoftUpdate Skills & Instructions
When a major repository learning is discovered — a recurring pattern, a non-obvious pitfall, a crucial architectural constraint, or domain knowledge that would save future sessions significant time — capture it as a skill or instruction so it persists across sessions.
When to Use
- The user explicitly says "learn!" or asks to capture a learning
- You discover a significant pattern or constraint that cost meaningful debugging time
- You identify reusable domain knowledge that isn't documented anywhere in the repo
- A correction from the user reveals a general principle worth preserving
Decision: Skill vs Instruction vs Learning
Add a learning to an existing instruction when:
- The insight is small (1-4 sentences) and fits naturally into an existing instruction file
- It refines or extends an existing guideline
- Follow the pattern in
.github/instructions/learnings.instructions.md
Create or update a skill (.github/skills/{name}/SKILL.md or .agents/skills/{name}/SKILL.md) when:
- The knowledge is substantial (multi-step procedure, detailed guidelines, or rich examples)
- It covers a distinct domain area (e.g., "how to debug X", "patterns for Y")
- Future sessions should be able to invoke it by name
Create or update an instruction (.github/instructions/{name}.instructions.md) when:
- The rule should apply automatically based on file patterns (
applyTo) or globally - It's a coding convention, architectural constraint, or process rule
- It doesn't need to be invoked on demand
Procedure
1. Identify the Learning
Reflect on what went wrong or what was discovered:
- What was the problem or unexpected behavior?
- Why was it a problem? (root cause, not symptoms)
- How was it fixed or what's the correct approach?
- Can it be generalized beyond this specific instance?
2. Check for Existing Files
Before creating new files, search for existing skills and instructions that might be the right home:
# Check existing skills
ls .github/skills/ .agents/skills/ 2>/dev/null
# Check existing instructions
ls .github/instructions/ 2>/dev/null
# Search for related content
grep -r "related-keyword" .github/skills/ .github/instructions/ .agents/skills/
3a. Add to Existing File
If an appropriate file exists, add the learning to its ## Learnings section (create the section if it doesn't exist). Each learning should be 1-4 sentences.
3b. Create a New Skill
If the knowledge warrants a standalone skill:
- Choose the location:
.github/skills/{name}/SKILL.mdfor project-level skills (committed to repo).agents/skills/{name}/SKILL.mdfor agent-specific skills
- Create the directory and SKILL.md with frontmatter:
---
name: {skill-name}
description: {One-line description of when and why to use this skill.}
---
# {Skill Title}
{Body with guidelines, procedures, examples, and learnings.}
- The
namefield must match the parent folder name exactly. - Include concrete examples — skills with examples are far more useful than abstract rules.
3c. Create a New Instruction
If the knowledge should apply automatically:
---
description: {When these instructions should be loaded}
applyTo: '{glob pattern}' # optional — auto-load when matching files are attached
---
{Content of the instruction.}
4. Quality Checks
Before saving:
- Is the learning general enough to help future sessions, not just this one?
- Is it specific enough to be actionable, not just a vague principle?
- Does it include a concrete example of right vs wrong?
- Does it avoid duplicating knowledge already captured elsewhere?
- Is the description clear enough that the agent will know when to invoke/apply it?
5. Inform the User
After creating or updating the file:
- Summarize what was captured and where
- Explain why this location was chosen
- Note if any existing content was updated vs new content created
Frequently asked questions about Update Skills & Instructions
Similar skills
Markdown to HTML Conversion
Efficiently convert Markdown documents to HTML.
Code Tour
Create structured walkthroughs for codebases.
Acquire Codebase Knowledge
Streamline onboarding with comprehensive codebase documentation.
Documentation & Modernization
Streamline codebase documentation and modernization planning.
Azure Resource Visualizer
Generate architecture diagrams for Azure resources.
CLAUDE.md Improver
Optimize your CLAUDE.md files for better project context.
