{"id":"3a465071-6f5c-4ca2-b292-65b1f32dbf0f","entityType":"agent","slug":"clawhub-skills-abdelkrim-sharepoint-by-altf1be","name":"sharepoint-by-altf1be","canonicalUrl":"https://www.xpersona.co/agent/clawhub-skills-abdelkrim-sharepoint-by-altf1be","canonicalPath":"/agent/clawhub-skills-abdelkrim-sharepoint-by-altf1be","generatedAt":"2026-10-10T01:09:33.194Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"description":"Secure SharePoint file operations and Office document intelligence via Microsoft Graph API — certificate auth, Sites.Selected, read/write Word (mammoth), Excel (exceljs), PowerPoint (jszip), PDF (pdf-parse). --- name: sharepoint-by-altf1be description: \"Secure SharePoint file operations and Office document intelligence via Microsoft Graph API — certificate auth, Sites.Selected, read/write Word (mammoth), Excel (exceljs), PowerPoint (jszip), PDF (pdf-parse).\" homepage: https://github.com/ALT-F1-OpenClaw/openclaw-skill-sharepoint metadata: {\"openclaw\": {\"emoji\": \"📁\", \"requires\": {\"env\": [\"SP_TENANT_ID\", \"SP_CLIENT_ID\", \"S","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.","installCommand":"clawhub skill install skills:abdelkrim:sharepoint-by-altf1be","sourceUrl":"https://github.com/openclaw/skills/tree/main/skills/abdelkrim/sharepoint-by-altf1be","homepage":"https://github.com/ALT-F1-OpenClaw/openclaw-skill-sharepoint","primaryLinks":[{"label":"View on ClawHub","url":"https://github.com/openclaw/skills/tree/main/skills/abdelkrim/sharepoint-by-altf1be","kind":"source"},{"label":"Homepage","url":"https://github.com/ALT-F1-OpenClaw/openclaw-skill-sharepoint","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":50,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Secure SharePoint file operations and Office document intelligence via Microsoft Graph API — certificate auth, Sites.Selected, read/write Word (mammoth), Excel "},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"no-adoption-signals","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"No source adoption metrics were available."},"stars":null,"forks":null,"downloads":null,"packageName":null,"latestVersion":null,"tractionLabel":null},"release":{"evidence":{"source":"agent-index","verified":false,"confidence":"medium","updatedAt":"2026-02-25T05:54:58.624Z","emptyReason":null},"lastUpdatedAt":"2026-04-15T00:45:39.800Z","lastCrawledAt":"2026-02-25T05:54:58.624Z","lastIndexedAt":null,"nextCrawlAt":"2026-02-26T05:54:58.624Z","lastVerifiedAt":null,"highlights":[]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install skills:abdelkrim:sharepoint-by-altf1be","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-abdelkrim-sharepoint-by-altf1be/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-abdelkrim-sharepoint-by-altf1be/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-abdelkrim-sharepoint-by-altf1be/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-abdelkrim-sharepoint-by-altf1be/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-abdelkrim-sharepoint-by-altf1be/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-abdelkrim-sharepoint-by-altf1be/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T01:09:33.193Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-abdelkrim-sharepoint-by-altf1be/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-abdelkrim-sharepoint-by-altf1be/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-abdelkrim-sharepoint-by-altf1be/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-abdelkrim-sharepoint-by-altf1be/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"readme":"---\nname: sharepoint-by-altf1be\ndescription: \"Secure SharePoint file operations and Office document intelligence via Microsoft Graph API — certificate auth, Sites.Selected, read/write Word (mammoth), Excel (exceljs), PowerPoint (jszip), PDF (pdf-parse).\"\nhomepage: https://github.com/ALT-F1-OpenClaw/openclaw-skill-sharepoint\nmetadata:\n  {\"openclaw\": {\"emoji\": \"📁\", \"requires\": {\"env\": [\"SP_TENANT_ID\", \"SP_CLIENT_ID\", \"SP_CERT_PATH\", \"SP_SITE_ID\"]}, \"primaryEnv\": \"SP_TENANT_ID\"}}\n---\n\n# SharePoint by @altf1be\n\nInteract with SharePoint document libraries via Microsoft Graph API using certificate-based authentication.\n\n## Setup\n\n1. Create an Entra app with `Sites.Selected` permission and certificate auth\n2. Grant site-level write access via Microsoft Graph PowerShell\n3. Set environment variables (or create `.env` in `{baseDir}`):\n\n```\nSP_TENANT_ID=your-azure-tenant-id\nSP_CLIENT_ID=your-app-client-id\nSP_CERT_PATH=/path/to/certificate.pem\nSP_SITE_ID=your-sharepoint-site-id\nSP_DRIVE_ID=optional-specific-drive-id\n```\n\n4. Install dependencies: `cd {baseDir} && npm install`\n\n## Commands\n\n### File operations\n\n```bash\n# Show site and drive info\nnode {baseDir}/scripts/sharepoint.mjs info\n\n# List files in library root\nnode {baseDir}/scripts/sharepoint.mjs list\n\n# List files in a subfolder\nnode {baseDir}/scripts/sharepoint.mjs list --path \"Meeting Notes/2026\"\n\n# Read file content (extracts text from Office formats)\nnode {baseDir}/scripts/sharepoint.mjs read --path \"Report.docx\"\n\n# Upload a file\nnode {baseDir}/scripts/sharepoint.mjs upload --local ./report.docx --remote \"Reports/Q1-2026.docx\"\n\n# Search for files\nnode {baseDir}/scripts/sharepoint.mjs search --query \"quarterly review\"\n\n# Create folder\nnode {baseDir}/scripts/sharepoint.mjs mkdir --path \"Meeting Notes/2026\"\n\n# Delete (requires --confirm flag)\nnode {baseDir}/scripts/sharepoint.mjs delete --path \"Drafts/old-file.txt\" --confirm\n```\n\n### Coauthoring (checkout/checkin)\n\n```bash\n# Safe edit: checkout → upload modified file → checkin (recommended)\nnode {baseDir}/scripts/sharepoint.mjs edit --path \"Report.docx\" --local ./modified.docx --comment \"Updated summary\"\n\n# Check out a file (lock for exclusive editing)\nnode {baseDir}/scripts/sharepoint.mjs checkout --path \"Report.docx\"\n\n# Check in a file (unlock + publish)\nnode {baseDir}/scripts/sharepoint.mjs checkin --path \"Report.docx\" --comment \"Reviewed and approved\"\n\n# Get an edit link to open in Office Online\nnode {baseDir}/scripts/sharepoint.mjs edit-link --path \"Report.docx\"\n```\n\n## Supported Office formats\n\nThe `read` command extracts text content from:\n- `.docx` → full text extraction via mammoth\n- `.xlsx` → sheet names + cell data via exceljs\n- `.pptx` → slide text extraction via jszip\n- `.pdf` → text extraction via pdf-parse\n- `.txt` / `.md` → raw content\n\nOutput is plain text suitable for AI processing (summarization, reformatting, action item extraction).\n\n## Dependencies\n\n- `@azure/identity` — certificate-based Azure AD authentication\n- `@microsoft/microsoft-graph-client` — Microsoft Graph API client\n- `mammoth` — Word document text extraction\n- `exceljs` — Excel spreadsheet parsing\n- `jszip` — PowerPoint XML extraction\n- `pdf-parse` — PDF text extraction\n- `commander` — CLI framework\n- `dotenv` — environment variable loading\n\n## Security\n\n- Certificate auth only (no client secrets, no passwords)\n- `Sites.Selected` permission (access limited to one SharePoint site)\n- Path traversal prevention: `../` is rejected\n- Delete requires explicit `--confirm` flag\n- No tokens or secrets printed to stdout\n- File size limit: configurable max (default 50MB)\n\n## Full setup guide\n\nFor complete setup from scratch (Entra app, certificate, Sites.Selected, Key Vault):\nSee the [GitHub repository](https://github.com/ALT-F1-OpenClaw/openclaw-skill-sharepoint) README.\n\n## Author\n\nAbdelkrim BOUJRAF — [ALT-F1 SRL](https://www.alt-f1.be), Brussels 🇧🇪\nX: [@altf1be](https://x.com/altf1be)\n","readmeExcerpt":"--- name: sharepoint-by-altf1be description: \"Secure SharePoint file operations and Office document intelligence via Microsoft Graph API — certificate auth, Sites.Selected, read/write Word (mammoth), Excel (exceljs), PowerPoint (jszip), PDF (pdf-parse).\" homepage: https://github.com/ALT-F1-OpenClaw/openclaw-skill-sharepoint metadata: {\"openclaw\": {\"emoji\": \"📁\", \"requires\": {\"env\": [\"SP_TENANT_ID\", \"SP_CLIENT_ID\", \"S","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"SP_TENANT_ID=your-azure-tenant-id\nSP_CLIENT_ID=your-app-client-id\nSP_CERT_PATH=/path/to/certificate.pem\nSP_SITE_ID=your-sharepoint-site-id\nSP_DRIVE_ID=optional-specific-drive-id"},{"language":"bash","snippet":"# Show site and drive info\nnode {baseDir}/scripts/sharepoint.mjs info\n\n# List files in library root\nnode {baseDir}/scripts/sharepoint.mjs list\n\n# List files in a subfolder\nnode {baseDir}/scripts/sharepoint.mjs list --path \"Meeting Notes/2026\"\n\n# Read file content (extracts text from Office formats)\nnode {baseDir}/scripts/sharepoint.mjs read --path \"Report.docx\"\n\n# Upload a file\nnode {baseDir}/scripts/sharepoint.mjs upload --local ./report.docx --remote \"Reports/Q1-2026.docx\"\n\n# Search for files\nnode {baseDir}/scripts/sharepoint.mjs search --query \"quarterly review\"\n\n# Create folder\nnode {baseDir}/scripts/sharepoint.mjs mkdir --path \"Meeting Notes/2026\"\n\n# Delete (requires --confirm flag)\nnode {baseDir}/scripts/sharepoint.mjs delete --path \"Drafts/old-file.txt\" --confirm"},{"language":"bash","snippet":"# Safe edit: checkout → upload modified file → checkin (recommended)\nnode {baseDir}/scripts/sharepoint.mjs edit --path \"Report.docx\" --local ./modified.docx --comment \"Updated summary\"\n\n# Check out a file (lock for exclusive editing)\nnode {baseDir}/scripts/sharepoint.mjs checkout --path \"Report.docx\"\n\n# Check in a file (unlock + publish)\nnode {baseDir}/scripts/sharepoint.mjs checkin --path \"Report.docx\" --comment \"Reviewed and approved\"\n\n# Get an edit link to open in Office Online\nnode {baseDir}/scripts/sharepoint.mjs edit-link --path \"Report.docx\""}],"parameters":{},"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["typescript"],"docsSourceLabel":"CLAWHUB","editorialOverview":"Secure SharePoint file operations and Office document intelligence via Microsoft Graph API — certificate auth, Sites.Selected, read/write Word (mammoth), Excel (exceljs), PowerPoint (jszip), PDF (pdf-parse). --- name: sharepoint-by-altf1be description: \"Secure SharePoint file operations and Office document intelligence via Microsoft Graph API — certificate auth, Sites.Selected, read/write Word (mammoth), Excel (exceljs), PowerPoint (jszip), PDF (pdf-parse).\" homepage: https://github.com/ALT-F1-OpenClaw/openclaw-skill-sharepoint metadata: {\"openclaw\": {\"emoji\": \"📁\", \"requires\": {\"env\": [\"SP_TENANT_ID\", \"SP_CLIENT_ID\", \"S","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":395,"uniquenessScore":66,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T01:09:33.194Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}