Agent skill

Generate Release Notes

by huytieu in huytieu/COG-second-brain

Generate categorized release notes from any source (GitHub, Linear, Jira, or manual input) with optional publishing

MITAuto-check passedDevelopment

Install Generate Release Notes

skills CLI
$ npx skills add huytieu/COG-second-brain --skill generate-release-notes -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install huytieu/COG-second-brain generate-release-notes --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/huytieu/COG-second-brain.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/generate-release-notes .claude/skills/generate-release-notes && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
generate-release-notes
GitHub stars
1.3k
Token cost
~2.5k tokens
SKILL.md length
436 words
Files
1
Skills in repo
37
Repo updated
First seen
Licence
MIT

At a glance

Generate categorized release notes from any source (GitHub, Linear, Jira, or manual input) with optional publishing

  • Works in 6 steps: Collect Release Data → Categorize and Organize → Generate Release Notes → …
  • Tasks that involve Changelog and release notes
  • SKILL.md covers When to Invoke, Agent Mode Awareness, Command: /generate-release-notes and Pre-Flight Check, plus 3 more sections
  • Calls gh and git

What it does

Generate Release Notes is an agent skill from huytieu/COG-second-brain. Generate categorized release notes from any source (GitHub, Linear, Jira, or manual input) with optional publishing

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Changelog and release notes. It works with GitHub and Jira. The repository describes itself as: Self-evolving second brain with 35 AI skills, 10 agents, and people CRM. Closed-loop harness: a V-model verification lifecycle where the worker never grades its own homework… The licence is MIT.

When your agent uses it

  • Tasks that involve Changelog and release notes

Example prompts

  • “/generate-release-notes”

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Collect Release Data
  2. Categorize and Organize
  3. Generate Release Notes
  4. Review Gate
  5. Save to Vault
  6. Publish (Optional, requires approval)

What it can do on your machine

Read from SKILL.md and the folder at commit 36ac9d7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • gh
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use gh and git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Generate Release Notes loads about 2.5k tokens when it runs. Until then it costs about 35 tokens; SKILL.md has 436 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~35
When it runs · the whole SKILL.md, loaded when a task matches
~2.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from huytieu/COG-second-brain at commit 36ac9d7, republished under its MIT licence (© huytieu). 436 words, ~2,523 tokens.

