Skip to content

Add /announce slash command and historical announcement posts#2117

Open
flanakin wants to merge 1 commit into
devfrom
flanakin/announce-command
Open

Add /announce slash command and historical announcement posts#2117
flanakin wants to merge 1 commit into
devfrom
flanakin/announce-command

Conversation

@flanakin
Copy link
Copy Markdown
Collaborator

@flanakin flanakin commented May 4, 2026

🛠️ Description

Adds infrastructure for drafting FinOps toolkit blog announcements:

  • .claude/commands/announce.md — New /announce Claude Code slash command that walks through topic selection, research, outlining, and drafting for blog posts published to the FinOps Tech Community blog. Release announcements use a fixed structure; other posts adapt to topic.
  • announce/ — New folder seeded with historical posts as tone/structure references:
    • 2025/2025-08_v12.md — v12 release announcement
    • 2025/2025-08_non-breaking-changes-in-hubs-12.md — Hubs 12 schema versioning post
    • 2026/2026-01_azure-openai-costs.md — Azure OpenAI costs deep-dive
    • 2026/2026-02_v13.md — v13 release announcement
  • announce/README.md — Folder layout and usage docs.

Drafts written by /announce land under announce/{year}/{yyyy-MM}_{slug}.md for review before publishing.

Fixes #

📋 Checklist

🔬 How did you test this change?

  • 🤏 Lint tests
  • 🤞 PS -WhatIf / az validate
  • 👍 Manually deployed + verified
  • 💪 Unit tests
  • 🙌 Integration tests

📦 Deploy to test?

  • Hubs + ADX (managed)
  • Hubs + Fabric (manual)
  • Hubs (manual)
  • Hubs (no data)
  • Workbooks
  • Alerts

🙋‍♀️ Do any of the following that apply?

  • 🚨 This is a breaking change.
  • 🤏 The change is less than 20 lines of code.

📑 Did you update `docs/changelog.md`?

  • ✅ Updated changelog (required for `dev` PRs)
  • ➡️ Will add log in a future PR (feature branch PRs only)
  • ❎ Log not needed (small/internal change)

📖 Did you update documentation?

  • ✅ Public docs in `docs` (required for `dev`)
  • ✅ Public docs in `docs-mslearn` (required for `dev`)
  • ✅ Internal dev docs in `docs-wiki` (required for `dev`)
  • ✅ Internal dev docs in `src` (required for `dev`)
  • ➡️ Will add docs in a future PR (feature branch PRs only)
  • ❎ Docs not needed (small/internal change)

🤖 Generated with Claude Code

Adds a new /announce Claude Code slash command for drafting blog
announcements, plus an announce/ directory seeded with historical
posts (v12, v13, v12 hubs non-breaking changes, Azure OpenAI costs)
to serve as tone and structure references for future announcements.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 4, 2026 10:01
@flanakin flanakin requested a review from MSBrett as a code owner May 4, 2026 10:01
@microsoft-github-policy-service microsoft-github-policy-service Bot added the Needs: Review 👀 PR that is ready to be reviewed label May 4, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds an /announce Claude Code slash command plus an announce/ content area seeded with historical FinOps Toolkit Tech Community posts to use as tone/structure references when drafting new announcements.

Changes:

  • Introduces .claude/commands/announce.md to guide topic selection, research, outlining, and drafting of announcement posts.
  • Adds announce/README.md documenting the announcement archive layout and how to create new drafts.
  • Seeds announce/2025/ and announce/2026/ with historical announcement/reference posts.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
.claude/commands/announce.md Defines the /announce workflow (topic selection → research → outline → draft → wrap-up).
announce/README.md Documents the announce/ folder purpose, naming conventions, and how to run /announce.
announce/2025/2025-08_v12.md Historical v12 release announcement reference post.
announce/2025/2025-08_non-breaking-changes-in-hubs-12.md Historical deep-dive reference post on hubs schema versioning.
announce/2026/2026-01_azure-openai-costs.md Historical deep-dive reference post on Azure OpenAI cost management.
announce/2026/2026-02_v13.md Historical v13 release announcement reference post.

