Visual Studio Code is a code editor that supports editing, navigating, understanding, debugging, and extending software projects. Developers use it for the edit-build-debug cycle, and the catalogue add-ons provide skills, instructions, and agents for working within the editor.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/microsoft/vscode/update-skillsnpx skills add microsoft/vscode --skill update-skillsgit clone --depth 1 https://github.com/microsoft/vscodeWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/microsoft/vscode/update-skills)<a href="https://agentmods.dev/skills/microsoft/vscode/update-skills"><img src="https://agentmods.dev/badge/skills/microsoft/vscode/update-skills.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00051 | $0.00971 |
| Opus 5 | $0.00026 | $0.00485 |
| Sonnet 5 | $0.00010 | $0.00194 |
| Haiku 4.5 | $0.00005 | $0.00097 |
Grade A, and why
update-skills scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
Copies of this mod
1 near-identical copy found in the catalogue:
- update-skills — 100% identical, 0 lines differ
How it starts
The opening of the file, as written. The whole thing — 115 lines — stays where its author put it; the contents beside it link to each section on GitHub.
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
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 115 lines · 51 tokens per session scan A f5c7bb3ed56f
update-skills is a skill published in the GitHub repository microsoft/vscode (190,932 stars, last pushed today), licensed MIT. It adds 51 tokens to every session and 971 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
cyrene-plugin-dev
当用户想为 Cyrene 开发插件(扩展昔涟的工具、做插件弹窗、接入渠道)、调试插件报错,或询问插件怎么写时使用。涉及 Cyrene 本体源码的功能开发不使用本 Skill。.
om-auto-implement-spec
Everything tracker-facing uses the operations and guards from .ai/trackers/github.md. Resolve an automatic base branch through default-branch; never assume main or develop.
cyrene-obsidian-workspace
Cyrene 在 Learn 模式下操作 Obsidian Vault 的规范:目录约定、文件读取、按标题定位、创建与修改 Markdown 的安全原则。.
cyrene-work-hygiene
在 Work 模式中创建、整理或交付多文件工作成果时使用:先理解已有工作区,再选择最小且清晰的目录结构;普通问答、只读分析和单文件小修改不使用。.
triaging-merge-queue-failures
Decision procedure for a PR that failed or was removed from the Trunk merge queue: classify the kick (superseded by a newer commit, not mergeable, a gate that failed on a cancelled run, real failure, one-off flake, or repo-wide flaky/infra issue) and take the matching action (wait, hold and fix, requeue once, or…
merging-prs
Merge a PR into master through the Trunk merge queue and babysit it until it lands. Enqueue with a /trunk merge comment, then watch trunk merge status and the PR state until it is MERGED or the queue kicks it out, reporting Trunk's own reason for the terminal transition. Use when asked to merge a PR, "merge when…