Use this skill to create and publish changelog announcements for new features, improvements, or bug fixes. This skill handles the complete workflow - creating detailed changelog documentation pages, adding sidebar announcement cards, and ensuring everything follows project standards. Use when the user mentions adding changelog entries, documenting new features, creating release notes, or announcing product updates.
71
88%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
This skill guides you through creating complete changelog announcements that include:
/docs/blog/entries/ (the changelog index at /changelog is generated from these automatically, with pagination)/web/oss/src/components/SidebarBanners/data/changelog.json/docs/src/data/roadmap.tsFor every changelog announcement, you create TWO coordinated artifacts:
A. Changelog Entry (docs/blog/entries/[feature-slug].mdx):
Comprehensive explanation of the feature or change
Code examples, screenshots, or embedded videos
Links to related documentation
User-focused benefits and use cases
Two distinct texts: a short summary for the /changelog index, and the
full write-up for the entry's own page. The short version is the curated
1-2 paragraph summary (it can differ from the long version's opening; do not
just copy the first lines of the long write-up). Structure the file as:
---frontmatter---
import Image from "@theme/IdealImage"; {/* only if you use <Image> */}
<Summary>
{/* Optional hero video or screenshot, shown on the index */}
Curated 1-2 paragraph summary shown on the /changelog index.
</Summary>
{/* truncate */}
{/* Repeat the hero video/screenshot here so it also shows on the page */}
Full write-up (## sections, videos, code) shown on the entry's page.<Summary> renders only on the index list (as the preview, with a "Read
more" link); it renders nothing on the entry page, so the page shows just the
full write-up with no duplication. If the feature has a demo video or
screenshot, put it inside <Summary> so it appears on the index, and also in
the write-up below the marker so it appears on the entry page. Embedded
videos and images are capped to a centered 680px in CSS, so use the existing
<iframe>/<Image> markup as-is.
B. Sidebar Announcement (web/oss/src/components/SidebarBanners/data/changelog.json):
Before creating any entry, collect:
Never proceed without a clear version identifier and feature description.
Apply these writing guidelines rigorously:
Examples:
❌ Bad: "We've implemented a new session tracking system that enables users to group related traces—making it easier to analyze conversations."
✅ Good: "You can now group related traces into sessions. This helps you analyze complete conversations and track metrics across multiple turns."
Changelog Entry File Naming:
chat-sessions-observability.mdx, pdf-support-in-playground.mdxSidebar Announcement IDs:
changelog-YYYY-MM-DD-feature-slugchangelog-2026-01-09-chat-sessionsVersion Format:
v0.73.0tags: [v0.73.0]); the changelog index shows it as a version chip next to the dateWhen user mentions videos or screenshots:
For YouTube videos (in detailed entry):
<div style={{display: 'flex', justifyContent: 'center', marginTop: "20px", marginBottom: "20px", flexDirection: 'column', alignItems: 'center'}}>
<iframe
width="100%"
height="500"
src="https://www.youtube.com/embed/VIDEO_ID"
title="Feature Demo"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowFullScreen
></iframe>
</div>For images (in detailed entry):
<Image
img={require('/static/images/changelog/feature-name.png')}
alt="Feature description"
style={{display: 'block', margin: '20px auto', textAlign: 'center'}}
/>Ask for specifics if unclear:
Always search for related documentation:
/docs/docs/Documentation links format:
/observability/trace-with-python-sdk/track-chat-sessionsBefore finalizing, verify:
<Summary>, then {/* truncate */}, then the full write-upChangelog entries:
/docs/blog/entries/[feature-slug].mdx/docs/blog/entries/chat-sessions-observability.mdx/changelog is built automatically from these
files (sorted by date, paginated). There is no separate summary file to
maintain.Sidebar announcements:
/web/oss/src/components/SidebarBanners/data/changelog.jsonAsk the user for any missing information:
- What version is this for?
- Do you have a demo video or screenshots?
- What's the primary benefit users will get from this?
- Are there existing docs for this feature I should link to?# Search for related docs
grep -r "session" docs/docs/observability --include="*.mdx" --include="*.md"Create /docs/blog/entries/[feature-slug].mdx:
IMPORTANT: Use correct frontmatter format (no authors field):
---
title: "Feature Name"
slug: feature-name-slug
date: YYYY-MM-DD
tags: [vX.Y.Z]
description: "One-sentence description of the feature."
---
{/* NOTE: Do NOT add an H1 heading here. The frontmatter title is automatically rendered as H1 by Docusaurus. */}
<Summary>
[Curated 1-2 paragraph summary. This is the SHORT version shown on the
/changelog index. It can differ from the long write-up's opening.]
</Summary>
{/* truncate */}
## Key Capabilities
- **Capability 1**: Description
- **Capability 2**: Description
- **Capability 3**: Description
## How It Works
[Step-by-step explanation or code examples]
```python
# Code example if applicable
import agenta as ag
ag.tracing.store_session(session_id="conversation_123")[Real-world scenarios where this feature helps]
[Links to documentation, tutorials, or guides]
[Optional: What's coming next or related features]
### Step 4: Write the Summary and Place the Truncate Marker
The `/changelog` index shows the `<Summary>` block (with a "Read more" link);
the entry page shows everything below `{/* truncate */}`. So:
- Put the curated short summary inside `<Summary>...</Summary>`, then the
`{/* truncate */}` marker, then the full write-up.
- Leave blank lines inside the `<Summary>` tags so the content parses as
Markdown (links and bold work).
- If there is a demo video or screenshot, include it inside `<Summary>` (so it
shows on the index) and again in the write-up below the marker (so it shows
on the entry page).
- Every entry needs content below the marker (the full write-up); that is what
the entry page renders.
### Step 5: Add Sidebar Announcement
Add to `/web/oss/src/components/SidebarBanners/data/changelog.json`:
```json
[
{
"id": "changelog-2026-01-09-feature-name",
"title": "Feature Name (Keep Under 40 Chars)",
"description": "One-sentence benefit users get from this feature.",
"link": "https://agenta.ai/docs/changelog/feature-slug"
},
// ... existing entries
]Update /docs/src/data/roadmap.ts:
If feature was in roadmap:
inProgressFeatures arrayshippedFeatures array at the topPlannedFeature format to ShippedFeature format:
githubUrl fieldchangelogPath field pointing to your detailed entryshippedAt field with ISO date (YYYY-MM-DD)Example:
// Move from inProgressFeatures to top of shippedFeatures:
{
id: "chat-session-view",
title: "Chat Sessions in Observability",
description: "Track multi-turn conversations with session grouping...",
changelogPath: "/docs/changelog/chat-sessions-observability",
shippedAt: "2026-01-09",
labels: [{name: "Observability", color: "DE74FF"}],
}If the roadmap item had a githubUrl pointing to a GitHub discussion:
gh CLI: gh issue close <number> --repo Agenta-AI/agenta --comment "Shipped in v0.73.0"Follow the guidelines in: .claude/skills/write-social-announcement/SKILL.md
That skill contains comprehensive guidelines for writing authentic announcements that avoid common AI writing patterns. Key points:
Create SOCIAL_ANNOUNCEMENTS.md with sections for LinkedIn, Twitter, and Slack
CRITICAL: Always run the build to verify no errors before finishing.
cd docs && npm run buildIf build fails, fix errors immediately:
authors: [agenta] from frontmatter---
title: "Feature Name"
slug: feature-name-slug
date: YYYY-MM-DD
tags: [vX.Y.Z]
description: "Brief description"
---Verify checklist:
npm run build in docs/)Detailed Entry (docs/blog/entries/chat-sessions-observability.mdx):
---
title: "Chat Sessions in Observability"
slug: chat-sessions-observability
date: 2026-01-09
tags: [v0.73.0]
description: "Track and analyze multi-turn conversations with session grouping, cost analytics, and conversation flow visualization."
---
{/* NOTE: Do NOT add an H1 heading here. The frontmatter title is automatically rendered as H1 by Docusaurus. */}
## Overview
Chat sessions bring conversation-level observability to Agenta. You can now group related traces from multi-turn conversations together, making it easy to analyze complete user interactions rather than individual requests.
This feature is essential for debugging chatbots, AI assistants, and any application with multi-turn conversations. You get visibility into the entire conversation flow, including costs, latency, and intermediate steps.
## Key Capabilities
- **Automatic Grouping**: All traces with the same `ag.session.id` attribute are automatically grouped together
- **Session Analytics**: Track total cost, latency, and token usage per conversation
- **Session Browser**: Dedicated UI showing all sessions with first input, last output, and key metrics
- **Session Drawer**: Detailed view of all traces within a session with parent-child relationships
- **Real-time Monitoring**: Auto-refresh mode for monitoring active conversations
## How It Works
Add a session ID to your traces using either the Python SDK or OpenTelemetry:
**Python SDK:**
```python
import agenta as ag
ag.tracing.store_session(session_id="conversation_123")OpenTelemetry:
span.setAttribute('ag.session.id', 'conversation_123')The UI automatically detects session IDs and groups traces together. You can use any format for session IDs: UUIDs, composite IDs (user_123_session_456), or custom formats.
Learn more in our documentation:
We're continuing to enhance session tracking with upcoming features like session-level annotations, session comparisons, and automated session analysis.
**Sidebar Announcement**:
```json
{
"id": "changelog-2026-01-09-chat-sessions",
"title": "Chat Sessions in Observability",
"description": "Track multi-turn conversations with session grouping and cost analytics.",
"link": "https://agenta.ai/docs/changelog/chat-sessions-observability"
}For integrations, focus on:
For improvements, emphasize:
When Information is Missing:
When Editing Existing Entries:
When creating a changelog announcement, provide:
docs/blog/entries/[slug].mdx (curated summary in <Summary>, then {/* truncate */}, then the full write-up)changelog.jsonBe proactive in identifying unclear requirements. Ask specific questions rather than making assumptions. Your goal is to produce changelog entries that are immediately publishable without requiring revision.
entries/ to match the tone and structureRemember: You're creating user-facing documentation that represents a new feature to thousands of developers. Make it clear, compelling, and easy to understand.
93872a6
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.