Create Epic Recap
DataDog/datadog-agent
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…
Generate categorized release notes from any source (GitHub, Linear, Jira, or manual input) with optional publishing
$ npx skills add huytieu/COG-second-brain --skill generate-release-notes -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install huytieu/COG-second-brain generate-release-notes --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "generate-release-notes" agent skill from https://github.com/huytieu/COG-second-brain/tree/main/skills/generate-release-notes into .claude/skills/generate-release-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "generate-release-notes", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/huytieu/COG-second-brain/tree/main/skills/generate-release-notesType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add huytieu/COG-second-brain --skill generate-release-notes -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install huytieu/COG-second-brain generate-release-notes --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/huytieu/COG-second-brain.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/generate-release-notes .agents/skills/generate-release-notes && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "generate-release-notes" agent skill from https://github.com/huytieu/COG-second-brain/tree/main/skills/generate-release-notes into .agents/skills/generate-release-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "generate-release-notes", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add huytieu/COG-second-brain --skill generate-release-notes -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install huytieu/COG-second-brain generate-release-notes --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/huytieu/COG-second-brain.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/generate-release-notes .cursor/skills/generate-release-notes && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "generate-release-notes" agent skill from https://github.com/huytieu/COG-second-brain/tree/main/skills/generate-release-notes into .cursor/skills/generate-release-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "generate-release-notes", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/huytieu/COG-second-brain.git --path skills/generate-release-notes--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add huytieu/COG-second-brain --skill generate-release-notes -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install huytieu/COG-second-brain generate-release-notes --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/huytieu/COG-second-brain.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/generate-release-notes .gemini/skills/generate-release-notes && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "generate-release-notes" agent skill from https://github.com/huytieu/COG-second-brain/tree/main/skills/generate-release-notes into .gemini/skills/generate-release-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "generate-release-notes", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install huytieu/COG-second-brain generate-release-notesInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add huytieu/COG-second-brain --skill generate-release-notes -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/huytieu/COG-second-brain.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/generate-release-notes .github/skills/generate-release-notes && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "generate-release-notes" agent skill from https://github.com/huytieu/COG-second-brain/tree/main/skills/generate-release-notes into .github/skills/generate-release-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "generate-release-notes", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add huytieu/COG-second-brain --skill generate-release-notes -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install huytieu/COG-second-brain generate-release-notes --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/huytieu/COG-second-brain.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/generate-release-notes .opencode/skills/generate-release-notes && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "generate-release-notes" agent skill from https://github.com/huytieu/COG-second-brain/tree/main/skills/generate-release-notes into .opencode/skills/generate-release-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "generate-release-notes", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
generate-release-notesGenerate 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. 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.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 36ac9d7. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
ghgitFrom the folder's file list and the shell code blocks in SKILL.md.
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.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from huytieu/COG-second-brain at commit 36ac9d7, republished under its MIT licence (© huytieu). 436 words, ~2,523 tokens.
.claude/skills/generate-release-notes/SKILL.md (or your agent's skills folder).Check agent_mode in 00-inbox/MY-PROFILE.md frontmatter:
agent_mode: team — use parallel agents to collect data from all active sources simultaneouslyagent_mode: solo — collect data sequentially from the primary tracker/generate-release-notesRead 00-inbox/MY-INTEGRATIONS.md to determine data sources and publishing options
Read 00-inbox/MY-PROFILE.md for active projects
Get current timestamp: Run date '+%Y-%m-%d %H:%M' using Bash
Ask the user (if not already provided):
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 descriptionsAgent: "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 descriptionsAgent: "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 descriptionsRun the primary tracker collection sequentially.
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]Organize collected items into standard categories:
Within each category, order by:
---
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]*---
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]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.
Save to: 04-projects/[project]/release-notes/release-[version]-YYYY-MM-DD.md
mkdir -p "04-projects/[project]/release-notes"Only proceed if the user explicitly approves.
gh release create [VERSION_TAG] \
--repo [CUSTOMIZE: your-org/your-repo] \
--title "[Project] [Version]" \
--notes-file [path-to-release-notes]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]"1. Use ToolSearch to load Notion tools
2. Use mcp__claude_ai_Notion__notion-create-pagesUse WebFetch to publish via HackMD APIAfter publishing, update the vault copy with the published URL.
| Scenario | Behavior |
|---|---|
| No tracker active | Accept manual input, or scan git log for commits in the date range |
| Tracker API fails | Fall back to git log analysis: git log --oneline [PREV_TAG]..[CURRENT_TAG] |
| No version tag specified | Use date range instead, or list recent completed work |
| Mixed sources | Merge and deduplicate items from multiple trackers |
| No publishing platform | Save to vault only |
| Very large release | Split into "Highlights" section + full changelog |
© huytieu, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/generate-release-notes of huytieu/COG-second-brain.
Open the folder on GitHubat commit 36ac9d7
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Generate Release Notes this skillhuytieu/COG-second-brain | 1.3k | — | ~2.5k | Automated safety check: Pass | MIT | |
| Create Epic RecapDataDog/datadog-agent | 3.8k | — | ~5k | Automated safety check: Notes | Apache-2.0 | |
| Review Release Noteschef/chef-web-docs | 143 | — | ~5.2k | Automated safety check: Pass | Custom licence | |
| Release Notes Generatoramplitude/builder-skills | 159 | — | ~684 | Automated safety check: Pass | None | |
| Cutting A ReleaseTriliumNext/Trilium | 38k | — | ~3.2k | Automated safety check: Pass | AGPL-3.0 | |
| Mole CLI Release Flowtw93/Mole | 70k | — | ~2.5k | Automated safety check: Pass | GPL-3.0 |
DataDog/datadog-agent
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…
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.
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.
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.
tw93/Mole
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.
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.
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.
huytieu/COG-second-brain
A passive daily work journal that Claude keeps FOR you so you never have to write it yourself.
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.
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.
huytieu/COG-second-brain
Build frameworks from scattered insights across all braindumps and notes
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…
Categories
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.
Generate Release Notes fits situations like: tasks that involve Changelog and release notes.
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.
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.
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.
Going by SKILL.md and its folder, Generate Release Notes needs the command-line tools its instructions call (gh and git).
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.
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.
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.
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.
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.
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.