Official agent skill

AI Docs Inventory

by MicrosoftDocs in MicrosoftDocs/windows-driver-docs-ddi

Inventory and classify APIs listed in a pre-provided CSV for a WDK header file.

OfficialCC-BY-4.0Auto-check passedDocuments & Office

Install AI Docs Inventory

skills CLI
$ npx skills add MicrosoftDocs/windows-driver-docs-ddi --skill ai-docs-inventory -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install MicrosoftDocs/windows-driver-docs-ddi ai-docs-inventory --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/MicrosoftDocs/windows-driver-docs-ddi.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/1-ai-docs-inventory .claude/skills/ai-docs-inventory && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ai-docs-inventory
GitHub stars
316
Token cost
~2.6k tokens
SKILL.md length
1,015 words
Files
1
Skills in repo
4
Repo updated
First seen
Licence
CC-BY-4.0

At a glance

Inventory and classify APIs listed in a pre-provided CSV for a WDK header file.

  • Works in 3 steps: Create a script file at… → Execute it in a single terminal call:… → Parse the script's console output to…
  • : inventorying a header
  • SKILL.md covers Parameters, Prerequisites, File Naming Conventions and Execution Strategy, plus 1 more section
  • Reaches dev.azure.com

What it does

AI Docs Inventory is an agent skill from MicrosoftDocs/windows-driver-docs-ddi, published by the product's own GitHub organization. Inventory and classify APIs listed in a pre-provided CSV for a WDK header file. Use when: inventorying a header, classifying APIs, validating a CSV for doc generation, checking what needs to be documented.

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Documents & Office, covering CSV and tabular files. The repository describes itself as: The official Windows Driver Kit DDI reference documentation sources. The licence is CC-BY-4.0.

When your agent uses it

  • : inventorying a header
  • Classifying APIs
  • Validating a CSV for doc generation
  • Checking what needs to be documented

Example prompts

  • “/ai-docs-inventory”

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Create a script file at {workingDir}\inventory.ps1 containing all the logic from the Procedure below.
  2. Execute it in a single terminal call: powershell -ExecutionPolicy Bypass -File "{workingDir}\inventory.ps1"
  3. Parse the script's console output to present results to the user.

What it can do on your machine

Read from SKILL.md and the folder at commit 7515063. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are powershell and csv).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • dev.azure.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

AI Docs Inventory loads about 2.6k tokens when it runs. Until then it costs about 56 tokens; SKILL.md has 1,015 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~56
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from MicrosoftDocs/windows-driver-docs-ddi at commit 7515063, republished under its CC-BY-4.0 licence (© MicrosoftDocs). 1,015 words, ~2,638 tokens.

