sharepoint-audit
Guide and run a SharePoint audit locally. Collect inputs, confirm PowerShell 7.4+ and Python 3.10+ are available, call PowerShell with certificate auth via wrapper, parse audit.json, and render Markdown/HTML. Use only local shell commands.
When & Why to Use This Skill
This Claude skill automates SharePoint Online permission audits by orchestrating local PowerShell and Python scripts. It streamlines the identification of access risks, verifies environment prerequisites, and generates comprehensive HTML/Markdown reports, enabling IT administrators to maintain robust security posture and compliance without exposing sensitive credentials.
Use Cases
- Single Site Access Review: Quickly audit and verify user permissions for a specific SharePoint site to ensure data privacy and prevent unauthorized access.
- Bulk Enterprise Auditing: Execute large-scale permission checks across multiple sites using CSV-defined batches to streamline organizational compliance workflows.
- Security Compliance Reporting: Automatically generate detailed audit reports in HTML or Markdown format for internal security reviews and regulatory documentation.
- Environment Readiness Validation: Automatically check for required PowerShell and Python versions to ensure the local machine is properly configured for SharePoint management tasks.
| name | sharepoint-audit |
|---|---|
| description | > |
SharePoint Audit Skill
When to use
- A user needs to audit SharePoint Online permissions for one site or a CSV-defined batch.
- The operator can run PowerShell 7.4+, Python 3.10+, and PnP.PowerShell locally.
What to do
- Ask for: Tenant ID, App (Client) ID, PFX path, internal domains, site URL or CSV, and confirm
PFX_PASSis set. - Run:
pwsh ./sharepoint-audit-agent/agent/powershell/Install-Modules.ps1python ./sharepoint-audit-agent/agent/python/audit_agent.py … --output ./runs
- On success, show
./runs/<timestamp>/site-*/report.htmland remind the user that the file contains sensitive data.
Rules
- Only run local commands. Do not fetch from the internet beyond module installs.
- Never echo secrets. Read PFX password from env var.
- Default Sites.Selected scope to Read; only pass
--sites-selected-permission Writeif the user explicitly authorizes it.