Download SKILL.mdSave it as .claude/skills/generate-release-notes/SKILL.md (or your agent's skills folder).
name
generate-release-notes
description
Generate categorized release notes from any source (GitHub, Linear, Jira, or manual input) with optional publishing
roles
product-manager, engineering-lead, founder
integrations
github, linear, jira, confluence, notion, hackmd

COG Generate Release Notes Skill

When to Invoke

  • User wants to create release notes for a version, sprint, or cycle
  • User says "release notes", "changelog", "what shipped", "write release notes"
  • A new version or milestone has been completed
  • End of sprint/cycle documentation

Agent Mode Awareness

Check agent_mode in 00-inbox/MY-PROFILE.md frontmatter:

  • If agent_mode: team — use parallel agents to collect data from all active sources simultaneously
  • If agent_mode: solo — collect data sequentially from the primary tracker

Command: /generate-release-notes

Pre-Flight Check

  1. Read 00-inbox/MY-INTEGRATIONS.md to determine data sources and publishing options

  2. Read 00-inbox/MY-PROFILE.md for active projects

  3. Get current timestamp: Run date '+%Y-%m-%d %H:%M' using Bash

  4. Ask the user (if not already provided):

    • What version/release/cycle is this for?
    • What is the date range? (or: which milestone/cycle/sprint?)
    • Which project? (if multiple active)
    • Audience: internal team, customers, or both?

Execution Strategy

Phase 1: Collect Release Data
Team Mode (parallel agents)

Launch data collection agents using the Task tool with run_in_background: true:

Agent: "github-release-collector" (if GitHub is active)

Collect all merged PRs and release data for the specified version/period.
Repository: [CUSTOMIZE: your-org/your-repo]
Period: [START_DATE] to [END_DATE]

1. Get merged PRs in the period:
   gh pr list --repo [CUSTOMIZE: your-org/your-repo] --state merged --search "merged:[START_DATE]..[END_DATE]" --json number,title,author,labels,body,mergedAt --limit 200

2. Check for existing GitHub release (if version tag exists):
   gh release view [VERSION_TAG] --repo [CUSTOMIZE: your-org/your-repo] --json name,body,tagName,createdAt 2>/dev/null

3. Get commits between tags (if applicable):
   gh api repos/[CUSTOMIZE: your-org/your-repo]/compare/[PREV_TAG]...[CURRENT_TAG] --jq '.commits[] | {sha: .sha[:7], message: .commit.message, author: .author.login}'

Categorize each PR by its labels or title prefix:
- "feat"/"feature"/"enhancement" labels → Enhancements
- "fix"/"bug"/"bugfix" labels → Bug Fixes
- "tech"/"refactor"/"chore"/"infrastructure" labels → Technical Improvements
- "docs"/"documentation" labels → Documentation
- "security" labels → Security
- "breaking"/"breaking-change" labels → Breaking Changes
- "deprecation" labels → Deprecations

Return: categorized list of changes with PR numbers, titles, authors, and descriptions

Agent: "linear-release-collector" (if Linear is active)

Collect completed issues for the specified cycle/period.

1. Use ToolSearch to load Linear tools
2. List cycles: mcp__claude_ai_Linear_2__list_cycles
3. Find the target cycle or filter by date range
4. List all completed issues in the cycle/period: mcp__claude_ai_Linear_2__list_issues
5. For each issue, get details including labels and project

Categorize by label or issue type:
- Feature/Enhancement labels → Enhancements
- Bug labels → Bug Fixes
- Technical/Infrastructure labels → Technical Improvements
- Documentation labels → Documentation

Return: categorized list of changes with issue IDs, titles, assignees, and descriptions

Agent: "jira-release-collector" (if Jira is active)

Collect issues for the specified version/sprint.
Project: [CUSTOMIZE: YOUR-PROJECT-KEY]

1. Search by fixVersion:
   JQL: project = "[CUSTOMIZE: YOUR-PROJECT-KEY]" AND fixVersion = "[VERSION]" AND status = Done ORDER BY issuetype, priority DESC

   OR search by sprint:
   JQL: project = "[CUSTOMIZE: YOUR-PROJECT-KEY]" AND sprint = "[SPRINT_NAME]" AND status = Done ORDER BY issuetype, priority DESC

2. For each issue, collect: key, summary, issuetype, priority, assignee, labels, description

Categorize by issue type:
- Story/Feature → Enhancements
- Bug → Bug Fixes
- Task/Technical Task → Technical Improvements
- Documentation → Documentation

Return: categorized list with issue keys, titles, assignees, types, and descriptions
Solo Mode

Run the primary tracker collection sequentially.

Manual Input Fallback

If no tracker is active or the user prefers manual input:

No project tracker detected. You can provide release items manually.

Please list the changes in this release. I'll categorize them for you.
Format: one change per line, optionally prefix with [feature], [fix], [tech], [docs], [security], [breaking]
Phase 2: Categorize and Organize

Organize collected items into standard categories:

  1. Breaking Changes (always first if present)
  2. New Features & Enhancements
  3. Bug Fixes
  4. Technical Improvements
  5. Security Updates
  6. Documentation
  7. Deprecations
  8. Known Issues (if any remain)

Within each category, order by:

  1. Priority (highest first)
  2. User impact (most impactful first)
Phase 3: Generate Release Notes
For Customer/External Audience:
markdown
---
type: release-notes
project: [project-name]
version: [version]
date: [YYYY-MM-DD]
created: [YYYY-MM-DD HH:MM]
audience: external
tags: ["#release-notes", "#[project-name]", "#v[version]"]
items_count: [total count]
categories:
  enhancements: [count]
  bug_fixes: [count]
  technical: [count]
  security: [count]
  breaking_changes: [count]
---

# Release Notes — [Project Name] [Version]

**Release Date:** [Date]

## What's New

[2-3 sentence executive summary of the most important changes in this release]

---

### Breaking Changes

> **Action Required:** The following changes may require updates to your workflow.

- **[Change title]** — [User-friendly description of what changed and what to do]

---

### New Features & Enhancements

- **[Feature title]** — [User-friendly description focused on the benefit to users]
- **[Feature title]** — [User-friendly description]

### Bug Fixes

- **[Fix title]** — [What was broken and how it's fixed, in user terms]
- **[Fix title]** — [Description]

### Security Updates

- **[Update title]** — [Description without exposing vulnerability details]

### Deprecations

- **[Deprecated feature]** — [What's being deprecated, timeline, and migration path]

---

### Known Issues

- [Known issue description] — [Workaround if available]

---

*For questions or feedback, [CUSTOMIZE: contact info or link]*
Show full SKILL.md (174 more words)Show less
For Internal/Team Audience:
markdown
---
type: release-notes
project: [project-name]
version: [version]
date: [YYYY-MM-DD]
created: [YYYY-MM-DD HH:MM]
audience: internal
tags: ["#release-notes", "#[project-name]", "#v[version]"]
source_tracker: [github/linear/jira/manual]
---

# Release Notes — [Project Name] [Version] (Internal)

**Release Date:** [Date]
**Cycle/Sprint:** [Name if applicable]

## Summary
[Executive summary with key stats: N features, N fixes, N tech improvements]

---

### Breaking Changes
- **[Title]** ([PR/Issue #link]) — [Technical description] — @[author]

### New Features & Enhancements
- **[Title]** ([PR/Issue #link]) — [Description] — @[author]

### Bug Fixes
- **[Title]** ([PR/Issue #link]) — [Description] — @[author]

### Technical Improvements
- **[Title]** ([PR/Issue #link]) — [Description] — @[author]

### Documentation
- **[Title]** ([PR/Issue #link]) — [Description] — @[author]

---

### Stats
- **Total items:** [N]
- **Contributors:** [list of contributors]
- **PRs merged:** [N]
- **Issues resolved:** [N]

---

### Known Issues & Follow-ups
- [ ] [Issue description] — Owner: [name]
Phase 4: Review Gate

Present the generated release notes to the user:

Release notes draft is ready for [Project] [Version].

Summary:
- [N] New Features & Enhancements
- [N] Bug Fixes
- [N] Technical Improvements
- [N] other items

Audience: [external/internal]

Would you like to:
a) Review the full release notes
b) Save as-is to the vault
c) Make changes
d) Publish to [active platform] (requires your approval)

NEVER auto-publish. Always wait for explicit user approval.

Phase 5: Save to Vault

Save to: 04-projects/[project]/release-notes/release-[version]-YYYY-MM-DD.md

bash
mkdir -p "04-projects/[project]/release-notes"
Phase 6: Publish (Optional, requires approval)

Only proceed if the user explicitly approves.

GitHub Release
gh release create [VERSION_TAG] \
  --repo [CUSTOMIZE: your-org/your-repo] \
  --title "[Project] [Version]" \
  --notes-file [path-to-release-notes]
Confluence
Use WebFetch to publish via Confluence REST API:
- Space: [CUSTOMIZE: YOUR-SPACE-KEY]
- Parent page: [CUSTOMIZE: Release-Notes-parent-page-id]
- Title: "Release Notes — [Project] [Version]"
Notion
1. Use ToolSearch to load Notion tools
2. Use mcp__claude_ai_Notion__notion-create-pages
HackMD
Use WebFetch to publish via HackMD API

After publishing, update the vault copy with the published URL.


Fallback Behavior

ScenarioBehavior
No tracker activeAccept manual input, or scan git log for commits in the date range
Tracker API failsFall back to git log analysis: git log --oneline [PREV_TAG]..[CURRENT_TAG]
No version tag specifiedUse date range instead, or list recent completed work
Mixed sourcesMerge and deduplicate items from multiple trackers
No publishing platformSave to vault only
Very large releaseSplit into "Highlights" section + full changelog

Error Handling

  • Too many items: If >100 items, auto-summarize minor changes and list only significant ones in detail
  • Missing PR descriptions: Use PR title and commit messages as fallback
  • Duplicate items across trackers: Deduplicate by matching titles/descriptions
  • Context overflow: Paginate data collection, summarize per-batch

© huytieu, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/generate-release-notes of huytieu/COG-second-brain.

Open the folder on GitHubat commit 36ac9d7

Compare with similar skills

Generate Release Notes next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Generate Release Notes compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Generate Release Notes this skillhuytieu/COG-second-brain1.3k—~2.5kAutomated safety check: PassMIT
Create Epic RecapDataDog/datadog-agent3.8k—~5kAutomated safety check: NotesApache-2.0
Review Release Noteschef/chef-web-docs143—~5.2kAutomated safety check: PassCustom licence
Release Notes Generatoramplitude/builder-skills159—~684Automated safety check: PassNone
Cutting A ReleaseTriliumNext/Trilium38k—~3.2kAutomated safety check: PassAGPL-3.0
Mole CLI Release Flowtw93/Mole70k—~2.5kAutomated safety check: PassGPL-3.0

Similar skills

  • Create Epic Recap

    DataDog/datadog-agent

    Official

    A skill your agent uses when an engineer or manager asks to recap, summarize, or post an update on a Jira Epic — a progress update for an in-progress Epic (how far along it is, what's shipped so…

    3.8k GitHub stars~5k tokensUpdated today
    DevelopmentAuto-check: notes
  • Review Release Notes

    chef/chef-web-docs

    Read a release notes file and edit it using Jira release data and GitHub pull requests as co-equal, optional sources.

    143 GitHub stars~5.2k tokensUpdated today
    DevelopmentAuto-check passed
  • Release Notes Generator

    amplitude/builder-skills

    Read completed tickets from Linear, Jira, or GitHub Issues, filter to user-visible changes, group by product area, and write polished user-facing release notes saved as a .docx to Google Drive.

    159 GitHub stars~684 tokensUpdated 2 mo ago
    DevelopmentAuto-check passed
  • Cutting A Release

    TriliumNext/Trilium

    A skill your agent uses when cutting, preparing, or debugging a Trilium release — bumping the monorepo version, tagging, or diagnosing a failed "Release" workflow run.

    38k GitHub stars~3.2k tokensUpdated today
    DevelopmentAuto-check passed
  • Runbook for assessing and executing a Mole CLI release: distribution channels, pre-flight checks, capital-V tags, build artifacts and the handoff to curated release notes.

    70k GitHub stars~2.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Draft Release Notes

    jamiepine/voicebox

    Writes or refreshes the Unreleased section of CHANGELOG.md as a themed narrative built from the commits, PRs and diff since the last version tag.

    57k GitHub stars~941 tokensUpdated yesterday
    DevelopmentAuto-check passed

More from huytieu/COG-second-brain

All 37 skills in this repo
  • Voice Baseline

    huytieu/COG-second-brain

    Measure your own writing corpus for the words and sentence shapes you over-use, so an agent writing in your voice stops amplifying your tics into a style.

    1.3k GitHub stars~957 tokensUpdated 6 days ago
    Auto-check passed
  • Daily Journal

    huytieu/COG-second-brain

    A passive daily work journal that Claude keeps FOR you so you never have to write it yourself.

    1.3k GitHub stars~1.3k tokensUpdated 6 days ago
    Auto-check passed
  • Editorial Illustrations

    huytieu/COG-second-brain

    Generate meaning-carrying editorial data-illustrations in the monotykamary / Linear aesthetic (near-black grayscale, Inter display + mono labels, hairline framed figures) with a single coral accent.

    1.3k GitHub stars~2.4k tokensUpdated 6 days ago
    Auto-check passed
  • Loop Engineering

    huytieu/COG-second-brain

    Shared loop-engineering reference for COG skills - the agent loop, deterministic verifiers, termination conditions, in-loop context management, and named patterns.

    1.3k GitHub stars~1.5k tokensUpdated 6 days ago
    Auto-check passed
  • Knowledge Consolidation

    huytieu/COG-second-brain

    Build frameworks from scattered insights across all braindumps and notes

    1.3k GitHub starsUsed in 1 repo~2.9k tokens
    Auto-check passed
  • Release Video

    huytieu/COG-second-brain

    Turn a product release (the list of shipped items plus real screen recordings) into a motion recap video and one explained demo per feature, with sound effects tied to on-screen motion and a…

    1.3k GitHub stars~1.7k tokensUpdated 6 days ago
    Auto-check passed

Works with

Categories

Questions about Generate Release Notes

What does Generate Release Notes do?

Generate categorized release notes from any source (GitHub, Linear, Jira, or manual input) with optional publishing. Generate Release Notes is an agent skill from huytieu/COG-second-brain.

When should I use Generate Release Notes?

Generate Release Notes fits situations like: tasks that involve Changelog and release notes.

How do I install Generate Release Notes in Claude Code?

Run `npx skills add huytieu/COG-second-brain --skill generate-release-notes -a claude-code`. Or copy the skill folder (skills/generate-release-notes in huytieu/COG-second-brain) into .claude/skills/generate-release-notes in your project. Claude Code loads it when a task matches its description.

How do I install Generate Release Notes in Codex?

Run `npx skills add huytieu/COG-second-brain --skill generate-release-notes -a codex`. Or copy the skill folder (skills/generate-release-notes in huytieu/COG-second-brain) into .agents/skills/generate-release-notes in your project. Codex loads it when a task matches its description.

Can I use Generate Release Notes in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add huytieu/COG-second-brain --skill generate-release-notes -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/generate-release-notes, .gemini/skills/generate-release-notes, .github/skills/generate-release-notes and .opencode/skills/generate-release-notes in your project.

What does Generate Release Notes need to run?

Going by SKILL.md and its folder, Generate Release Notes needs the command-line tools its instructions call (gh and git).

Does Generate Release Notes access the network?

SKILL.md contains no URLs. Its commands use gh and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Generate Release Notes safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Generate Release Notes use?

Generate Release Notes is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Generate Release Notes use?

About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Generate Release Notes?

Skills that share tags, products or a category with Generate Release Notes: Create Epic Recap (DataDog/datadog-agent, 3.8k stars), Review Release Notes (chef/chef-web-docs, 143 stars), Release Notes Generator (amplitude/builder-skills, 159 stars) and Cutting A Release (TriliumNext/Trilium, 38k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Generate Release Notes?

huytieu (a GitHub user) maintains it in huytieu/COG-second-brain, which has 1,265 GitHub stars. The repository holds 37 skills in this directory. The repository was last updated on October 2, 2026.

Source: huytieu/COG-second-brain on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.