Download SKILL.mdSave it as .claude/skills/ai-docs-inventory/SKILL.md (or your agent's skills folder).
name
ai-docs-inventory
description
Inventory and classify APIs listed in a pre-provided CSV for a WDK header file. Use when: inventorying a header, classifying APIs, validating a CSV for doc generation, checking what needs to be documented.
argument-hint
Specify a header name (e.g. soundwireclass) and the path to the CSV file.

Inventory Header

Read a pre-provided CSV of target API filenames, cross-reference each entry against existing docs, stubs, and published content via the ADO REST API, classify their status, and finalize the CSV for use with the ai-docs-generate skill.

No local repo clones required. All repo interactions use the Azure DevOps REST API.

Parameters

ParameterValue
ADO Orghttps://dev.azure.com/cpubwin
ADO Projectdrivers
Docs Repowdk-ddi (branches: main, stubs/main)
Published Docs Repowdk-ddi-build (branch: live)
Content Pathwdk-ddi-src/content/{header}/
Stubs Branchstubs/main (default; user may specify alternate like stubs/release-amethyst)
Header NameProvided by the user (e.g. soundwireclass)
CSV InputProvided by the user at any local path (e.g. D:\work\soundwireclass.csv)
Working DirectoryDerived from CSV path (parent folder of the CSV file)

Prerequisites

  • The user provides a header name and a path to a CSV file. That is the only user requirement.
  • Azure CLI (az) should be available for auth token acquisition. If not, the agent will prompt for an ADO Personal Access Token (PAT) once per session.

File Naming Conventions

Map each API entity to a filename using these prefixes:

PrefixTypeExample
nfFunctionnf-soundwireclass-somefunc.md
nsStructurens-soundwireclass-some_struct.md
neEnumerationne-soundwireclass-some_enum.md
ncCallbacknc-soundwireclass-evt_some_callback.md
niIOCTLni-soundwireclass-ioctl_some_code.md
nnInterfacenn-soundwireclass-isome_interface.md
nlClassnl-soundwireclass-some_class.md

The filename pattern is: {prefix}-{header}-{api_name_lowercase}.md

Where {header} is the header name without the .h extension.

Header Landing Page

On the stubs branch, the header landing page is always named na-{header}.md. When it is copied to wdk-ddi-src/content/{header}/ on the main branch, it is renamed to index.md. In the published docs repo, it also appears as index.md. When cross-referencing, check for na-{header}.md on the stubs branch and index.md on main and in the published docs repo.

Legacy Filename Exceptions

Some existing files in the published docs repo or on main may have non-standard filenames (e.g. an extra underscore like ns-header-_struct_name.md instead of ns-header-struct_name.md). These are historical naming errors. Do not rename existing files — doing so would break published links. When cross-referencing, also check for these variant filenames. For new APIs, always use the approved naming convention.

Execution Strategy

Write all PowerShell logic into a single self-contained .ps1 script file, then execute it in one terminal call. Do NOT run ADO REST calls or variable assignments as separate interactive terminal commands — PowerShell variables are lost between terminal invocations and long-running commands may time out and get moved to the background, breaking the workflow.

The pattern is:

  1. Create a script file at {workingDir}\inventory.ps1 containing all the logic from the Procedure below.
  2. Execute it in a single terminal call: powershell -ExecutionPolicy Bypass -File "{workingDir}\inventory.ps1"
  3. Parse the script's console output to present results to the user.

The script should accept no parameters — hardcode the {header}, {csvPath}, and {workingDir} values directly into the generated script.

Procedure

Write a single inventory.ps1 script that performs all of the following steps, then execute it.

  1. Strip the .h extension from the user-provided header name to get {header} (e.g. soundwireclass.h → soundwireclass).

  2. Resolve paths. The user provides a CSV path. Derive the working directory from it. The script should validate the CSV exists and read it:

    powershell
    $ErrorActionPreference = "Stop"
    $header = "{header}"
    $csvPath = "{user-provided CSV path}"
    $workingDir = Split-Path $csvPath -Parent
    
    if (-not (Test-Path $csvPath)) {
        Write-Error "CSV not found at $csvPath."
        exit 1
    }

    Read the CSV:

    powershell
    $csvData = Import-Csv $csvPath

    The CSV has a header row. Look for a column containing file paths (commonly FilePath or filename) with values like wdk-ddi-src/content/{header}/{filename}.md. Filter to rows with valid .md paths.

  3. Obtain ADO auth token. Try Azure CLI first, then fail with a clear message (PAT prompting cannot work inside a non-interactive script):

    powershell
    $token = (az account get-access-token --resource 499b84ac-1321-427f-aa17-267ca6975798 --query accessToken -o tsv 2>$null)
    if (-not $token) {
        Write-Error "Failed to get ADO token. Run 'az login' first, or set `$env:ADO_PAT before running."
        exit 1
    }
    $h = @{ Authorization = "Bearer $token" }
    $adoBase = "https://dev.azure.com/cpubwin/drivers/_apis/git/repositories"
  4. For each entry in the CSV, extract the target filename from the path (e.g. wdk-ddi-src/content/{header}/nf-soundwireclass-somefunc.md → nf-soundwireclass-somefunc.md).

  5. List all files in the directory on each branch (one API call per branch, not per file). This detects legacy filename variants (see Legacy Filename Exceptions):

    powershell
    # List files on main branch of wdk-ddi
    try {
        $r1 = Invoke-RestMethod -Uri "$adoBase/wdk-ddi/items?scopePath=wdk-ddi-src/content/{header}/&recursionLevel=OneLevel&versionDescriptor.version=main&versionDescriptor.versionType=branch&api-version=7.0" -Headers $h
        $mainFiles = @($r1.value | Where-Object { $_.path -like "*.md" } | ForEach-Object { Split-Path $_.path -Leaf })
    } catch { $mainFiles = @() }
    
    # List files on stubs branch of wdk-ddi
    try {
        $r2 = Invoke-RestMethod -Uri "$adoBase/wdk-ddi/items?scopePath=wdk-ddi-src/content/{header}/&recursionLevel=OneLevel&versionDescriptor.version=stubs/main&versionDescriptor.versionType=branch&api-version=7.0" -Headers $h
        $stubFiles = @($r2.value | Where-Object { $_.path -like "*.md" } | ForEach-Object { Split-Path $_.path -Leaf })
    } catch { $stubFiles = @() }
    
    # List files on live branch of wdk-ddi-build (published docs)
    try {
        $r3 = Invoke-RestMethod -Uri "$adoBase/wdk-ddi-build/items?scopePath=wdk-ddi-src/content/{header}/&recursionLevel=OneLevel&versionDescriptor.version=live&versionDescriptor.versionType=branch&api-version=7.0" -Headers $h
        $pubFiles = @($r3.value | Where-Object { $_.path -like "*.md" } | ForEach-Object { Split-Path $_.path -Leaf })
    } catch { $pubFiles = @() }
    
    Write-Host "Main: $($mainFiles.Count) files, Stubs: $($stubFiles.Count) files, Published: $($pubFiles.Count) files"

    Compare each expected filename against the directory listings. If a file exists with a minor variant (e.g. ns-header-_struct_name.md instead of ns-header-struct_name.md), treat it as a match — the doc exists under the legacy name. Use the legacy filename in the CSV (do not rename it).

    a. Check if the file exists on main of wdk-ddi (look for the filename in $mainFiles).

    b. Check if a stub exists on the stubs branch (look for the filename in $stubFiles).

    c. Check if the file exists on live of the published docs repo wdk-ddi-build (look for the filename in $pubFiles).

  6. Classify each API into one of three categories:

    • new: Stub exists on stubs/main but no completed doc on main
    • update: File already exists on main — needs to be compared with the latest stub to identify changes
    • stub not found: No stub and no existing doc
  7. Output grouped results to the console for the agent to parse and present:

    === New (ready to document) ===
    nf-soundwireclass-somefunc.md          (function)
    ns-soundwireclass-some_struct.md       (structure)
    
    === Update (existing doc, needs diff) ===
    nf-soundwireclass-otherfunc.md         (function)  [+2 params, -1 param, ~1 param]
    
    === Stub not found ===
    ne-soundwireclass-some_enum.md         (enumeration)
  8. Diff existing docs against stubs. For each "update" entry, fetch the existing doc from main and the latest stub from stubs/main via the ADO REST API. Compare the parameter/field/value sections to identify:

    • Added parameters, fields, or enum values (present in stub but not in existing doc)
    • Removed parameters, fields, or enum values (present in existing doc but not in stub)
    • Modified parameters, fields, or enum values (present in both but with different types or descriptions)

    Output a per-file change summary (e.g. [+2 params, -1 param, ~1 param]) in the console results.

  9. Write the updated CSV at the original CSV path. The format must be compatible with the ai-docs-generate skill:

    csv
    filename,status
    wdk-ddi-src/content/{header}/{filename1}.md,new
    wdk-ddi-src/content/{header}/{filename2}.md,update

    The script writes both "new" and "update" entries. "Stub not found" entries are excluded.

  10. Output a summary to the console:

    • Number of APIs in the CSV by type
    • Number selected for documentation
    • Working directory: {workingDir}
    • CSV file location: {csvPath}
Show full SKILL.md (101 more words)Show less

After the script finishes, the agent should:

  1. Open the CSV in the editor:

    powershell
    code $csvPath
  2. Continue or stop. Ask the user:

    Inventory complete. Press y to continue to generate API docs, or type n to stop.

    • If the user types y: automatically invoke the ai-docs-generate skill, passing the same header name and CSV path. Behave as if the user typed /ai-docs-generate {header}.h {workingDir}.
    • If the user types n: stop and tell them they can run it later with: /ai-docs-generate {header}.h {workingDir}

    Tip: To run all three steps (inventory → generate → submit) with no interaction, use the ai-docs-autopilot skill instead.

© MicrosoftDocs, CC-BY-4.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .github/skills/1-ai-docs-inventory of MicrosoftDocs/windows-driver-docs-ddi.

Open the folder on GitHubat commit 7515063

Compare with similar skills

AI Docs Inventory next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

AI Docs Inventory compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
AI Docs Inventory this skillMicrosoftDocs/windows-driver-docs-ddi316—~2.6kAutomated safety check: PassCC-BY-4.0
Nwb ConversionK-Dense-AI/scientific-agent-skills48k1 repos~1.9kAutomated safety check: PassMIT
Data Table Managern8n-io/n8n207k—~2.3kAutomated safety check: PassCustom licence
Instrument Data To Allotropeaws-samples/amazon-bedrock-agents-healthcare-lifesciences2742 repos~2.7kAutomated safety check: PassApache-2.0
Abuse Hunternexu-io/harness-engineering-guide663—~1.9kAutomated safety check: PassMIT
Markitshift-labs-ai/markit1.3k—~299Automated safety check: PassMIT

Similar skills

  • Nwb Conversion

    K-Dense-AI/scientific-agent-skills

    Converts neuroscience acquisition data to Neurodata Without Borders files with NeuroConv and PyNWB, preserves metadata and timebases, checks evidence-based clock alignment, and produces schema…

    48k GitHub starsUsed in 1 repo~1.9k tokens
    Documents & OfficeAuto-check passed
  • Official

    Load before calling data-tables or parse-file. An agent skill from n8n-io/n8n.

    207k GitHub stars~2.3k tokensUpdated today
    Documents & OfficeAuto-check passed
  • Instrument Data To Allotrope

    aws-samples/amazon-bedrock-agents-healthcare-lifesciences

    Official

    Convert laboratory instrument output files (PDF, CSV, Excel, TXT) to Allotrope Simple Model (ASM) JSON format or flattened 2D CSV.

    274 GitHub starsUsed in 2 repos~2.7k tokens
    Documents & OfficeAuto-check passed
  • Abuse Hunter

    nexu-io/harness-engineering-guide

    Detect and investigate bulk registration abuse on SaaS platforms.

    663 GitHub stars~1.9k tokensUpdated 5 mo ago
    Documents & OfficeAuto-check passed
  • Markit

    shift-labs-ai/markit

    Convert files and URLs to Markdown. An agent skill from shift-labs-ai/markit.

    1.3k GitHub stars~299 tokensUpdated 1 mo ago
    Documents & OfficeAuto-check passed
  • Sector Analyst

    tradermonty/claude-trading-skills

    This skill should be used when analyzing sector rotation patterns and market cycle positioning.

    3k GitHub starsUsed in 1 repo~2.3k tokens
    Documents & OfficeAuto-check passed

More from MicrosoftDocs/windows-driver-docs-ddi

  • AI Docs Generate

    MicrosoftDocs/windows-driver-docs-ddi

    Official

    Generate WDK DDI API reference documentation pages from source code and stubs.

    316 GitHub stars~4k tokensUpdated 2 mo ago
    Auto-check passed
  • AI Docs Submit

    MicrosoftDocs/windows-driver-docs-ddi

    Official

    Submit generated WDK DDI API reference documentation as a PR to the wdk-ddi repo.

    316 GitHub stars~2.8k tokensUpdated 2 mo ago
    Auto-check passed
  • AI Docs Autopilot

    MicrosoftDocs/windows-driver-docs-ddi

    Official

    End-to-end autopilot: inventory, generate, and submit WDK DDI API reference docs from a CSV file with no user interaction.

    316 GitHub stars~9.7k tokensUpdated 2 mo ago
    Auto-check passed

Questions about AI Docs Inventory

What does AI Docs Inventory do?

Inventory and classify APIs listed in a pre-provided CSV for a WDK header file. AI Docs Inventory is an agent skill from MicrosoftDocs/windows-driver-docs-ddi, published by the product's own GitHub organization. Inventory and classify APIs listed in a pre-provided CSV for a WDK header file.

When should I use AI Docs Inventory?

AI Docs Inventory fits situations like: : inventorying a header; classifying APIs; validating a CSV for doc generation; checking what needs to be documented.

How do I install AI Docs Inventory in Claude Code?

Run `npx skills add MicrosoftDocs/windows-driver-docs-ddi --skill ai-docs-inventory -a claude-code`. Or copy the skill folder (.github/skills/1-ai-docs-inventory in MicrosoftDocs/windows-driver-docs-ddi) into .claude/skills/ai-docs-inventory in your project. Claude Code loads it when a task matches its description.

How do I install AI Docs Inventory in Codex?

Run `npx skills add MicrosoftDocs/windows-driver-docs-ddi --skill ai-docs-inventory -a codex`. Or copy the skill folder (.github/skills/1-ai-docs-inventory in MicrosoftDocs/windows-driver-docs-ddi) into .agents/skills/ai-docs-inventory in your project. Codex loads it when a task matches its description.

Can I use AI Docs Inventory in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add MicrosoftDocs/windows-driver-docs-ddi --skill ai-docs-inventory -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ai-docs-inventory, .gemini/skills/ai-docs-inventory, .github/skills/ai-docs-inventory and .opencode/skills/ai-docs-inventory in your project.

What does AI Docs Inventory need to run?

SKILL.md names no scripts, command-line tools or credentials: AI Docs Inventory is instructions for the agent only.

Does AI Docs Inventory access the network?

SKILL.md names 1 domain. In commands or code: dev.azure.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is AI Docs Inventory safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does AI Docs Inventory use?

AI Docs Inventory is published under the CC-BY-4.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does AI Docs Inventory use?

About 2.6k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to AI Docs Inventory?

Skills that share tags, products or a category with AI Docs Inventory: Nwb Conversion (K-Dense-AI/scientific-agent-skills, 48k stars), Data Table Manager (n8n-io/n8n, 207k stars), Instrument Data To Allotrope (aws-samples/amazon-bedrock-agents-healthcare-lifesciences, 274 stars) and Abuse Hunter (nexu-io/harness-engineering-guide, 663 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains AI Docs Inventory?

MicrosoftDocs (a GitHub organization, an official publisher) maintains it in MicrosoftDocs/windows-driver-docs-ddi, which has 316 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on July 25, 2026.

Source: MicrosoftDocs/windows-driver-docs-ddi on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.