doc-writer

Plan and write VS Code documentation for a new or updated feature. ALWAYS use this skill when the user asks to "document", "add docs for", "write docs for", or…

npx skills add https://github.com/microsoft/vscode-docs --skill doc-writer

Document a Feature

Help document a new or updated VS Code feature in the project documentation (the docs/ folder). This skill works in two phases: it first researches the feature and proposes a documentation plan, then implements the changes only after you approve. It is acceptable to conclude that no documentation update is needed.

When to Use

Use this skill whenever the request maps to any of these — do not start editing docs directly without first running Phase 1:

  • The user says "document this", "document this functionality/feature", "add docs for…", "write docs for…", or "update the docs for…".
  • The user pastes a GitHub issue or PR link and asks you to document or address it in the docs.
  • Documenting a new or changed VS Code or GitHub Copilot feature.
  • Turning a GitHub issue or PR into concrete docs/ updates.
  • Auditing whether existing docs need updating after a feature change.

This applies even when the change looks small (a clarification, a few added steps, a single section). Run the plan-first workflow rather than jumping straight to edits.

Do not use this skill for release notes, API reference docs, redirects, image swaps, or pure copy-edits — those are handled by other skills (release-note-writer, content-redirect, frontmatter-description) or direct edits.

Guardrails

  • Docs only. Limit changes to the docs/ folder. Do not update release notes or API docs (api/) unless the user explicitly asks.
  • Public functionality only. Do not add or retain documentation for internal builds, dogfood-only functionality, hidden settings or commands, source-only implementation, or manually settable internal feature flags.
  • Never edit enterprise/policies.md. This file is generated from the enterprise policy definitions in the VS Code source. Edit enterprise/policies-template.md instead, which is used to regenerate policies.md.
  • Screenshots are human work. When a screenshot needs to be added or updated, insert a TODO comment in the doc for a human to capture and insert it later — do not fabricate image references.
  • Style compliance. All writing must follow the docs-writing style guide.

Phase 1 — Research & Propose a Plan (no edits)

Do not modify any files in this phase.

  1. Understand the feature. Read the feature description, issue, or PR provided. If the description is ambiguous or lacks detail, ask clarifying questions before continuing.

  2. Establish the content framing. Identify the primary persona, reader intent, and article purpose by following the content-framing guidance. Infer them from the existing content, documentation journey, source material, and writer's request. If any part of the framing remains ambiguous and different interpretations would change the content, ask the writer to confirm before planning edits.

  3. Check the source if needed. To understand the implementation, inspect the source code in the microsoft/vscode repo. Use the gh CLI for all GitHub interactions (issues, PRs, code). See user memory gh-cli-powershell.md for PowerShell-specific gh patterns.

    Area being documentedPrimary source repo
    Core editor, workbench, debug, terminal, tasks, settings, commands, keybindingsmicrosoft/vscode
    Copilot Chat, inline chat, agent mode, chat tools, chat participants, MCP in chatmicrosoft/vscode-copilot-chat
    Enterprise policiesmicrosoft/vscode (policy definitions)
  4. Verify public availability. Check every feature, setting, and command against the public product channel intended for the article. Public Preview, Experimental, and Insiders functionality qualifies when labeled clearly. Source-code existence or manual configurability is not enough. Inspect registration metadata, product quality gates, feature flags, and the relevant public release. Treat metadata such as included: false as internal unless product evidence shows otherwise. If functionality is not public, do not document it. During an audit or review, propose removing existing coverage.

  5. Identify affected docs. Search the docs/ folder for the pages that need to be created or updated. Map each change to a specific file and section.

  6. Present the plan. Summarize:

    • The primary persona, reader intent, and article purpose.
    • Which docs/ files you propose to create or change, and a short description of each edit.
    • Any TODO screenshot placeholders that will be needed.
    • Open questions or assumptions.

    If you conclude that no documentation update is needed, say so and ask the user to confirm before closing out.

  7. Stop and wait for approval. Do not proceed to Phase 2 until the user explicitly approves the plan (or adjusts it).

Phase 2 — Implement (after approval)

Once the user approves the plan:

  1. Apply the documentation edits exactly as agreed, following the docs-writing style guide and the approved content framing.
  2. Add TODO comments where screenshots need to be captured by a human.
  3. Respect the guardrails above (docs only; no release notes/API docs unless asked; never edit generated policies.md).
  4. Verify that the introduction, main content, examples, and next steps serve the approved primary persona and reader intent.
  5. Summarize the changes you made and call out any remaining TODOs for the user.

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