microsoft-writing-styl…
Use when writing, rewriting, or reviewing Microsoft-branded or customer-facing content, or resolving Microsoft terminology.…
Build the FinOps toolkit support sweep, a prioritized queue of open GitHub issues and discussions waiting on maintainers, each with context, a recommended action, confidence, evidence, and a draft reply, published as a review page. Then post only the replies a maintainer
Claude Code
$ npx -y skills add microsoft/finops-toolkit --skill support-sweep --agent claude-code
Codex
$ npx skills add microsoft/finops-toolkit --skill support-sweep -a codex -y
Cursor
$ npx skills add microsoft/finops-toolkit --skill support-sweep -a cursor -y
Gemini CLI
$ npx skills add microsoft/finops-toolkit --skill support-sweep -a gemini-cli -y
GitHub Copilot
$ npx skills add microsoft/finops-toolkit --skill support-sweep -a github-copilot -y
OpenCode
$ npx skills add microsoft/finops-toolkit --skill support-sweep -a opencode -y
Windsurf
$ npx skills add microsoft/finops-toolkit --skill support-sweep -a windsurf -y
name: support-sweep description: Build the FinOps toolkit support sweep, a prioritized queue of open GitHub issues and discussions waiting on maintainers, each with context, a recommended action, confidence, evidence, and a draft reply, published as a review page. Then post only the replies a maintainer approves. Use when asked for a support sweep, reply queue, "what's waiting on us", to refresh or republish the sweep page, or to post approved sweep replies.
Build a prioritized reply queue, publish it for review, and post only maintainer-approved replies.
Scripts live in `.claude/skills/support-sweep/`. Run them from the repo root with Node.js (needs `gh` signed in). Never use Python.
Each step writes to `~/.claude/ftk-sweeps/<date>/`, so you can stop and resume at any step:
| File | Written by | What it holds | |---|---|---| | `threads.json` | gather | Every open thread, with who spoke last and its snapshot time | | `threads/<i\|d><n>.md` | gather | Full text of each candidate thread, as triage input | | `batches.json` | gather | Triage batches of about 15 threads, each with an output file | | `triage/*.md` | subagents | One triage block per thread (`00-carried.md` holds unchanged blocks from the last sweep) | | `context.json` | optional | Discussion context `[{n, problem, sofar, open}]` if it isn't inline in the triage blocks | | `rows.json`, `drafts/`, `support-sweep.html` | build | Bucketed rows, one reply file per draft, and the review page | | `posted.json` | post | Replies actually posted |
git fetch origin dev node .claude/skills/support-sweep/gather.mjs
For each batch in `batches.json` whose `out` file doesn't exist yet, start one subagent. Run up to 4 at a time. Give each subagent this brief, filled in:
Triage these FinOps toolkit support threads: <refs>. Each thread's full text is in <sweep>/threads/<ref>.md. Read .claude/skills/support-sweep/SKILL.md, sections "Triage format" and "Reply rules", and follow them exactly. Verify claims against origin/dev (git show origin/dev:<path>, git grep -n <text> origin/dev), the changelog, open PRs (gh pr list --search), and docs-mslearn/. Write one block per thread, in the batch's order, to <sweep>/<out>. Read-only: don't comment, label, close, or change anything on GitHub. Reply with one line: the file path and the number of blocks.
When all batches are done, check that every ref has a block. `build.mjs` lists any threads not triaged yet.
One block per thread, separated by `---`:
## #<n> <title> · <S0|S1|S2|S3|Q> · <action> · <HIGH|MED|LOW> - **Your call:** <one line: the exact decision a maintainer must make> (only when a maintainer must decide) - **Problem:** <one line: what they're asking> (discussions only) - **So far:** <one line: who replied and what they said, or "No replies."> (discussions only) - **Open:** <one line: what's still unanswered> (discussions only) - **Evidence:** <facts with `path:line` on origin/dev, PR and issue numbers, versions, dates; mark anything unverified> - **Fix/workaround:** <the fix, a PR that fixes it, or a workaround the customer can use now> - **Draft reply:** > 🤖 [AI] @<author> <reply>
These come from maintainer feedback on past sweeps. Follow all of them.
node .claude/skills/support-sweep/build.mjs
Quick links: The FinOps toolkit is an open-source collection of customizable tools and resources to help you adopt and implement FinOps capabilities that automate and extend the Microsoft Cloud.
Use when writing, rewriting, or reviewing Microsoft-branded or customer-facing content, or resolving Microsoft terminology.…
Generate the FinOps toolkit support status report (customers waiting on us, triage queue, S0/S1, customer replies since the last…
This skill should be used when the user asks about "FinOps hubs", "FinOps toolkit", "KQL queries", "Kusto", "cost data analysis",…
Complete, populate and fill out 3-statement financial model templates (Income Statement, Balance Sheet, Cash Flow Statement) .…
Complete, populate and fill out 3-statement financial model templates (Income Statement, Balance Sheet, Cash Flow Statement) .…