Files
Claude-SharepointLists/README.md
ang3l12 fd957177b9 Initial import: SharePoint Lists skill
Claude Code skill for SharePoint Lists CRUD via Microsoft Graph (app-only auth): reusable graph.mjs client, sp.mjs CLI, and setup + API reference docs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 11:12:50 -06:00

40 lines
1.6 KiB
Markdown

# Claude-SharepointLists
A [Claude Code](https://claude.com/claude-code) skill for connecting to
**Microsoft SharePoint Lists** via the Microsoft Graph API, with full read/write
(CRUD) over list items using **app-only (client-credentials)** authentication.
## What's here
```
.claude/skills/sharepoint-lists/
├── SKILL.md # how the skill works + usage
├── .env.example # credential template (copy to .env; .env is git-ignored)
├── scripts/
│ ├── sp.mjs # CLI: test | lists | columns | items | get | create | update | delete
│ └── lib/graph.mjs # reusable, dependency-free Graph client (SharePointListsClient)
└── references/
├── setup.md # Azure AD (Entra) app registration walkthrough
└── graph-api.md # field-type formats + OData query reference
```
## Quick start
1. Create an Entra app registration and grant it a SharePoint Graph permission
(`Sites.Selected` preferred). See
[`references/setup.md`](.claude/skills/sharepoint-lists/references/setup.md).
2. Copy `.env.example` to `.env` and fill in `SP_TENANT_ID`, `SP_CLIENT_ID`,
`SP_CLIENT_SECRET` (optionally `SP_SITE_URL`).
3. Verify connectivity:
```bash
cd .claude/skills/sharepoint-lists/scripts
node sp.mjs test --site "https://<tenant>.sharepoint.com/sites/<SiteName>"
```
## Security
Credentials live only in `.env`, which is git-ignored — **never commit secrets**.
The Graph + auth logic is isolated in `scripts/lib/graph.mjs` so it can later be
wrapped as a standalone MCP server without a rewrite.