{"id":"16c036c2-a551-4608-a16d-a7faf95266b3","shortId":"ZjZepW","kind":"skill","title":"microsoft-onedrive","tagline":"Read and manage OneDrive / SharePoint files via Microsoft Graph. Use when the user mentions OneDrive files / folders, SharePoint documents, file uploads / downloads, sharing links, or \"my drive\".","description":"Drive Microsoft Graph for OneDrive / SharePoint via `curl + jq`. The\nuser's OAuth bearer token is in `$MICROSOFT_ONEDRIVE_TOKEN`; every call\nneeds it as `Authorization: Bearer $MICROSOFT_ONEDRIVE_TOKEN`. The token\nalready carries the OneDrive scopes the user agreed to at install time\n(`Files.Read`, `Files.Read.All`, optionally `Files.ReadWrite.All`,\n`Sites.Read.All`).\n\nThe Graph API returns standard JSON; failures surface as JSON\n`{\"error\": {\"code\": \"...\", \"message\": \"...\"}}` — show that error\nverbatim to the user.\n\n**Always start with `/me`** to confirm the connection works AND learn\nwhich account / drive you're operating against.\n\n## Recipes\n\n### Verify auth (always run first)\n\n```sh\ncurl -sS -H \"Authorization: Bearer $MICROSOFT_ONEDRIVE_TOKEN\" \\\n  https://graph.microsoft.com/v1.0/me \\\n  | jq '{displayName, mail, userPrincipalName}'\n```\n\nIf you get `401 InvalidAuthenticationToken`, the token expired —\nreport it; the user has to reinstall the connector.\n\n### List files in root\n\n```sh\ncurl -sS -H \"Authorization: Bearer $MICROSOFT_ONEDRIVE_TOKEN\" \\\n  \"https://graph.microsoft.com/v1.0/me/drive/root/children?\\$top=20&\\$select=id,name,size,lastModifiedDateTime,folder,file\" \\\n  | jq '.value[] | {id, name, size, kind: (if .folder then \"folder\" else .file.mimeType end), modified: .lastModifiedDateTime}'\n```\n\nFolders have `\"folder\":{\"childCount\":N}`, files have `\"file\":{\"mimeType\":\"...\"}`.\n\n### List files in a sub-folder by path\n\n```sh\ncurl -sS -H \"Authorization: Bearer $MICROSOFT_ONEDRIVE_TOKEN\" \\\n  \"https://graph.microsoft.com/v1.0/me/drive/root:/Documents:/children?\\$top=20&\\$select=id,name,size,lastModifiedDateTime\"\n```\n\nPath uses `:` as the path/segment separator — `:/Documents/Q1:/children`.\n\n### Search files (recursive)\n\n```sh\ncurl -sS -H \"Authorization: Bearer $MICROSOFT_ONEDRIVE_TOKEN\" \\\n  --data-urlencode \"q=quarterly report\" --get \\\n  \"https://graph.microsoft.com/v1.0/me/drive/root/search(q='quarterly report')?\\$top=25&\\$select=id,name,size,webUrl,lastModifiedDateTime\"\n```\n\n> `search(q='')` with empty query returns 400. To find files by type\n> without a keyword, search by extension: `search(q='.pdf')`.\n\n### Recently modified files (cross-folder)\n\n```sh\ncurl -sS -H \"Authorization: Bearer $MICROSOFT_ONEDRIVE_TOKEN\" \\\n  \"https://graph.microsoft.com/v1.0/me/drive/recent?\\$top=25\" \\\n  | jq '.value[] | {name, modified: .lastModifiedDateTime, parent: .parentReference.path}'\n```\n\n### Files shared with me\n\n```sh\ncurl -sS -H \"Authorization: Bearer $MICROSOFT_ONEDRIVE_TOKEN\" \\\n  \"https://graph.microsoft.com/v1.0/me/drive/sharedWithMe?\\$top=25\" \\\n  | jq '.value[] | {name, size: .size, owner: .remoteItem.shared.owner.user.displayName}'\n```\n\n### Download a file by item id\n\n```sh\n# /content returns 302 to a pre-signed URL — let curl follow it.\ncurl -sSL -H \"Authorization: Bearer $MICROSOFT_ONEDRIVE_TOKEN\" \\\n  \"https://graph.microsoft.com/v1.0/me/drive/items/${ITEM_ID}/content\" \\\n  -o \"$SKILL_DIR/tmp/$(basename \"$NAME\")\"\n```\n\n### Download a file by path\n\n```sh\n# URL-encode each path segment with jq -Rr @uri (or use printf encoding).\nENCODED=$(printf '%s' \"Documents/report.docx\" | jq -sRr @uri)\ncurl -sSL -H \"Authorization: Bearer $MICROSOFT_ONEDRIVE_TOKEN\" \\\n  \"https://graph.microsoft.com/v1.0/me/drive/root:/${ENCODED}:/content\" \\\n  -o report.docx\n```\n\n### Upload a small file (< 4 MB)\n\n```sh\ncurl -sS -X PUT \\\n  -H \"Authorization: Bearer $MICROSOFT_ONEDRIVE_TOKEN\" \\\n  -H \"Content-Type: application/octet-stream\" \\\n  --data-binary @/tmp/report.pdf \\\n  \"https://graph.microsoft.com/v1.0/me/drive/root:/Documents/report.pdf:/content\"\n```\n\nFor files **> 4 MB** use an upload session (chunked):\n\n```sh\n# 1) create session\nSESSION=$(curl -sS -X POST \\\n  -H \"Authorization: Bearer $MICROSOFT_ONEDRIVE_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"item\":{\"@microsoft.graph.conflictBehavior\":\"rename\"}}' \\\n  \"https://graph.microsoft.com/v1.0/me/drive/root:/Documents/big.zip:/createUploadSession\")\nUPLOAD_URL=$(echo \"$SESSION\" | jq -r .uploadUrl)\n# 2) PUT in 10 MiB chunks with Content-Range: bytes <start>-<end>/<total>\n# (See Microsoft Graph docs for the chunking loop; jq + dd makes this trivial.)\n```\n\n### Create a folder\n\n```sh\ncurl -sS -X POST \\\n  -H \"Authorization: Bearer $MICROSOFT_ONEDRIVE_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"name\":\"Reports\",\"folder\":{},\"@microsoft.graph.conflictBehavior\":\"rename\"}' \\\n  https://graph.microsoft.com/v1.0/me/drive/root/children\n```\n\n`@microsoft.graph.conflictBehavior`: `rename` (auto-suffix), `replace`\n(overwrite), `fail` (error if exists). Default is `fail`.\n\n### Rename / move (PATCH)\n\n**⚠️ Always show the source and destination before executing.**\n\n```sh\n# Rename only\ncurl -sS -X PATCH \\\n  -H \"Authorization: Bearer $MICROSOFT_ONEDRIVE_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"name\":\"renamed.docx\"}' \\\n  \"https://graph.microsoft.com/v1.0/me/drive/items/${ITEM_ID}\"\n\n# Move to a different folder\ncurl -sS -X PATCH \\\n  -H \"Authorization: Bearer $MICROSOFT_ONEDRIVE_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d \"$(jq -nc --arg pid \"$NEW_PARENT_ID\" '{parentReference:{id:$pid}}')\" \\\n  \"https://graph.microsoft.com/v1.0/me/drive/items/${ITEM_ID}\"\n```\n\n### Delete\n\n**⚠️ Always fetch the item name first and confirm with the user.**\n\n```sh\n# 1) Show what will be deleted\ncurl -sS -H \"Authorization: Bearer $MICROSOFT_ONEDRIVE_TOKEN\" \\\n  \"https://graph.microsoft.com/v1.0/me/drive/items/${ITEM_ID}?\\$select=name,size,lastModifiedDateTime\" \\\n  | jq '\"Delete \\(.name) (\\(.size) bytes, modified \\(.lastModifiedDateTime))?\"'\n\n# 2) After user confirms (returns 204 No Content)\ncurl -sS -X DELETE -H \"Authorization: Bearer $MICROSOFT_ONEDRIVE_TOKEN\" \\\n  \"https://graph.microsoft.com/v1.0/me/drive/items/${ITEM_ID}\" \\\n  -w \"HTTP %{http_code}\\n\"\n```\n\n### Create a sharing link\n\n**⚠️ Confirm with the user before sharing — this exposes data externally.**\n\n```sh\ncurl -sS -X POST \\\n  -H \"Authorization: Bearer $MICROSOFT_ONEDRIVE_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"type\":\"view\",\"scope\":\"organization\"}' \\\n  \"https://graph.microsoft.com/v1.0/me/drive/items/${ITEM_ID}/createLink\" \\\n  | jq '.link.webUrl'\n```\n\n`type`: `view` | `edit` | `embed`. `scope`: `anonymous` | `organization` | `users`.\n\n### List SharePoint sites\n\nRequires `Sites.Read.All`.\n\n```sh\ncurl -sS -H \"Authorization: Bearer $MICROSOFT_ONEDRIVE_TOKEN\" \\\n  \"https://graph.microsoft.com/v1.0/sites?search=*&\\$top=10\" \\\n  | jq '.value[] | {id, name: .displayName, webUrl}'\n```\n\nFiles inside a site:\n\n```sh\ncurl -sS -H \"Authorization: Bearer $MICROSOFT_ONEDRIVE_TOKEN\" \\\n  \"https://graph.microsoft.com/v1.0/sites/${SITE_ID}/drive/root/children?\\$top=20\"\n```\n\n## OData quick reference\n\n| Param | Example |\n|---|---|\n| `$select` | `id,name,size,lastModifiedDateTime` |\n| `$filter` | `name eq 'report.docx'`, `size gt 1000000` |\n| `$orderby` | `lastModifiedDateTime desc` |\n| `$top` | `10` browsing, `25` search |\n| `$expand` | `children`, `permissions` |\n\nUse `--data-urlencode \"$key=$value\" --get` with curl to avoid shell-quoting `$` and spaces.\n\n## Rules\n\n- **Always pass `$select`** — defaults return 30+ fields per item.\n- **`$top=10`** for browse, `25` for search. Don't paginate past 50 unless asked.\n- **URL-encode IDs** if using them in a path — IDs can contain `+`, `/`, `=`. Use `jq -sRr @uri`.\n- **Empty `search(q='')` returns 400** — search by extension if you don't have a keyword.\n\n## CRITICAL: User consent for destructive actions\n\n**Never** delete, overwrite or share without explicit confirmation. Pattern: **prepare → present → execute**.\n\n| Action | What to show user |\n|---|---|\n| Delete | \"Delete '{name}' ({size} bytes, modified {date})?\" |\n| Overwrite (`@microsoft.graph.conflictBehavior=replace`) | \"Overwrite '{name}'? Existing: {size}, modified {date}\" |\n| Share (`createLink`) | \"Create {type} link for '{name}' with {scope} access?\" |\n| Move | \"Move '{name}' from {old folder} to {new folder}?\" |\n| Bulk | Count + sample: \"Delete 12 files in /Reports/?\" |\n\n## Errors\n\n- `401 InvalidAuthenticationToken` → token expired; user must reinstall the connector.\n- `403 accessDenied` → scope missing (e.g. trying to write with read-only token); ask user to reinstall and tick the write scope.\n- `429 TooManyRequests` → respect the `Retry-After` header (in seconds).\n- `404 itemNotFound` → wrong id or path; double-check casing.\n\n## Reference\n\nFor deep dives consult Microsoft's docs:\n- Drive items: <https://learn.microsoft.com/en-us/graph/api/resources/driveitem>\n- Upload large files: <https://learn.microsoft.com/en-us/graph/api/driveitem-createuploadsession>\n- Sharing: <https://learn.microsoft.com/en-us/graph/api/driveitem-createlink>","tags":["microsoft","onedrive","skills","acedatacloud","acedata-cloud","agent-skills","agentskills","ai-image","ai-music","ai-tools","ai-video","claude-code"],"capabilities":["skill","source-acedatacloud","skill-microsoft-onedrive","topic-acedata-cloud","topic-agent-skills","topic-agentskills","topic-ai-image","topic-ai-music","topic-ai-tools","topic-ai-video","topic-claude-code","topic-cursor","topic-gemini-cli","topic-github-copilot","topic-mcp"],"categories":["Skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/AceDataCloud/Skills/microsoft-onedrive","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add AceDataCloud/Skills","source_repo":"https://github.com/AceDataCloud/Skills","install_from":"skills.sh"}},"qualityScore":"0.453","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 7 github stars · SKILL.md body (8,669 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:14:02.992Z","embedding":null,"createdAt":"2026-05-18T13:21:33.508Z","updatedAt":"2026-05-18T19:14:02.992Z","lastSeenAt":"2026-05-18T19:14:02.992Z","tsv":"'/children':241 '/content':353,379,424 '/createlink':749 '/documents/q1':240 '/drive/root/children':803 '/en-us/graph/api/driveitem-createlink':1046 '/en-us/graph/api/driveitem-createuploadsession':1042 '/en-us/graph/api/resources/driveitem':1036 '/me':103 '/reports':971 '/tmp/report.pdf':452 '/v1.0/me':135 '/v1.0/me/drive/items/$':376,599,635,667,701,746 '/v1.0/me/drive/recent?':311 '/v1.0/me/drive/root/children':550 '/v1.0/me/drive/root/children?':172 '/v1.0/me/drive/root/search(q=''quarterly':263 '/v1.0/me/drive/root:/$':422 '/v1.0/me/drive/root:/documents/big.zip:/createuploadsession':491 '/v1.0/me/drive/root:/documents/report.pdf:/content':455 '/v1.0/me/drive/root:/documents:/children?':226 '/v1.0/me/drive/sharedwithme?':336 '/v1.0/sites/$':800 '/v1.0/sites?search=*&':776 '1':466,651 '10':502,778,827,861 '1000000':822 '12':968 '2':499,681 '20':174,228,805 '204':686 '25':266,313,338,829,864 '30':856 '302':355 '4':431,458 '400':279,895 '401':143,973 '403':982 '404':1014 '429':1004 '50':871 'access':954 'accessdeni':983 'account':112 'action':911,924 'agre':70 'alreadi':63 'alway':100,121,568,639,851 'anonym':757 'api':82 'application/json':484,541,593,621,738 'application/octet-stream':448 'arg':625 'ask':873,995 'auth':120 'author':56,128,165,219,249,304,329,369,415,439,475,532,584,612,660,694,729,769,793 'auto':554 'auto-suffix':553 'avoid':844 'basenam':383 'bearer':44,57,129,166,220,250,305,330,370,416,440,476,533,585,613,661,695,730,770,794 'binari':451 'brows':828,863 'bulk':964 'byte':509,678,933 'call':52 'carri':64 'case':1023 'check':1022 'childcount':200 'children':832 'chunk':464,504,516 'code':91,707 'confirm':105,646,684,713,919 'connect':107 'connector':156,981 'consent':908 'consult':1028 'contain':886 'content':446,482,507,539,591,619,688,736 'content-rang':506 'content-typ':445,481,538,590,618,735 'count':965 'creat':467,523,709,947 'createlink':946 'critic':906 'cross':298 'cross-fold':297 'curl':38,125,162,216,246,301,326,363,366,412,434,470,527,579,607,657,689,724,766,790,842 'd':485,542,594,622,739 'data':255,450,721,836 'data-binari':449 'data-urlencod':254,835 'date':935,944 'dd':519 'deep':1026 'default':562,854 'delet':638,656,675,692,913,929,930,967 'desc':825 'destin':573 'destruct':910 'differ':605 'dir/tmp':382 'displaynam':137,783 'dive':1027 'doc':513,1031 'document':22 'documents/report.docx':408 'doubl':1021 'double-check':1020 'download':25,346,385 'drive':30,31,113,1032 'e.g':986 'echo':494 'edit':754 'els':192 'emb':755 'empti':276,891 'encod':393,404,405,423,876 'end':194 'eq':818 'error':90,95,559,972 'everi':51 'exampl':810 'execut':575,923 'exist':561,941 'expand':831 'expir':147,976 'explicit':918 'expos':720 'extens':290,898 'extern':722 'fail':558,564 'failur':86 'fetch':640 'field':857 'file':9,19,23,158,181,202,204,207,243,282,296,321,348,387,430,457,785,969,1039 'file.mimetype':193 'files.read':75 'files.read.all':76 'files.readwrite.all':78 'filter':816 'find':281 'first':123,644 'folder':20,180,189,191,197,199,212,299,525,545,606,960,963 'follow':364 'get':142,260,840 'graph':12,33,81,512 'graph.microsoft.com':134,171,225,262,310,335,375,421,454,490,549,598,634,666,700,745,775,799 'graph.microsoft.com/v1.0/me':133 'graph.microsoft.com/v1.0/me/drive/items/$':374,597,633,665,699,744 'graph.microsoft.com/v1.0/me/drive/recent?':309 'graph.microsoft.com/v1.0/me/drive/root/children':548 'graph.microsoft.com/v1.0/me/drive/root/children?':170 'graph.microsoft.com/v1.0/me/drive/root/search(q=''quarterly':261 'graph.microsoft.com/v1.0/me/drive/root:/$':420 'graph.microsoft.com/v1.0/me/drive/root:/documents/big.zip:/createuploadsession':489 'graph.microsoft.com/v1.0/me/drive/root:/documents/report.pdf:/content':453 'graph.microsoft.com/v1.0/me/drive/root:/documents:/children?':224 'graph.microsoft.com/v1.0/me/drive/sharedwithme?':334 'graph.microsoft.com/v1.0/sites/$':798 'graph.microsoft.com/v1.0/sites?search=*&':774 'gt':821 'h':127,164,218,248,303,328,368,414,438,444,474,480,531,537,583,589,611,617,659,693,728,734,768,792 'header':1011 'http':705,706 'id':176,184,230,268,351,378,601,629,631,637,669,703,748,781,802,812,877,884,1017 'insid':786 'instal':73 'invalidauthenticationtoken':144,974 'item':350,377,486,600,636,642,668,702,747,859,1033 'itemnotfound':1015 'jq':39,136,182,314,339,398,409,496,518,623,674,750,779,888 'json':85,89 'key':838 'keyword':287,905 'kind':187 'larg':1038 'lastmodifieddatetim':179,196,233,272,318,673,680,815,824 'learn':110 'learn.microsoft.com':1035,1041,1045 'learn.microsoft.com/en-us/graph/api/driveitem-createlink':1044 'learn.microsoft.com/en-us/graph/api/driveitem-createuploadsession':1040 'learn.microsoft.com/en-us/graph/api/resources/driveitem':1034 'let':362 'link':27,712,949 'link.weburl':751 'list':157,206,760 'loop':517 'mail':138 'make':520 'manag':6 'mb':432,459 'mention':17 'messag':92 'mib':503 'microsoft':2,11,32,48,58,130,167,221,251,306,331,371,417,441,477,511,534,586,614,662,696,731,771,795,1029 'microsoft-onedr':1 'microsoft.graph.conflictbehavior':487,546,551,937 'mimetyp':205 'miss':985 'modifi':195,295,317,679,934,943 'move':566,602,955,956 'must':978 'n':201,708 'name':177,185,231,269,316,341,384,543,595,643,671,676,782,813,817,931,940,951,957 'nc':624 'need':53 'never':912 'new':627,962 'o':380,425 'oauth':43 'odata':806 'old':959 'onedr':3,7,18,35,49,59,66,131,168,222,252,307,332,372,418,442,478,535,587,615,663,697,732,772,796 'oper':116 'option':77 'orderbi':823 'organ':743,758 'overwrit':557,914,936,939 'owner':344 'pagin':869 'param':809 'parent':319,628 'parentrefer':630 'parentreference.path':320 'pass':852 'past':870 'patch':567,582,610 'path':214,234,389,395,883,1019 'path/segment':238 'pattern':920 'pdf':293 'per':858 'permiss':833 'pid':626,632 'post':473,530,727 'pre':359 'pre-sign':358 'prepar':921 'present':922 'printf':403,406 'put':437,500 'q':257,274,292,893 'quarter':258 'queri':277 'quick':807 'quot':847 'r':497 'rang':508 're':115 'read':4,992 'read-on':991 'recent':294 'recip':118 'recurs':244 'refer':808,1024 'reinstal':154,979,998 'remoteitem.shared.owner.user.displayname':345 'renam':488,547,552,565,577 'renamed.docx':596 'replac':556,938 'report':148,259,264,544 'report.docx':426,819 'requir':763 'respect':1006 'retri':1009 'retry-aft':1008 'return':83,278,354,685,855,894 'root':160 'rr':399 'rule':850 'run':122 'sampl':966 'scope':67,742,756,953,984,1003 'search':242,273,288,291,830,866,892,896 'second':1013 'see':510 'segment':396 'select':175,229,267,670,811,853 'separ':239 'session':463,468,469,495 'sh':124,161,215,245,300,325,352,390,433,465,526,576,650,723,765,789 'share':26,322,711,718,916,945,1043 'sharepoint':8,21,36,761 'shell':846 'shell-quot':845 'show':93,569,652,927 'sign':360 'site':762,788,801 'sites.read.all':79,764 'size':178,186,232,270,342,343,672,677,814,820,932,942 'skill':381 'skill-microsoft-onedrive' 'small':429 'sourc':571 'source-acedatacloud' 'space':849 'srr':410,889 'ss':126,163,217,247,302,327,435,471,528,580,608,658,690,725,767,791 'ssl':367,413 'standard':84 'start':101 'sub':211 'sub-fold':210 'suffix':555 'surfac':87 'tick':1000 'time':74 'token':45,50,60,62,132,146,169,223,253,308,333,373,419,443,479,536,588,616,664,698,733,773,797,975,994 'toomanyrequest':1005 'top':173,227,265,312,337,777,804,826,860 'topic-acedata-cloud' 'topic-agent-skills' 'topic-agentskills' 'topic-ai-image' 'topic-ai-music' 'topic-ai-tools' 'topic-ai-video' 'topic-claude-code' 'topic-cursor' 'topic-gemini-cli' 'topic-github-copilot' 'topic-mcp' 'tri':987 'trivial':522 'type':284,447,483,540,592,620,737,740,752,948 'unless':872 'upload':24,427,462,492,1037 'uploadurl':498 'uri':400,411,890 'url':361,392,493,875 'url-encod':391,874 'urlencod':256,837 'use':13,235,402,460,834,879,887 'user':16,41,69,99,151,649,683,716,759,907,928,977,996 'userprincipalnam':139 'valu':183,315,340,780,839 'verbatim':96 'verifi':119 'via':10,37 'view':741,753 'w':704 'weburl':271,784 'without':285,917 'work':108 'write':989,1002 'wrong':1016 'x':436,472,529,581,609,691,726","prices":[{"id":"a5698afe-1bce-4581-bb1a-5cc47a7d295e","listingId":"16c036c2-a551-4608-a16d-a7faf95266b3","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"AceDataCloud","category":"Skills","install_from":"skills.sh"},"createdAt":"2026-05-18T13:21:33.508Z"}],"sources":[{"listingId":"16c036c2-a551-4608-a16d-a7faf95266b3","source":"github","sourceId":"AceDataCloud/Skills/microsoft-onedrive","sourceUrl":"https://github.com/AceDataCloud/Skills/tree/main/skills/microsoft-onedrive","isPrimary":false,"firstSeenAt":"2026-05-18T13:21:33.508Z","lastSeenAt":"2026-05-18T19:14:02.992Z"}],"details":{"listingId":"16c036c2-a551-4608-a16d-a7faf95266b3","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"AceDataCloud","slug":"microsoft-onedrive","github":{"repo":"AceDataCloud/Skills","stars":7,"topics":["acedata-cloud","agent-skills","agentskills","ai-image","ai-music","ai-tools","ai-video","claude-code","cursor","gemini-cli","github-copilot","mcp","npm","openai-codex","roo-code"],"license":"other","html_url":"https://github.com/AceDataCloud/Skills","pushed_at":"2026-05-18T07:35:03Z","description":"Agent Skills for AceDataCloud AI services — music, image, video generation, web search, and more. Compatible with Claude Code, GitHub Copilot, Gemini CLI, and all agentskills.io-compatible agents.","skill_md_sha":"9e49f41d1fe40bb479ebbafa8baff949bf623577","skill_md_path":"skills/microsoft-onedrive/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/AceDataCloud/Skills/tree/main/skills/microsoft-onedrive"},"layout":"multi","source":"github","category":"Skills","frontmatter":{"name":"microsoft-onedrive","license":"Apache-2.0","description":"Read and manage OneDrive / SharePoint files via Microsoft Graph. Use when the user mentions OneDrive files / folders, SharePoint documents, file uploads / downloads, sharing links, or \"my drive\"."},"skills_sh_url":"https://skills.sh/AceDataCloud/Skills/microsoft-onedrive"},"updatedAt":"2026-05-18T19:14:02.992Z"}}