Browse and discover SharePoint sites, lists, document libraries, and file contents — navigate your SharePoint world without leaving the CLI.
npx skills add https://github.com/microsoft/work-iq --skill site-explorer
Navigate your SharePoint environment interactively. Search for sites, browse their lists and document libraries, inspect list schemas and items, preview files, and drill into folder structures — all from the command line.
workiq-ask (
question: "What is my profile information including display name and email address?"
)
Search by name:
workiq-ask (
question: "Search for SharePoint sites matching '<site name or partial name>'. For each site return the site name and URL."
)
Browse top sites (no specific name):
workiq-ask (
question: "What SharePoint sites do I have access to? List each site's name and URL."
)
Present discovered sites:
🌐 SHAREPOINT SITES
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# Site Name URL
1 HR Hiring Portal contoso.sharepoint.com/sites/HRHiring
2 Marketing Hub contoso.sharepoint.com/sites/Marketing
3 Project Alpha contoso.sharepoint.com/sites/ProjectAlpha
4 Engineering Wiki contoso.sharepoint.com/sites/EngWiki
Which site would you like to explore?
Retrieve all lists and document libraries on the selected site:
workiq-ask (
question: "What lists and document libraries are on the '<site name>' SharePoint site? For each list include the name, item count, and last modified date. For each document library include the name and file count."
)
Display:
📁 SITE: {Site Name}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 LISTS ({count})
# List Name Items Last Modified
1 Job Openings 24 Feb 25, 2026
2 Candidate Feedback 156 Feb 27, 2026
3 Interview Schedule 42 Feb 28, 2026
📚 DOCUMENT LIBRARIES ({count})
# Library Name Files
4 Shared Documents 87
5 Templates 12
6 Meeting Notes 34
🛠️ ACTIONS
"show list #1" — view list items
"show columns in #2" — inspect list schema
"browse #4" — explore document library
"show subsites" — list child sites
View column definitions for a list:
workiq-ask (
question: "What are the columns in the '<list name>' list on the '<site name>' SharePoint site? For each column include the name, data type, whether it is required, and description."
)
Display:
📋 LIST SCHEMA: {List Name}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Column Name Type Required Description
Title Text ✅ Job title
Department Choice ❌ HR, Eng, Marketing, Sales
Status Choice ✅ Open, Closed, On Hold
Hiring Manager Person ❌ —
Target Start Date DateTime ❌ —
Salary Range Text ❌ —
🛠️ ACTIONS
"show items" — view list data
"show items where Status = Open" — filtered view
Retrieve list items:
workiq-ask (
question: "Show me the items in the '<list name>' list on the '<site name>' SharePoint site. Include all columns for each item."
)
Display items in a table format, using column names as headers. Show the first 20 items; note if more exist.
📋 LIST: {List Name} — {N} items
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# Title Department Status Hiring Manager Target Start
1 Sr. Engineer Eng Open Firstname1 Lastname1 Mar 15
2 Product Designer Design Open Firstname2 Lastname2 Apr 1
3 Data Analyst Analytics Closed Firstname3 Lastname3 —
...
🛠️ ACTIONS
"show item #1 details" — full item view
"filter by Status = Open" — narrow down
"export to Word" — save as document
Browse a library's contents:
workiq-ask (
question: "Show me the files and folders in the '<library name>' document library on the '<site name>' SharePoint site. For each item include the name, type (file or folder), size, and last modified date."
)
Display:
📚 DOCUMENT LIBRARY: {Library Name}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# Name Type Size Modified
📁 Contracts Folder — Feb 20
📁 Templates Folder — Feb 15
📄 Q1 Budget.xlsx File 245 KB Feb 27
📄 Team Roster.docx File 82 KB Feb 25
📄 README.md File 4 KB Feb 10
🛠️ ACTIONS
"open Contracts" — browse into folder
"read README.md" — preview file contents
"show details Q1 Budget" — file metadata
"search for 'invoice'" — find files by name
workiq-ask (
question: "Show me the contents of the '<folder name>' folder in the '<library name>' document library on the '<site name>' SharePoint site. Include file name, type, size, and last modified date."
)
For text file contents:
workiq-ask (
question: "Show me the contents of the file '<file name>' in the '<library name>' document library on the '<site name>' SharePoint site."
)
For metadata only:
workiq-ask (
question: "What are the metadata details for the file '<file name>' in the '<library name>' document library on the '<site name>' SharePoint site? Include size, type, created date, modified date, and author."
)
workiq-ask (
question: "Search for files matching '<file name or keyword>' across my SharePoint sites. Include the file name, site, library, size, and last modified date for each result."
)
workiq-ask (
question: "What are the subsites under the '<site name>' SharePoint site? Include each subsite's name and URL."
)
| Parameter | Required | Default | Description |
|-----------|----------|---------|-------------|
| Site | No | Browse all | Site name or URL to explore |
| View | No | Overview | "lists", "libraries", "all" |
| List/Library | No | — | Specific list or library to drill into |
| MCP Server | Tool | Purpose |
|---|---|---|
| workiq (Local WorkIQ CLI) | ask | Site discovery, list/library browsing, schema inspection, item retrieval, file preview, and file search |
> "What SharePoint sites do I have access to?"
Claude queries your accessible sites via ask, then presents them in a numbered table. You can select any site by number or name to continue exploring.
> "Show me the columns and items in the Vendor Tracker list on the Procurement site."
ask.> "Open the Shared Documents library on the Project Alpha site and show me what's in the Contracts folder."
ask.ask.Symptom: ask returns no results for a site name search.
Resolution:
Symptom: ask indicates a permission or access error when querying a site, list, library, or file.
Resolution:
Symptom: ask returns lists but the expected list is missing, or no libraries are reported.
Resolution:
Symptom: ask cannot return the contents of a large file.
Resolution:
Symptom: ask returns fewer site results than expected.
Resolution:
Comprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction. When Claude needs to work with professional documents (.docx files) for: (1) Creating new documents, (2) Modifying or editing content, (3) Working with tracked changes, (4) Adding comments, or any other document tasks
Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. When Claude needs to fill in a PDF form or programmatically process, generate, or analyze PDF documents at scale.
Presentation creation, editing, and analysis. When Claude needs to work with presentations (.pptx files) for: (1) Creating new presentations, (2) Modifying or editing content, (3) Working with layouts, (4) Adding comments or speaker notes, or any other presentation tasks
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.
Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text/tables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting/decrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.
Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files). Triggers include: any mention of 'Word doc', 'word document', '.docx', or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when extracting or reorganizing content from .docx files, inserting or replacing images in documents, performing find-and-replace in Word files, working with tracked changes or comments, or converting content into a polished Word document. If the user asks for a 'report', 'memo', 'letter', 'template', or similar deliverable as a Word or .docx file, use this skill. Do NOT use for PDFs, spreadsheets, Google Docs, or general coding tasks unrelated to document generation.
Use this skill any time a .pptx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates, layouts, speaker notes, or comments. Trigger whenever the user mentions \"deck,\" \"slides,\" \"presentation,\" or references a .pptx filename, regardless of what they plan to do with the content afterward. If a .pptx file needs to be opened, created, or touched, use this skill.
Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax. Use when working with .md files in Obsidian, or when the user mentions wikilinks, callouts, frontmatter, tags, embeds, or Obsidian notes.
Take microsoft/site-explorer from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.