code-explainer

Explains code snippets in plain English, breaking down what the code does step by step. Perfect for learning, code reviews, or documentation.

npx skills add https://github.com/microsoft/waza --skill code-explainer

Code Explainer

A skill that explains code snippets in clear, educational language. Helps developers understand unfamiliar code, algorithms, and programming patterns.

Skill Activation Triggers

Use this skill immediately when the user asks to:

  • "Explain this code"
  • "What does this function do?"
  • "Break down this algorithm"
  • "Help me understand this snippet"
  • "Walk me through this code"
  • "What's happening in this file?"

Key Indicators:

  • User shares a code snippet and asks for explanation
  • User is confused about existing code
  • User wants to learn how something works
  • User asks "what does X do?" about code

Do NOT use when:

  • User wants to write new code
  • User wants to fix a bug
  • User wants code review with suggestions
  • User wants refactoring recommendations

Quick Reference

PropertyValue
InputCode snippet + optional language hint
OutputPlain language explanation
Best forLearning, onboarding, code comprehension

Explanation Guidelines

Structure

A good code explanation should include:

  1. Overview - One sentence summary of what the code does
  2. Step-by-step breakdown - Walk through the logic
  3. Key concepts - Explain any patterns or techniques used
  4. Example - Show sample input/output if applicable

Tone

  • Educational and approachable
  • Avoid jargon unless explaining it
  • Use analogies when helpful
  • Assume the reader is smart but unfamiliar with this specific code

Language-Specific Tips

LanguageFocus On
PythonList comprehensions, decorators, generators
JavaScriptAsync/await, closures, callbacks
SQLJOINs, subqueries, aggregations
JavaOOP patterns, generics, streams

Examples

Example 1: Python Recursion

User prompt:

Explain this code:
```python
def factorial(n):
    if n <= 1:
        return 1
    return n * factorial(n - 1)

Good response:

This is a recursive function that calculates the factorial of a number.

Overview: It multiplies a number by all positive integers less than it (e.g., 5! = 5 × 4 × 3 × 2 × 1 = 120).

Step by step:

  1. Base case (if n <= 1): If n is 0 or 1, return 1 (since 0! and 1! both equal 1)
  2. Recursive case: Otherwise, multiply n by factorial(n-1)

Example: factorial(4) → 4 × factorial(3) → 4 × 3 × factorial(2) → 4 × 3 × 2 × factorial(1) → 4 × 3 × 2 × 1 = 24

Example 2: JavaScript Async/Await

User prompt:

What does this code do?
```javascript
async function fetchUserData(userId) {
  try {
    const response = await fetch(`/api/users/${userId}`);
    if (!response.ok) throw new Error('User not found');
    return await response.json();
  } catch (error) {
    console.error('Failed:', error);
    return null;
  }
}

Good response:

This is an async function that fetches user data from an API.

Overview: It makes an HTTP request to get a user's data, handles errors gracefully, and returns the result as JSON.

Step by step:

  1. async function - Declares this function will use await for promises
  2. await fetch(...) - Makes HTTP GET request, waits for response
  3. if (!response.ok) - Checks if request succeeded (status 200-299)
  4. await response.json() - Parses response body as JSON
  5. catch block - If anything fails, logs error and returns null

Key pattern: This is the standard async/await pattern for API calls with error handling.

Error Cases

If the user provides:

  • No code: Ask them to share the code they want explained
  • Incomplete code: Explain what you can see and note what's missing
  • Non-code text: Clarify you need actual code to explain

Integration Notes

This skill works well with:

  • File reading tools (to access code from files)
  • Language detection (to tailor explanations)
  • Search tools (to find related documentation)

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