code-explainer

作成者: microsoft

コードスニペットを平易な英語で説明し、コードが何を行っているかをステップごとに分解します。学習、コードレビュー、ドキュメント作成に最適です。

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)

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 setup」「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アプリを計測します。Real User Monitoring(RUM)— ページビュー、クリック、AJAX/fetch依存関係、例外、カスタムイベント、およびバックエンドのOpenTelemetryトレースに関連付けられたブラウザ側のGenAIエージェントトレースに使用します。SDKローダースクリプトとnpmセットアップ、フレームワーク拡張機能(React、React Native、Angular)、Click Analytics、テレメトリ初期化子、およびブラウザから生成されるエージェント/ツール/モデルスパンのOTel GenAIセマンティック規約をカバーします。
devops
azure-ai-anomalydetector-java
microsoft
Azure AI Anomaly Detector SDK for Javaを使用して異常検出アプリケーションを構築します。単変量/多変量異常検出、時系列分析、または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。MLワークスペース、ジョブ、モデル、データセット、コンピュート、パイプラインに使用します。 トリガー: 「azure-ai-ml」、「MLClient」、「ワークスペース」、「モデルレジストリ」、「トレーニングジョブ」、「データセット」。
development