Comment thread announce/README.md
Comment on lines +47 to +56
The outline is **fixed** — do not invent new sections. Use this structure (matches `announce/2025/2025-08_v12.md` and `announce/2026/2026-02_v13.md`):

1. **Title** — `What's new in FinOps toolkit {N} – {Month} {Year}`
2. **Preview snippet** — 1–2 sentences shown in blog list previews and search results. Lead with the most newsworthy item. No links, no markdown, under ~300 chars. Place under the title as a markdown blockquote (prefix the line with `>`) so it's clearly separable from the intro.
3. **Intro paragraph** — One paragraph: who this release is for, what it emphasizes (themes, not full list), and a "read on for details" hook.
4. **New to the FinOps toolkit?** — Boilerplate intro for new readers. Reuse from the prior release; update links if they changed.
5. **Featured sections** (3–5) — Themed deep-dives on the biggest changes from the changelog. Each gets its own H2 with a benefit-led title (not just the feature name). This is the only part that varies per release. Inline contributor thanks belong here when relevant (e.g., "Thanks to @username for contributing this feature.").
6. **Other new and noteworthy updates** — Bulleted list grouped by tool, covering everything else worth mentioning that didn't get a featured section. Extract from the changelog, rephrase to be user-friendly.
7. **What's next** — Forward-looking paragraph. Reuse and refresh from the prior release.
8. **Social media appendix** (see Phase 4).

## New FinOps hubs v1_2 schema

Data is at the heart of every FinOps practice. Whether you're a hobbyist or part of a large team, you can't "FinOps" without data. And when you start to "FinOps" at scale, you realize you need a lot of different data from a lot of different data sources. And these data sources often have different characteristics and change over time. Luckily, FinOps hubs were designed to handle ever-evolving datasets through it's "schema version" concept.

Data is at the heart of every FinOps practice. Whether you're a hobbyist or part of a large team, you can't "FinOps" without data. And when you start to "FinOps" at scale, you realize you need a lot of different data from a lot of different data sources. And these data sources often have different characteristics and change over time. Luckily, FinOps hubs were designed to handle ever-evolving datasets through it's "schema version" concept.

FinOps hubs schema versions are contracts you can rely on to always present a consistent version of the data. Today, FinOps hubs use a "v1_0" schema version that aligns with FOCUS 1.0 (hence the name). As of FinOps hubs 12, you will see a new "v1_2" schema version, which aligns with FOCUS 1.2. And you'll notice that your data is populated in the FOCUS 1.2 format regardless of what dataset version you exported from Cost Management. And the best part is, this optimization won't impact you at all as long as your reports and integrations are setup to use the versioned functions (e.g., Costs_v1_0). If you find you have code using non-versioned functions (e.g., Costs), simply switch to the versioned function to get all data – old and new – using the previous v1_0 schema version.

## Strengthened security with flexible export permissions

FinOps hubs leverage Cost Management exports, which run on a predetermined schedule that can't be set or changed. But some organizations are looking for more control over when exports run and data gets ingested into FinOps hubs. This is where managed exports come in. Managed exports automate the delivery of Cost Management data, enabling seamless and timely integration with analytics pipelines and reporting tools. Managed exports work by granting your FinOps hub instance access to create and run exports on your behalf. The challenge here is that Cost Management requires the User Access Administrator role to create exports, which is an elevated permission that some organizations restrict due to security policies. To increase the default security posture of FinOps hubs, managed exports are now disabled by default in FinOps hubs 12. If you'd like to use managed exports, simply check the **Enable managed exports** checkbox on the Advanced tab (or the set the **enableManagedExports** template parameter to **true**).

## How schema versioning works in FinOps hubs

FinOps hubs 0.7 added a custom, FOCUS-aligned schema for all supported datasets. When data is ingested into FinOps hubs with Azure Data Explorer or Microsoft Fabric, the native schemas are transformed into a FOCUS-like dataset to provide forward-looking datasets aligned to the future direction of FinOps across the industry. The data is also augmented to with extra columns and missing data to facilitate common FinOps tasks and goals we hear from organizations big and small. We refer to this as the v1_0 schema because all our tables and functions are named *_v1_0 to be clear about what schema version they use.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Needs: Review 👀 PR that is ready to be reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants