Agent skill

Sync Blocker Auditor

by pnp in pnp/sharepoint-skills

Audits a SharePoint document library for names and paths that break OneDrive sync, File Explorer, and Teams file access.

MITAuto-check passedDocuments & Office

Install Sync Blocker Auditor

skills CLI
$ npx skills add pnp/sharepoint-skills --skill sync-blocker-auditor -a claude-code

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

GitHub CLI
$ gh skill install pnp/sharepoint-skills sync-blocker-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/sync-blocker-auditor/sync-blocker-auditor .claude/skills/sync-blocker-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
sync-blocker-auditor
GitHub stars
131
Token cost
~3.9k tokens
SKILL.md length
2,059 words
Files
1
Skills in repo
51
Repo updated
First seen
Licence
MIT

At a glance

Audits a SharePoint document library for names and paths that break OneDrive sync, File Explorer, and Teams file access.

  • Works in 7 steps: Resolve the library and enumerate every… → Apply the rule set → Propose a safe name for every Blocker → …
  • Tasks that involve Cloud office suites
  • SKILL.md covers Purpose, Trigger Phrases, Inputs & Scope and Steps, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Sync Blocker Auditor is an agent skill from pnp/sharepoint-skills. Audits a SharePoint document library for names and paths that break OneDrive sync, File Explorer, and Teams file access. Flags illegal characters, leading/trailing spaces, trailing periods, Windows reserved names, ""/"%" legacy characters, paths over the 400-character URL limit, excessive nesting, long-term checked-out files, and junk artifacts. Scores sync readiness, proposes a safe rename for every blocker, and saves a self-contained HTML report. It is strictly read-only — it never renames, moves, or deletes…

Its SKILL.md is about 3.9k 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 OneDrive and 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

  • “sync blockers”
  • “why won”
  • “OneDrive sync errors”
  • “/sync-blocker-auditor”

Workflow steps

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

  1. Resolve the library and enumerate every item
  2. Apply the rule set
  3. Propose a safe name for every Blocker
  4. Compute the scores
  5. Build a self-contained HTML report
  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

    Links to these hosts (documentation or services it may open):

    • support.microsoft.com
    • learn.microsoft.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

Sync Blocker Auditor loads about 3.9k tokens when it runs. Until then it costs about 206 tokens; SKILL.md has 2,059 words of instructions outside code blocks.

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

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). 2,059 words, ~3,924 tokens.

Download SKILL.mdSave it as .claude/skills/sync-blocker-auditor/SKILL.md (or your agent's skills folder).
name
sync-blocker-auditor
description
Audits a SharePoint document library for names and paths that break OneDrive sync, File Explorer, and Teams file access. Flags illegal characters, leading/trailing spaces, trailing periods, Windows reserved names, "#"/"%" legacy characters, paths over the 400-character URL limit, excessive nesting, long-term checked-out files, and junk artifacts. Scores sync readiness, proposes a safe rename for every blocker, and saves a self-contained HTML report. It is strictly read-only — it never renames, moves, or deletes anything. Use when the user says: - "sync blockers" - "why won't this library sync" - "OneDrive sync errors" - "sync health check" - "check file names" - "invalid file names" - "illegal characters" - "path too long" - "url too long" - "files stuck checked out" - "sync readiness report"

Sync Blocker Auditor

Purpose

SharePoint accepts file and folder names that the OneDrive sync client, File Explorer, and the Teams Files tab later refuse to handle. The result is the classic "we can't sync this file" error that surfaces one user at a time, long after the content was uploaded, with no way to see how widespread the problem is.

This skill audits a document library against Microsoft's documented naming and path restrictions, scores its sync readiness, and produces a severity-ranked HTML report with a proposed safe name for every blocked item.

It is strictly read-only: it never renames, moves, deletes, checks in, or modifies any item. The only thing it writes is the HTML report file.

Trigger Phrases

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

  • "sync blockers" / "sync health check" / "sync readiness report"
  • "why won't this library sync" / "OneDrive sync errors" / "sync is failing"
  • "check file names" / "invalid file names" / "illegal characters" / "bad characters"
  • "path too long" / "url too long" / "400 character limit"
  • "files stuck checked out" / "who has files checked out"

Do not use this skill to actually rename or fix items. If the user asks for the fix to be applied, explain that this skill is read-only, hand them the rename plan from the report, and point them at a rename-capable skill or a bulk-rename tool.

Inputs & Scope

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

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

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

Steps

Step 1 — Resolve the library and enumerate every item
  1. Resolve the target library and capture its server-relative root URL (needed for accurate path-length maths).
  2. Use list_items with recursive=true to enumerate files and folders, projecting at minimum: FileLeafRef (name), FileRef (server-relative path), FileDirRef (parent path), FSObjType (0 = file, 1 = folder), File_x0020_Size, Modified, Editor, and the check-out fields (CheckoutUser / IsCheckedoutToLocal) when available.
  3. Page through the entire library — do not stop at the first page. A single recursive list_items call can exceed the response-size limit above roughly 1,000 items, which is exactly the size of the migrated libraries this skill targets. If that happens, fall back to walking one folder at a time and aggregating the running totals with execute_code. If a read fails or returns partial data, record that plainly in the report's Limitations section instead of guessing.

Tell the user the scope and item count before analysing.

Step 2 — Apply the rule set

Do not evaluate the rules by eye. Use execute_code to do the character counting, pattern matching, and aggregation — exact URL lengths, character-class matches, and per-rule totals must be computed, not estimated.

An item can match several rules; record all matches, and rank the item by its highest severity. The Scope column says which item types a rule applies to.

Blockers (severity: Blocker — sync fails, or the item is unreachable from Explorer)
IDRuleDetectionScope
B1Illegal charactersName contains any of `" * : < > ? / \`
B2Leading or trailing whitespaceName starts or ends with a space or tabfiles + folders
B3Trailing periodThe full name ends with ., or the base name (the text before the final extension) ends with .. A period between words, as in Q3.Budget.docx, is not a finding.files + folders
B4Reserved Windows device nameBase name (case-insensitive) is CON, PRN, AUX, NUL, COM0–COM9, or LPT0–LPT9files + folders
B5Reserved SharePoint/OneDrive nameName is .lock or desktop.ini; _vti_ appears anywhere in the name; a file or folder at the library root is named forms; a folder name begins with ゛ or ဧfiles + folders
B6Leading tilde-dollarName starts with ~$ — an orphaned Office lock file, disallowed by OneDrive and SharePointfiles + folders
B7URL over the SharePoint limitFull decoded URL (https://<tenant>/<site>/<library>/<path>/<name>) exceeds 400 charactersfiles + folders
B8Name segment too longAny single file or folder name exceeds 255 characters — the per-name limit in File Explorer and Finder, not in SharePoint itselffiles + folders
Risks (severity: Risk — works in the browser, breaks desktop clients, tooling, or migrations)
IDRuleDetectionScope
R1Characters hostile to legacy clients and toolingName contains #, %, &, {, }, or +. These have been fully supported by SharePoint Online since 2017 — modern sharing links encode them correctly. They remain a risk for hand-constructed REST/CSOM URLs, migration tools, third-party integrations, and on-premises clients.files + folders
R2Path over the Windows limitFull path exceeds 260 characters — File Explorer and the Office desktop apps cannot open, rename, or move the item, and the local sync root adds a further 30–60 characters on top. This bites long before B7 does.files + folders
R3Deep nestingItem is more than 8 folder levels below the library rootfiles + folders
R4Long-term check-outChecked out for more than 7 days — colleagues only ever receive the last checked-in versionfiles only
R5Non-printable or bidirectional charactersName contains control characters, zero-width characters, or RTL/LTR override marksfiles + folders
R6TMP filesExtension is .tmp or .temp — OneDrive does not sync TMP files at allfiles only
Info (severity: Info — noise that should not be in a synced library)
IDRuleDetectionScope
I1Junk artifactsThumbs.db, .DS_Store, ehthumbs.dbfiles only
I2Backup / leftover filesExtension is .bak, .old, .partial, .crdownload, or .laccdbfiles only
I3Zero-byte filesFile size is 0 bytesfiles only

I1–I3 are advisory — never present them as sync failures. Never apply a files only rule to a folder: folders report a size of 0 and would otherwise all be flagged by I3.

Do not flag names merely for being vague, generic, or unhelpful (Document.docx, Untitled.xlsx, Misc), and do not flag leading-dot names such as .gitignore for having an empty base name. Readability is a different problem, handled by other skills. This skill only reports technical sync and URL blockers.

Step 3 — Propose a safe name for every Blocker

For each item with a Blocker, derive a suggested name — as a proposal only, never applied:

  1. Replace every illegal character (B1) with a single -.
  2. Replace #, %, &, {, }, + with - only when the item already has a Blocker; otherwise leave them and report as R1.
  3. Collapse runs of - or spaces into one, then trim leading/trailing spaces, tabs, and periods.
  4. For B4 reserved device names, prefix the name with file- (CON.docx → file-CON.docx). For B5/B6, first strip the reserved ~$ or _vti_ prefix, then add file- (~$Proposal.docx → file-Proposal.docx) — never leave the reserved prefix in place.
  5. For B7/B8, shorten the base name — keep the first meaningful words, drop filler, and always preserve the original extension. State the new full-URL length.
  6. If the proposal collides with an existing name in the same folder, append (2), (3), …
  7. If a name cannot be made safe by renaming alone (for example, the path is long because of folder depth, not the file name), say so and recommend the folder-level fix instead.

Show both the original and the proposal so a human can approve each one.

Show full SKILL.md (829 more words)Show less
Step 4 — Compute the scores
  • Sync readiness % = items with no Blocker ÷ total items scanned, as a whole number.
  • Counts of Blocker / Risk / Info items (an item counts once, at its highest severity).
  • Rule frequency — how many items matched each rule ID, sorted descending.
  • Folder hot spots — the folders containing the most affected items.
  • Longest URL — the single worst path, with its character count.
Step 5 — Build a self-contained HTML report

Draft one self-contained HTML file:

  • No scripts. No external CSS, fonts, images, or resources. Inline CSS only.
  • Summary band — items scanned, sync readiness %, Blocker / Risk / Info counts, longest URL length, and the single most common rule.
  • Severity strip — three coloured cards: Blocker (red #b3261e), Risk (amber #a16207), Info (blue #1e40af).
  • Rule frequency chart — one row per matched rule showing rule ID, plain-English label, and a horizontal bar drawn with inline-CSS width (e.g., a coloured <div> at width: 62%), coloured by the rule's severity.
  • Findings table — one row per affected item: name, folder path, severity badge, matched rule IDs, a plain-English reason, and the proposed safe name. Sort Blockers first.
  • Path-length table — the 10 longest URLs with their character counts, each drawn as a bar against the 400-character SharePoint limit, with the 260-character Windows limit marked so it is obvious which items already break the desktop clients.
  • Checked-out table — file, who has it checked out, and for how many days (omit the section entirely if there are none).
  • Folder hot spots — the folders with the most affected items.
  • Remediation list — a short, prioritised, plain-English list, most impactful first ("Rename 12 files containing : — sync fails for every user", "Flatten Projects/2026/Q3/... — 6 files are within 40 characters of the URL limit").
  • Limitations section — only if any data was unavailable or the scan was partial.

Keep percentages as whole numbers and be consistent throughout the report.

Step 6 — Save the report
  • Save the HTML file in a Sync Reports folder in the site's default Documents library (or Site Assets). Never write into the library under audit unless the user explicitly asks — writing a report into the audited scope changes the very thing that was just measured, and the reports accumulate as findings on the next run.
  • Create the Sync Reports folder only if it does not exist, and only to hold the report.
  • Use a clear filename: Sync-Blocker-Audit-<Library>-YYYY-MM-DD-HHMM.html.
  • If the save fails because the user lacks write access anywhere on the site, do not stop — say the report could not be saved, and return the full findings inline as Markdown instead.
Step 7 — Respond to the user

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

markdown
# Sync blocker audit complete

[Open the report](<link>)

- Scope: <library / folder audited>
- Items scanned: <n> (<n> files, <n> folders)
- Sync readiness: <n>%  (Blockers <n> · Risks <n> · Info <n>)
- Top blocker: <rule label> on <n> items
- Longest URL: <n> characters (limit 400)

Example

User: "Why won't the Project Files library sync?"

Agent response after processing:

I audited Project Files (412 items — 366 files, 46 folders) against the OneDrive sync and URL rules.

MetricResult
Sync readiness91%
Blockers / Risks / Info36 / 58 / 9
Top blockerIllegal characters (B1) on 21 items
Longest URL438 characters (limit 400)

The worst offender is Clients/Northwind/Contracts/Q3: Signed & Approved/ — the : in that folder name blocks every one of the 14 files inside it for every synced user.

I saved the report to Sync Reports/Sync-Blocker-Audit-Project-Files-2026-08-20-1130.html, including a proposed safe name for all 36 blocked items. Nothing was renamed.

Constraints

  • Strictly read-only. Never rename, move, delete, check in, check out, or modify any item, folder, column, view, or setting. The only thing this skill writes is the HTML report file (and, if needed, the Sync Reports folder to hold it).
  • Never fabricate items, paths, names, or check-out owners — everything comes from the actual library.
  • Rename suggestions are proposals only. Always present them for human approval and state explicitly that nothing was changed.
  • Measure URL length against the full decoded URL, not the file name alone, and always state the limit next to the number — 400 characters for SharePoint (B7), 260 for Windows (R2).
  • Compute lengths, character matches, and totals with execute_code. Never estimate a character count by inspection.
  • Report technical blockers only. Do not flag names for being vague, generic, or unhelpful.
  • 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.
  • Match on names case-insensitively, but always display the original name exactly as stored, including the whitespace that caused the finding (wrap such names in ` so trailing spaces stay visible).

References

The illegal-character, whitespace, and trailing-period rules (B1–B3) are enforced by SharePoint and Windows at upload and rename time rather than being listed in the article above. They matter because content that arrived through migrations, the API, or third-party tools bypassed that enforcement — which is why these names exist in real libraries at all.

© 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/sync-blocker-auditor/sync-blocker-auditor of pnp/sharepoint-skills.

Open the folder on GitHubat commit aa9eb14

Compare with similar skills

Sync Blocker 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.

Sync Blocker Auditor compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Sync Blocker Auditor this skillpnp/sharepoint-skills131—~3.9kAutomated 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
Msgraphcodemie-ai/codemie-code294—~4.1kAutomated safety check: PassApache-2.0
Workiqmicrosoft/work-iq1k—~15kAutomated safety check: PassCustom licence
Workiq Previewmicrosoft/work-iq1k—~3.3kAutomated 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 today
    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 today
    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
  • Implementing Data Loss Prevention With Microsoft Purview

    mukul975/Anthropic-Cybersecurity-Skills

    Implements DLP policies using Microsoft Purview PowerShell cmdlets and the Graph API to protect data across Exchange Online, SharePoint, OneDrive, Teams, endpoints, and Power BI, including…

    34k GitHub stars~7.9k tokensUpdated 1 mo ago
    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 Sync Blocker Auditor

What does Sync Blocker Auditor do?

Audits a SharePoint document library for names and paths that break OneDrive sync, File Explorer, and Teams file access. Sync Blocker Auditor is an agent skill from pnp/sharepoint-skills. Audits a SharePoint document library for names and paths that break OneDrive sync, File Explorer, and Teams file access.

When should I use Sync Blocker Auditor?

Sync Blocker Auditor fits situations like: tasks that involve Cloud office suites.

How do I install Sync Blocker Auditor in Claude Code?

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

How do I install Sync Blocker Auditor in Codex?

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

Can I use Sync Blocker 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 sync-blocker-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/sync-blocker-auditor, .gemini/skills/sync-blocker-auditor, .github/skills/sync-blocker-auditor and .opencode/skills/sync-blocker-auditor in your project.

What does Sync Blocker Auditor need to run?

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

Does Sync Blocker Auditor access the network?

SKILL.md names 2 domains. As links in the text: support.microsoft.com and learn.microsoft.com. This is read from the text; nothing was executed.

Is Sync Blocker 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 Sync Blocker Auditor use?

Sync Blocker 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 Sync Blocker Auditor use?

About 3.9k tokens (SKILL.md is roughly 16k 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 Sync Blocker Auditor?

Skills that share tags, products or a category with Sync Blocker Auditor: aai-cli Microsoft 365 (aai-labs/agent-barn, 109 stars), Add Excel (microsoft/power-platform-skills, 972 stars), Msgraph (codemie-ai/codemie-code, 294 stars) and Workiq (microsoft/work-iq, 1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Sync Blocker 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.