update-skills

作者: microsoft

在会话中发现重大学习内容时,创建或更新仓库技能和指令。当用户说“学习!”时使用,当出现重大…

npx skills add https://github.com/microsoft/vscode --skill update-skills

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.}
  1. The name field must match the parent folder name exactly.
  2. 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

来自 microsoft 的更多技能

oss-growth
microsoft
OSS增长黑客角色
agent-framework-azure-ai-py
microsoft
使用Microsoft Agent Framework Python SDK(agent-framework-azure-ai)构建Azure AI Foundry代理。在创建使用AzureAIAgentsProvider的持久化代理、使用托管工具(代码解释器、文件搜索、网络搜索)、集成MCP服务器、管理对话线程或实现流式响应时使用。涵盖函数工具、结构化输出和多工具代理。
development
airunway-aks-setup
microsoft
在AKS上设置AI Runway——从裸集群到运行模型。涵盖集群验证、控制器安装、GPU评估、提供商设置和首次部署。适用场景:“设置AI Runway”、“接入AKS集群”、“安装AI Runway”、“airunway设置”、“将模型部署到AKS”、“在AKS上进行GPU推理”、“在AKS上配置KAITO”、“在AKS上运行LLM”、“在AKS上使用vLLM”、“在AKS上设置模型服务”、“AI Runway控制器”。
devops
appinsights-instrumentation
microsoft
使用Azure Application Insights对Web应用进行插桩的指南。提供遥测模式、SDK设置和配置参考。适用场景:如何对应用进行插桩、App Insights SDK、遥测模式、什么是App Insights、Application Insights指南、插桩示例、APM最佳实践。
devops
applicationinsights-web-ts
microsoft
使用Application Insights JavaScript SDK(@microsoft/applicationinsights-web)为浏览器/Web应用添加检测。用于真实用户监控(RUM)——页面视图、点击、AJAX/fetch依赖项、异常、自定义事件,以及与后端OpenTelemetry追踪关联的浏览器端GenAI代理追踪。涵盖SDK加载器脚本和npm设置、框架扩展(React、React Native、Angular)、点击分析、遥测初始化器,以及从浏览器发出的代理/工具/模型跨度所遵循的OTel GenAI语义约定。
devops
azure-ai-anomalydetector-java
microsoft
使用适用于 Java 的 Azure AI 异常检测器 SDK 构建异常检测应用程序。在实现单变量/多变量异常检测、时间序列分析或 AI 驱动的监控时使用。
development
azure-ai-language-conversations-py
microsoft
使用azure-ai-language-conversations Python SDK实现对话语言理解(CLU)。当使用ConversationAnalysisClient分析对话意图和实体、构建NLP功能或将语言理解集成到应用程序中时使用。
development
azure-ai-ml-py
microsoft
Azure Machine Learning SDK v2 for Python。用于机器学习工作区、作业、模型、数据集、计算资源和管道。 触发词:“azure-ai-ml”、“MLClient”、“工作区”、“模型注册表”、“训练作业”、“数据集”。
development