Use this when a new feature, skill, or improvement ships and needs a changelog entry. Supports Skillet web app format (TypeScript) and general release notes format (Markdown) for client projects.
This is separate from /changelog-entry, which manages the internal planning changelog at planning/compiled/changelog.md.
Data file
web/lib/content/changelog-data.ts — new entries go at the top of the CHANGELOG_ENTRIES array (newest-first).
Process
Step 1: Gather inputs
Ask the user for:
- What shipped -- a short title (e.g., "NotebookLM Integration")
- Category -- one of:
FEATURE,SKILL,IMPROVEMENT,LAUNCH - Description -- 1-2 sentences explaining what it does and why it matters
- Internal link -- the page path or URL (e.g.,
/tools/notebooklm/guide) - GitHub commit -- the commit hash or URL for the shipping commit
- Output format -- Skillet (TypeScript object for web app, default) or General (Markdown release notes for any project)?
If the user provides only a commit hash, construct the full URL from the repo's GitHub origin.
Step 2: Pick an icon
Choose an icon from the SectionIcon ICON_MAP that best represents the entry. Common choices:
| Icon | Good for |
|---|---|
zap | Major features, expansions |
video | Media, recordings, NotebookLM |
star | Quality improvements, labels |
git-branch | Architecture, flows |
compass | Analysis, discovery |
puzzle | Integrations |
brain | AI features, assessments |
message-square | Communication tools |
home | Homepage, onboarding |
lightbulb | Recommendations, wizards |
code | Developer tools |
newspaper | Notes, documentation |
message-circle | Feedback |
rocket | Launches |
clock | Scheduling, time-related |
If unsure, read web/components/icons/SectionIcon.tsx for the full list.
Step 3: Generate the entry
If Skillet format (default): Format the entry as a TypeScript object:
{
date: 'Mon YYYY',
category: 'CATEGORY',
title: 'Entry Title',
description: 'One to two sentences.',
icon: 'icon-name',
link: '/internal/path',
commitUrl: `${REPO}/commit/abcdef1`,
},
If General (Markdown) format: Format the entry as a markdown block:
## [CATEGORY] Entry Title (Mon YYYY)
One to two sentences describing what shipped and why it matters.
**Link:** [Feature page](URL)
**Commit:** [abcdef1](commit URL)
Step 4: Confirm and apply
Show the entry to the user and ask:
- Does the title, category, and description look right?
- Is the icon appropriate?
- Are the link and commit URL correct?
After confirmation:
- Skillet format: Prepend the entry to
CHANGELOG_ENTRIESinweb/lib/content/changelog-data.ts(after the opening[bracket, before the first existing entry). - General format: Present the markdown entry for the user to add to their project's changelog file.
Step 5: Generate a user story
After the changelog entry is confirmed, generate a companion user story that documents the shipped work:
**As a** (role who benefits — e.g., "product manager", "developer", "team member"),
**I want** (what was shipped — match the changelog title),
**So that** (the value delivered — derive from the description).
**Acceptance Criteria:**
Given (the feature/skill/improvement exists)
When (the user interacts with it)
Then (the expected outcome)
**Shipped:** (date) | **Commit:** (commit URL)
Present the story to the user and ask if they want to:
- Include it as a comment in the commit or PR
- Save it to a separate tracking location
- Skip the story (just the changelog entry is enough)
Step 6: Update the sidebar nav (if needed)
If the changelog page is not yet in the sidebar, no action needed — the modal is triggered from the header button.
Example Output
Input
- What shipped:
Competitor Benchmarking Skill - Category:
SKILL - Description: Analyzes a target company against up to five competitors across pricing, positioning, and feature gaps. Helps product and strategy teams quickly surface differentiation opportunities without manual research.
- Internal link:
/tools/competitor-benchmarking - GitHub commit:
https://github.com/skillet-app/skillet/commit/3f82c9a
Output (abbreviated)
Step 2 — Icon selected: compass (analysis and discovery fits competitive research)
Step 3 — Generated Entry (Skillet format)
{
date: 'Jun 2025',
category: 'SKILL',
title: 'Competitor Benchmarking Skill',
description: 'Analyzes a target company against up to five competitors across pricing, positioning, and feature gaps. Helps product and strategy teams quickly surface differentiation opportunities without manual research.',
icon: 'compass',
link: '/tools/competitor-benchmarking',
commitUrl: `${REPO}/commit/3f82c9a`,
},
Step 4 — Confirmation Prompt
Before applying, please confirm:
- Does Competitor Benchmarking Skill with category SKILL and the description above look right?
- Is the
compassicon appropriate, or would you prefer something likebrainorzap?- Is
/tools/competitor-benchmarkingthe correct internal path?
On confirmation → prepend to CHANGELOG_ENTRIES in web/lib/content/changelog-data.ts.
Step 5 — Companion User Story
As a product manager or strategy lead, I want to run a competitor benchmarking analysis against up to five rivals, So that I can quickly identify pricing gaps, positioning weaknesses, and feature opportunities without spending hours on manual research.
Acceptance Criteria: Given the Competitor Benchmarking Skill is available in the tools library When I provide a target company and up to five competitor names Then I receive a structured comparison across pricing, positioning, and feature gaps with clear differentiation callouts
Shipped: Jun 2025 | Commit: 3f82c9a
Would you like to:
- A) Include this story as a comment on the PR for
3f82c9a- B) Save it to a separate user story tracking file
- C) Skip — the changelog entry is enough