_ctx-release-notes

Generate release notes for dist/RELEASE_NOTES.md. Use when preparing a release or when hack/release.sh needs release notes.

41 stars

Best use case

_ctx-release-notes is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Generate release notes for dist/RELEASE_NOTES.md. Use when preparing a release or when hack/release.sh needs release notes.

Teams using _ctx-release-notes should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/_ctx-release-notes/SKILL.md --create-dirs "https://raw.githubusercontent.com/ActiveMemory/ctx/main/.claude/skills/_ctx-release-notes/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/_ctx-release-notes/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How _ctx-release-notes Compares

Feature / Agent_ctx-release-notesStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Generate release notes for dist/RELEASE_NOTES.md. Use when preparing a release or when hack/release.sh needs release notes.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

Generate release notes for the next release of Context CLI.

## Before Writing

1. **"Are there commits since the last tag?"** If HEAD equals the last
   tag, there is nothing to release.
2. **"Does VERSION match the intended release?"** If VERSION still shows
   the previous version, ask the user to update it first.

## When to Use

- Before running `hack/release.sh` (it requires `dist/RELEASE_NOTES.md`)
- When the user asks to prepare or draft release notes

## When NOT to Use

- For blog posts about a release (use the blog changelog skill if installed)
- When no commits exist since the last tag

## Process

1. **Read version and find baseline**:
```bash
cat VERSION
# Use the latest tag globally, not ancestry-based git describe
# (git describe follows reachability and misses tags on other branches)
git tag --sort=-v:refname | head -1
```

2. **Gather commits since last tag** (filter out noise):
```bash
# Substantive commits (skip "docs." and "minor" one-liners)
git log <tag>..HEAD --oneline --no-merges \
  | grep -v "^[a-f0-9]* docs\.$" \
  | grep -v "^[a-f0-9]* Doc update\.$" \
  | grep -v "^[a-f0-9]* minor"

# Changed file stats
git diff --stat <tag>..HEAD | tail -5

# Go code changes
git log <tag>..HEAD --oneline --no-merges -- '*.go'

# CI changes
git log <tag>..HEAD --oneline --no-merges -- '.github/**'

# Dependency changes
git log <tag>..HEAD --oneline --no-merges -- 'go.mod' 'go.sum'
```

3. **Read detailed commit messages** for each substantive commit:
```bash
git show <hash> --format="%B" --stat | head -30
```

4. **Check previous release notes** for format reference:
```bash
gh release view <tag> --json body -q '.body' | head -60
```

5. **Synthesize release notes**:
   - Write a summary (2-3 sentences) of what this release accomplishes
   - Group changes into logical sections
   - Write human-friendly descriptions, not raw commit messages
   - Highlight breaking changes prominently
   - Skip trivial changes (typo fixes, minor refactors)

6. **Write to `dist/RELEASE_NOTES.md`** and confirm.

## Output Format

```markdown
<img src="https://ctx.ist/images/ctx-banner.png" />

# Context CLI v<version>

<Summary paragraph>

## Canonical Release Narrative

(coming soon) https://ctx.ist/blog/

## Highlights

- **Bold label**: 1-2 sentence description

## Features

- Description of feature

## Bug Fixes

- Description of fix

## Refactoring

- Description of refactor (only if significant)

## CI

- Description of CI change (only if present)

## Documentation

- Description of doc changes

---

Full changelog: https://github.com/ActiveMemory/ctx/compare/<last-tag>...v<version>
```

## Quality Checklist

- [ ] VERSION file version matches the heading
- [ ] Every substantive commit is represented
- [ ] Sections only appear if they have content
- [ ] No raw commit hashes in the prose
- [ ] Banner image included at the top
- [ ] Changelog URL uses correct tag range
- [ ] Output written to `dist/RELEASE_NOTES.md`
- [ ] Ends with: "Release notes written to dist/RELEASE_NOTES.md"

## Style

- Active voice: "Add X" not "X was added"
- No em-dashes; use `:`, `;`, or restructure
- Straight quotes only (`"`, `'`)
- One line per bullet when possible

Related Skills

_ctx-release

41
from ActiveMemory/ctx

Run the full release process. Use when cutting a new version of ctx.

ctx-verify

41
from ActiveMemory/ctx

Verify before claiming completion. Use before saying work is done, tests pass, or builds succeed.

ctx-skill-creator

41
from ActiveMemory/ctx

Create, improve, test, and deploy skills. Full skill lifecycle from intent to working skill file.

ctx-sanitize-permissions

41
from ActiveMemory/ctx

Audit tool permissions for dangerous or overly broad entries. Use to ensure safe agent configuration.

ctx-recall

41
from ActiveMemory/ctx

Browse session history. Use when referencing past discussions or finding context from previous work.

ctx-prompt

41
from ActiveMemory/ctx

Apply, list, and manage saved prompt templates from .context/prompts/. Use when the user asks to apply, list, or create a reusable template like code-review or refactor.

ctx-journal-normalize

41
from ActiveMemory/ctx

Normalize journal source markdown for clean rendering. Use after journal site shows rendering issues: fence nesting, metadata formatting, broken lists.

ctx-import-plans

41
from ActiveMemory/ctx

Import plan files into project specs directory. Use to convert external plans into project-tracked specs.

ctx-compact

41
from ActiveMemory/ctx

Archive completed tasks and trim context. Use when context files are growing large.

ctx-check-links

41
from ActiveMemory/ctx

Audit docs for dead links. Use before releases, after restructuring docs, or when running a documentation audit.

ctx-add-task

41
from ActiveMemory/ctx

Add a task. Use when follow-up work is identified or when breaking down complex work into subtasks.

ctx-add-learning

41
from ActiveMemory/ctx

Record a learning. Use when discovering gotchas, bugs, or unexpected behavior that future sessions should know about.