Agent skill

Metadata Completeness Auditor

by pnp in pnp/sharepoint-skills

Audits the metadata quality of a SharePoint document library or list.

MITAuto-check passedDocuments & Office

Install Metadata Completeness Auditor

skills CLI
$ npx skills add pnp/sharepoint-skills --skill metadata-completeness-auditor -a claude-code

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

GitHub CLI
$ gh skill install pnp/sharepoint-skills metadata-completeness-auditor --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/pnp/sharepoint-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/Skills/metadata-completeness-auditor/metadata-completeness-auditor .claude/skills/metadata-completeness-auditor && 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
metadata-completeness-auditor
GitHub stars
131
Token cost
~2.2k tokens
SKILL.md length
1,141 words
Files
1
Skills in repo
51
Repo updated
First seen
Licence
MIT

At a glance

Audits the metadata quality of a SharePoint document library or list.

  • Works in 7 steps: Resolve the target list and read its… → Decide the "required set" of columns to… → Read every item → …
  • Tasks that involve Cloud office suites
  • SKILL.md covers Purpose, Trigger Phrases, Inputs & Scope and Steps, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Metadata Completeness Auditor is an agent skill from pnp/sharepoint-skills. Audits the metadata quality of a SharePoint document library or list. Scans every item against its required columns, flags missing, blank, or placeholder values, computes a completeness score per item and per column, and saves a self-contained HTML gap-report dashboard to the site. It is strictly read-only — it never changes the list or its items. Use when the user says: - "metadata audit" - "metadata completeness" - "metadata health" - "missing metadata" - "audit metadata" - "metadata quality" - "check metadata"…

Its SKILL.md is about 2.2k 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 Cloud office suites. It works with Microsoft SharePoint. The repository describes itself as: Skills for Copilot in SharePoint. The licence is MIT.

When your agent uses it

  • Tasks that involve Cloud office suites

Example prompts

  • “metadata audit”
  • “metadata completeness”
  • “metadata health”
  • “/metadata-completeness-auditor”

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Resolve the target list and read its schema
  2. Decide the "required set" of columns to audit
  3. Read every item
  4. Evaluate each item
  5. Build a self-contained HTML dashboard
  6. Save the report
  7. Respond to the user

What it can do on your machine

Read from SKILL.md and the folder at commit aa9eb14. 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 markdown).

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

  • Network

    No URLs in SKILL.md.

    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

Metadata Completeness Auditor loads about 2.2k tokens when it runs. Until then it costs about 163 tokens; SKILL.md has 1,141 words of instructions outside code blocks.

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

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 pnp/sharepoint-skills at commit aa9eb14, republished under its MIT licence (© pnp). 1,141 words, ~2,244 tokens.

