/update-skills
Create or update repository skills and instructions when major learnings are discovered during a session. Use when the user says "learn!", when a significant pattern or pitfall is identified, or when reusable domain knowledge should be captured for future sessions.
$ npx -y skills add microsoft/vscode --skill update-skills --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/update-skills
Context preview
The summary Claude sees to decide when to auto-load this skill.
Create or update repository skills and instructions when major learnings are discovered during a session. Use when the user says "learn!", when a significant pattern or pitfall is identified, or when reusable domain knowledge should be captured for future sessions.
SKILL.md
update-skills.SKILL.mdname: update-skills
description: Create or update repository skills and instructions when major learnings are discovered during a session. Use when the user says "learn!", when a significant pattern or pitfall is identified, or when reusable domain knowledge should be captured for future sessions.
<!-- Customize this skill and select save to override its behavior. Delete that copy to restore the built-in behavior. -->
Update 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:
1. Choose the location:
- `.github/skills/{name}/SKILL.md` for project-level skills (committed to repo)
- `.agents/skills/{name}/SKILL.md` for agent-specific skills
2. 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.}3. The `name` field **must match** the parent folder name exactly. 4. 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
Read more
name: update-skills description: Create or update repository skills and instructions when major learnings are discovered during a session. Use when the user says "learn!", when a significant pattern or pitfall is identified, or when reusable domain knowledge should be captured for future sessions.
<!-- Customize this skill and select save to override its behavior. Delete that copy to restore the built-in behavior. -->
Update 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:
1. Choose the location:
- `.github/skills/{name}/SKILL.md` for project-level skills (committed to repo)
- `.agents/skills/{name}/SKILL.md` for agent-specific skills
2. 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.}3. The `name` field **must match** the parent folder name exactly. 4. 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
Repo: microsoft/vscode
Other skills on vscode.
- /agent-customization
**WORKFLOW SKILL** — Create, update, review, fix, or debug VS Code agent customization files (.instructions.md, .prompt.md, .agent.md, SKILL.md, copilot-instructions.md, AGENTS.md). USE FOR: saving coding preferences; troubleshooting why instructions/skills/agents are ignored or
Open skill - /chronicle
Analyze Copilot session history for standup reports, usage tips, session search, and session reindexing. Use when the user asks for a standup, daily summary, usage tips, workflow recommendations, wants to search or find past sessions by keyword/file/PR, wants to reindex their
Open skill - /create-agent
Create a custom agent (.agent.md) for a specific job.
Open skill - /create-hook
Create a hook (.json) to enforce policy or automate agent lifecycle events.
Open skill - /create-instructions
Create an instructions file (.instructions.md) for a project rule or convention.
Open skill - /create-prompt
Create a reusable prompt file (.prompt.md) for a common task.
Open skill

