feedback-learning

Classify and record explicit corrective feedback without turning skills or instructions into append-only knowledge dumps.

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

Feedback learning

Use this skill when a user explicitly corrects an implementation or design approach, rejects a pattern, or asks the agent to learn from feedback, except when the user invokes the literal learn! trigger.

Literal learn! requests are governed exclusively by .github/instructions/learnings.instructions.md and are outside this skill's scope. Do not replace or reinterpret that instruction.

Goal

Preserve reusable knowledge in the smallest authoritative artifact. A correction is not automatically a permanent rule.

Workflow

  1. Identify the correction

    • What was wrong?
    • Why was it wrong?
    • What approach did the user prefer?
    • Which paths or subsystem does it affect?
  2. Search before writing

    • Check applicable instructions, skills, design documents, tests, and scoped learning files.
    • Update an existing rule instead of adding a duplicate.
  3. Classify the feedback

    Feedback kindDestination
    Task-specific preference or one-off adjustmentDo not persist
    Concrete behavior that must not regressRegression test
    Stable subsystem architecture or product invariantRelevant design/specification document
    Universal repository ruleApplicable instruction file
    Reusable but not yet mature or proven guidance.github/learnings/<area>.md
    Tool-driven workflowRelevant skill
  4. Generalize carefully

    • Preserve the principle, not the incident chronology.
    • Do not include temporary symbol names, line numbers, or implementation details unless they define the durable contract.
    • Do not turn a single rejected implementation into a universal prohibition without broader evidence.
  5. Record once

    • Design documents and tests are authoritative.
    • A learning inbox entry is temporary. When promoted, remove the inbox entry in the same change.
    • Never copy the same rule into a skill, instruction, and design document.
    • Before adding an inbox entry, compact the target file using the maintenance rules below.
  6. Validate

    • Confirm the destination applies to the affected path.
    • Check links and remove superseded or contradictory guidance.

Learning inbox format

Create or update .github/learnings/<area>.md using:

# Area learning inbox

Last reviewed: YYYY-MM-DD

## Short topic

- **Scope:** `affected/path/**`
- **Learning:** Generalized guidance in one or two sentences.
- **Evidence:** Why this is reusable beyond the current task.
- **Disposition:** Candidate for `<design document, instruction, skill, or test>`.

Keep entries concise. Each area inbox is limited to ten topics and 8 KB. If a new entry would exceed either limit, promote, merge, or remove existing entries before deciding whether the new feedback deserves persistence.

Reading learnings

Do not inject learning inboxes into every task. Search the relevant file's headings and Scope fields first, then read only matching entries. Learning inboxes supplement source code, tests, and design documents; they are not a prerequisite for unrelated work and are not authoritative over them.

Compaction and garbage collection

Compact an inbox before every write. Also perform a full review when an inbox is at either limit or its Last reviewed date is more than 90 days old when read. During review:

  • promote stable architectural guidance into the owning specification;
  • encode concrete behavior in tests;
  • merge overlapping entries into one general principle;
  • remove obsolete, contradicted, already-promoted, or weakly supported entries;
  • update Last reviewed after checking every retained entry against the current source and authoritative documentation.

An inbox may shrink to zero entries. Do not retain a learning merely because it might be useful someday.

More skills from microsoft

oss-growth
microsoft
OSS growth hacker persona
agent-framework-azure-ai-py
microsoft
Build Azure AI Foundry agents using the Microsoft Agent Framework Python SDK (agent-framework-azure-ai). Use when creating persistent agents with AzureAIAgentsProvider, using hosted tools (code interpreter, file search, web search), integrating MCP servers, managing conversation threads, or implementing streaming responses. Covers function tools, structured outputs, and multi-tool agents.
development
airunway-aks-setup
microsoft
Set up AI Runway on AKS — from bare cluster to running model. Covers cluster verification, controller install, GPU assessment, provider setup, and first deployment. WHEN: "setup AI Runway", "onboard AKS cluster", "install AI Runway", "airunway setup", "deploy model to AKS", "GPU inference on AKS", "KAITO setup on AKS", "run LLM on AKS", "vLLM on AKS", "set up model serving on AKS", "AI Runway controller".
devops
appinsights-instrumentation
microsoft
Guidance for instrumenting webapps with Azure Application Insights. Provides telemetry patterns, SDK setup, and configuration references. WHEN: how to instrument app, App Insights SDK, telemetry patterns, what is App Insights, Application Insights guidance, instrumentation examples, APM best practices.
devops
applicationinsights-web-ts
microsoft
Instrument browser/web apps with the Application Insights JavaScript SDK (@microsoft/applicationinsights-web). Use for Real User Monitoring (RUM) — page views, clicks, AJAX/fetch dependencies, exceptions, custom events, and browser-side GenAI agent traces correlated to backend OpenTelemetry traces. Covers SDK Loader Script and npm setup, framework extensions (React, React Native, Angular), Click Analytics, telemetry initializers, and OTel GenAI semantic conventions for agent/tool/model spans emitted from the browser.
devops
azure-ai-anomalydetector-java
microsoft
Build anomaly detection applications with Azure AI Anomaly Detector SDK for Java. Use when implementing univariate/multivariate anomaly detection, time-series analysis, or AI-powered monitoring.
development
azure-ai-language-conversations-py
microsoft
Implement Conversational Language Understanding (CLU) using the azure-ai-language-conversations Python SDK. Use when working with ConversationAnalysisClient to analyze conversation intent and entities, building NLP features, or integrating language understanding into applications.
development
azure-ai-ml-py
microsoft
Azure Machine Learning SDK v2 for Python. Use for ML workspaces, jobs, models, datasets, compute, and pipelines. Triggers: "azure-ai-ml", "MLClient", "workspace", "model registry", "training jobs", "datasets".
development