Download SKILL.mdSave it as .claude/skills/metadata-completeness-auditor/SKILL.md (or your agent's skills folder).
name
metadata-completeness-auditor
description
Audits the metadata quality of a SharePoint document library or list. Scans every item against its required columns, flags missing, blank, or placeholder values, computes a completeness score per item and per column, and saves a self-contained HTML gap-report dashboard to the site. It is strictly read-only — it never changes the list or its items. Use when the user says: - "metadata audit" - "metadata completeness" - "metadata health" - "missing metadata" - "audit metadata" - "metadata quality" - "check metadata" - "metadata gap report" - "which items are missing metadata" - "find blank columns"

Metadata Completeness Auditor

Purpose

Missing or inconsistent metadata is the single most common reason SharePoint search, filtering, views, and retention stop working. This skill measures the metadata quality of a library (or list), flags every item with gaps, and produces a color-coded HTML dashboard the team can act on. It is strictly read-only: it inspects the schema and reads items, but never creates columns, writes to items, or changes the list in any way.

Trigger Phrases

Activate this skill when the user says any of the following (or close variations):

  • "metadata audit" / "audit metadata"
  • "metadata completeness" / "metadata health" / "metadata quality"
  • "missing metadata" / "which items are missing metadata"
  • "check metadata" / "metadata gap report"
  • "find blank columns" / "find empty fields"

Inputs & Scope

Determine the reporting scope from the user's request and the current context, in this order:

  1. Selected items — if the user has items selected or says "these/this", audit the library that contains the selection.
  2. Named library or list — if the user names one (e.g., "audit the Contracts library"), resolve it on the current site.
  3. Current library — if the user is in a library and gives no other scope, audit it.
  4. If no scope can be resolved, ask the user which library or list to audit. Do not guess.

Only audit content the current user can already see. Never invent items or values.

Steps

Step 1 — Resolve the target list and read its schema

Use get_list_schema on the resolved library/list to enumerate its columns. Record for each column: internal name, display name, type (text, choice, number, date, person, managed metadata, multi-value, etc.), and whether it is marked required.

Step 2 — Decide the "required set" of columns to audit

Choose which columns count toward completeness, in this order of preference:

  1. Explicit user request — if the user names specific columns (e.g., "check Owner and Review Date"), audit exactly those.
  2. Columns marked required in the schema — if any exist, default to auditing those.
  3. All user-created content columns — if nothing is marked required, audit every non-system content column.

Always exclude system/internal and label columns from the audit and from gap counts, e.g.: ID, Title, LinkTitle, FileLeafRef (Name), ContentType, Modified, Created, Author, Editor, _ModerationStatus, FileSizeDisplay, thumbnail/compliance/checkout columns, and other underscore-prefixed system fields. (You still read Editor/Author for owner grouping and FileLeafRef/Title as the item label — just don't score them.)

Do not count Title/Name toward completeness: it is the item's label, is almost always populated, and scoring it inflates the completeness % and hides truly-empty items. Only audit it if the user explicitly asks to include it.

Briefly tell the user which columns you are auditing before proceeding. If the required set is ambiguous and the user gave no guidance, state the set you selected and continue; only pause to ask if the schema is unreadable.

Step 3 — Read every item

Use list_items with field projection limited to the audited columns plus Editor/Author (for owner grouping) and FileLeafRef/Title (for item labels). Page through the whole library — do not stop at the first page. For very large libraries, process in batches and keep running totals. If a read fails or returns partial data, record that plainly in the report's limitations section rather than filling gaps with assumptions.

Step 4 — Evaluate each item

For each item, evaluate each audited column and classify the value as Missing when it is:

  • empty or null,
  • whitespace-only,
  • an empty multi-value / empty person / empty managed-metadata field, or
  • a placeholder value (case-insensitive), including: N/A, NA, TBD, TBC, -, --, ., none, null, n\a, pending, choose an option, select..., enter value, xxx, test, and the column's own default choice when it clearly means "not set".

If the user provides their own placeholder list, use it instead of (or in addition to) the defaults, and note that in the report.

Then compute:

  • Per-item completeness % = present columns / audited columns.
  • Item verdict: Complete (all audited columns present), Partial (some present), or Empty (none present).
  • Per-column fill rate = items with a present value / total items, tracked across the run.
  • Overall completeness % = total present values across every audited cell ÷ (number of items × number of audited columns). This is a cell-level fill rate — not the share of Complete items and not the average of the per-item percentages. Report it as a whole number.
  • Per-owner rollup = completeness grouped by Editor (fallback Author).
Show full SKILL.md (430 more words)Show less
Step 5 — Build a self-contained HTML dashboard

Draft a single self-contained HTML file:

  • No scripts. No external CSS, fonts, images, or resources. Inline CSS only.
  • Summary band with: items scanned, overall completeness %, counts of Complete / Partial / Empty, number of columns audited, and the 3 worst-filled columns.
  • Per-column gap chart — one row per audited column showing its fill-rate as a horizontal bar drawn with inline-CSS width (e.g., a colored <div> at width: 72%). Color by health: green ≥ 90%, amber 50–89%, red < 50%.
  • Item table — color-coded rows (green = Complete, amber = Partial, red = Empty) listing the item name, completeness %, health verdict, and its missing fields.
  • Owner breakdown — completeness % grouped by last editor, so gaps can be routed to the right people.
  • Remediation list — a short, prioritized, plain-English list ("Fill Review Date on 14 items", "Replace TBD in Owner on 6 items").
  • Limitations section — only if any data was unavailable or partial.
Step 6 — Save the report
  • Save the HTML file in a Metadata Reports folder in an appropriate document library on the current site. Create that folder only if it does not exist and only for saving the report.
  • Use a clear filename: Metadata-Audit-<Library>-YYYY-MM-DD-HHMM.html.
Step 7 — Respond to the user

After saving, reply with a compact Markdown summary and the report link:

markdown
# Metadata audit complete

[Open the report](<link>)

- Scope: <library/list audited>
- Items scanned: <n>
- Overall completeness: <n>%  (Complete <n> · Partial <n> · Empty <n>)
- Worst columns: <col> (<x>%), <col> (<y>%), <col> (<z>%)

Example

User: "Run a metadata audit on the Contracts library."

Agent response after processing:

I audited the Contracts library (128 items) against its 5 required columns: Owner, Contract Type, Effective Date, Review Date, Department.

MetricResult
Overall completeness71%
Complete / Partial / Empty74 / 41 / 13
Worst columnsReview Date (48%), Department (63%)

I saved the dashboard to Metadata Reports/Metadata-Audit-Contracts-2026-07-03-1042.html. Top fix: 66 items are missing Review Date.

Constraints

  • Strictly read-only. Never create, rename, or modify columns, never write to items, and never change the list, its views, or its settings. The only thing this skill writes is the HTML report file (and, if needed, the Metadata Reports folder to hold it).
  • Never fabricate items, columns, or values — everything comes from the actual list.
  • Always inspect the real schema with get_list_schema first and adapt to the actual column names and types (text, choice, number, date, person, managed metadata, multi-value).
  • Exclude system/internal and label columns from scoring; in particular never count Title/Name unless the user explicitly asks — it is almost always filled and inflates the result. Do not count excluded columns as gaps.
  • Page through the entire library; report partial results plainly if a tool fails.
  • The HTML report must be fully self-contained: no scripts, no external resources, inline CSS only.
  • Show completeness percentages as whole numbers and be consistent across the report.

© pnp, MIT. 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 Skills/metadata-completeness-auditor/metadata-completeness-auditor of pnp/sharepoint-skills.

Open the folder on GitHubat commit aa9eb14

Compare with similar skills

Metadata Completeness Auditor 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.

Metadata Completeness Auditor compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Metadata Completeness Auditor this skillpnp/sharepoint-skills131—~2.2kAutomated safety check: PassMIT
aai-cli Microsoft 365aai-labs/agent-barn109—~1.2kAutomated safety check: PassApache-2.0
Add Excelmicrosoft/power-platform-skills972—~796Automated safety check: NotesMIT
Colleague DistillationZhixiangLuo/10xProductivity478—~2.1kAutomated safety check: NotesMIT
Msgraphcodemie-ai/codemie-code294—~4.1kAutomated safety check: PassApache-2.0
Workiqmicrosoft/work-iq1k—~15kAutomated safety check: PassCustom licence

Similar skills

  • aai-cli Microsoft 365

    aai-labs/agent-barn

    Guides work with Outlook, OneDrive, SharePoint, Teams, Excel, To Do and Planner through aai-cli's Microsoft Graph commands, starting from which service owns the data.

    109 GitHub stars~1.2k tokensUpdated yesterday
    Documents & OfficeAuto-check passed
  • Add Excel

    microsoft/power-platform-skills

    Official

    Adds Excel Online (Business) connector to a Power Apps code app.

    972 GitHub stars~796 tokensUpdated yesterday
    Documents & OfficeAuto-check: notes
  • Colleague Distillation

    ZhixiangLuo/10xProductivity

    Distill a colleague into a reusable AI skill (work + persona) using tool connections — Slack, Slack AI, Jira, GHE, Bitbucket, Confluence, SharePoint, Teams, Outlook, Notion, Linear, Google Docs, and…

    478 GitHub stars~2.1k tokensUpdated 2 mo ago
    Documents & OfficeAuto-check: notes
  • Msgraph

    codemie-ai/codemie-code

    Work with Microsoft 365 services via the Graph API — emails, calendar events, SharePoint sites (read and write), Teams chats and channel messages, OneDrive files, OneNote notebooks, Planner task…

    294 GitHub stars~4.1k tokensUpdated yesterday
    Documents & OfficeAuto-check passed
  • Workiq

    microsoft/work-iq

    Official

    WorkIQ tools for Microsoft 365 workplace data and actions. An agent skill from microsoft/work-iq.

    1k GitHub stars~15k tokensUpdated yesterday
    Documents & OfficeAuto-check passed
  • Workiq Preview

    microsoft/work-iq

    Official

    WorkIQ tools for Microsoft 365 workplace data and actions. An agent skill from microsoft/work-iq.

    1k GitHub stars~3.3k tokensUpdated yesterday
    Documents & OfficeAuto-check passed

More from pnp/sharepoint-skills

All 51 skills in this repo
  • Scorecard Matrix

    pnp/sharepoint-skills

    Generates a polished, self-contained HTML heatmap scorecard — a weighted comparison matrix where entities (rows) are scored across dimensions (columns), with computed totals, rank badges, and a…

    131 GitHub stars~1.9k tokensUpdated 2 days ago
    Auto-check passed
  • Analyze Document Library

    pnp/sharepoint-skills

    Analyze the current SharePoint document library in read-only mode and produce a structured summary of files, folders, file types, recent activity, naming issues, and organization recommendations.

    131 GitHub stars~899 tokensUpdated 2 days ago
    Auto-check passed
  • Broken Link Auditor

    pnp/sharepoint-skills

    Audits SharePoint pages, news posts, and hyperlink fields for broken or risky links and saves a self-contained HTML link-health report to the site.

    131 GitHub stars~2.5k tokensUpdated 2 days ago
    Auto-check passed
  • Custom Image Tagger

    pnp/sharepoint-skills

    Analyze selected construction images, create missing object metadata columns, and write concise visual metadata back to SharePoint columns using explicit image-analysis, list-schema, list-update…

    131 GitHub stars~1.2k tokensUpdated 2 days ago
    Auto-check passed
  • Dossier

    pnp/sharepoint-skills

    Renders a polished, self-contained HTML briefing from any data source — SharePoint lists, uploaded documents, or a verbal description.

    131 GitHub stars~1.9k tokensUpdated 2 days ago
    Auto-check passed
  • Exec Report

    pnp/sharepoint-skills

    Generates a polished, self-contained HTML executive report or dashboard from any data source — SharePoint lists, CSV exports, or a user description.

    131 GitHub stars~2k tokensUpdated 2 days ago
    Auto-check passed

Questions about Metadata Completeness Auditor

What does Metadata Completeness Auditor do?

Audits the metadata quality of a SharePoint document library or list. Metadata Completeness Auditor is an agent skill from pnp/sharepoint-skills. Audits the metadata quality of a SharePoint document library or list.

When should I use Metadata Completeness Auditor?

Metadata Completeness Auditor fits situations like: tasks that involve Cloud office suites.

How do I install Metadata Completeness Auditor in Claude Code?

Run `npx skills add pnp/sharepoint-skills --skill metadata-completeness-auditor -a claude-code`. Or copy the skill folder (Skills/metadata-completeness-auditor/metadata-completeness-auditor in pnp/sharepoint-skills) into .claude/skills/metadata-completeness-auditor in your project. Claude Code loads it when a task matches its description.

How do I install Metadata Completeness Auditor in Codex?

Run `npx skills add pnp/sharepoint-skills --skill metadata-completeness-auditor -a codex`. Or copy the skill folder (Skills/metadata-completeness-auditor/metadata-completeness-auditor in pnp/sharepoint-skills) into .agents/skills/metadata-completeness-auditor in your project. Codex loads it when a task matches its description.

Can I use Metadata Completeness Auditor 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 pnp/sharepoint-skills --skill metadata-completeness-auditor -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/metadata-completeness-auditor, .gemini/skills/metadata-completeness-auditor, .github/skills/metadata-completeness-auditor and .opencode/skills/metadata-completeness-auditor in your project.

What does Metadata Completeness Auditor need to run?

SKILL.md names no scripts, command-line tools or credentials: Metadata Completeness Auditor is instructions for the agent only.

Does Metadata Completeness Auditor access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Metadata Completeness Auditor 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 Metadata Completeness Auditor use?

Metadata Completeness Auditor is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Metadata Completeness Auditor use?

About 2.2k tokens (SKILL.md is roughly 9k 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 Metadata Completeness Auditor?

Skills that share tags, products or a category with Metadata Completeness Auditor: aai-cli Microsoft 365 (aai-labs/agent-barn, 109 stars), Add Excel (microsoft/power-platform-skills, 972 stars), Colleague Distillation (ZhixiangLuo/10xProductivity, 478 stars) and Msgraph (codemie-ai/codemie-code, 294 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Metadata Completeness Auditor?

pnp (a GitHub organization) maintains it in pnp/sharepoint-skills, which has 131 GitHub stars. The repository holds 51 skills in this directory. The repository was last updated on October 6, 2026.

Source: pnp/sharepoint-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.