Microsoft excel
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.
npx -y skills add AceDataCloud/Skills --skill microsoft-excelAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 13 stars13 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Read and edit live Excel workbooks stored in OneDrive / SharePoint via the Microsoft Graph workbook API. Use when the user mentions an Excel file, a spreadsheet on OneDrive, reading a range or table, appending rows, updating cells, or listing worksheets in a cloud .xlsx.
The file declares its own license as Apache-2.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
3.0 KB, as published. Nobody here has run it
Drive live Excel workbooks via the Microsoft Graph workbook API with
curl + jq. The user's OAuth bearer token is in $MICROSOFT_EXCEL_TOKEN; every
call needs Authorization: Bearer $MICROSOFT_EXCEL_TOKEN. Base URL:
https://graph.microsoft.com/v1.0. The workbook API operates on a drive item
(an .xlsx in OneDrive/SharePoint), so you need its ITEM_ID.
Failures are {"error":{"code","message"}} — show message verbatim. 401 =
token expired (re-install). 403 on a write = the user granted read-only.
G="https://graph.microsoft.com/v1.0"; AUTH="Authorization: Bearer $MICROSOFT_EXCEL_TOKEN"
# Find the workbook by name (then take .id as ITEM_ID)
curl -sS -H "$AUTH" "$G/me/drive/root/search(q='budget.xlsx')" \
| jq '.value[] | {id, name, webUrl}'
# Worksheets in the workbook
curl -sS -H "$AUTH" "$G/me/drive/items/ITEM_ID/workbook/worksheets" \
| jq '.value[] | {id, name, position}'
Read & write ranges
ITEM="ITEM_ID"; WS="Sheet1"
# Used range (values + formulas + formats)
curl -sS -H "$AUTH" \
"$G/me/drive/items/$ITEM/workbook/worksheets/$WS/usedRange" \
| jq '{address, values: .values}'
# Read a specific range
curl -sS -H "$AUTH" \
"$G/me/drive/items/$ITEM/workbook/worksheets/$WS/range(address='A1:C5')" | jq '.values'
# Update a range (confirm first). values is a 2-D array matching the address shape.
curl -sS -X PATCH -H "$AUTH" -H "Content-Type: application/json" \
-d '{"values":[["Q3",1200],["Q4",1580]]}' \
"$G/me/drive/items/$ITEM/workbook/worksheets/$WS/range(address='A2:B3')" | jq '.address'
Append a row to a table
curl -sS -X POST -H "$AUTH" -H "Content-Type: application/json" \
-d '{"values":[["2026-06-21","Acme",4200]]}' \
"$G/me/drive/items/$ITEM/workbook/tables/Table1/rows/add" | jq '.index'
Gotchas
- This is for cloud workbooks (OneDrive/SharePoint). A local .xlsx the user uploaded into chat is a different job (parse the file directly), not this skill.
- Range
addressis a string likeSheet1!A1:C5or justA1:C5when scoped to a worksheet;valuesmust be a 2-D array matching its dimensions. - For long-running edits Graph supports a workbook session header
(
workbook-session-id); for a few cells the default sessionless mode is fine.