ctx-blog-changelog

Generate themed blog post from commits. Use when writing about changes between releases or documenting a development arc.

41 stars

Best use case

ctx-blog-changelog is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Generate themed blog post from commits. Use when writing about changes between releases or documenting a development arc.

Teams using ctx-blog-changelog 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-blog-changelog/SKILL.md --create-dirs "https://raw.githubusercontent.com/ActiveMemory/ctx/main/internal/assets/claude/skills/ctx-blog-changelog/SKILL.md"

Manual Installation

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

How ctx-blog-changelog Compares

Feature / Agentctx-blog-changelogStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Generate themed blog post from commits. Use when writing about changes between releases or documenting a development arc.

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 a blog post about changes since a specific commit, with a given theme.

## Before Writing

Two questions; if any answer is "no", reconsider:

1. **"Is there enough change to tell a story?"** → A handful of typo
   fixes doesn't warrant a post
2. **"Is the theme clear?"** → If the commit range covers unrelated
   work, narrow the scope or split into multiple posts

## When to Use

- When documenting changes between releases
- When writing about a development arc or theme
- When the user wants to explain "what changed and why"

## When NOT to Use

- For general project updates without a commit range (use `/ctx-blog`)
- When the changes are minor or routine maintenance
- When there's no unifying theme across the commits

## Input

Required:
- **Commit hash**: Starting point (e.g., `040ce99`, `HEAD~50`, `v0.1.0`)
- **Theme**: The narrative angle (e.g., "human-assisted refactoring",
  "the recall system")

Optional:
- **Reference post**: An existing post to match the style

## Usage Examples

```text
/ctx-blog-changelog 040ce99 "human-assisted refactoring"
/ctx-blog-changelog HEAD~30 "building the journal system"
/ctx-blog-changelog v0.1.0 "what's new in v0.2.0"
```

## Process

1. **Analyze the commit range**:
```bash
git log --oneline <commit>..HEAD
git diff --stat <commit>..HEAD
git log --format="%s" <commit>..HEAD | head -50
```

2. **Gather supporting context**:
```bash
# Files most changed
git diff --stat <commit>..HEAD | sort -t'|' -k2 -rn | head -20

# Journal entries from this period
ctx journal source
```

3. **Draft the narrative** following the theme
4. Save to `docs/blog/YYYY-MM-DD-slug.md`
5. **Update `docs/blog/index.md`** with an entry at the top:

```markdown
### [Post Title](YYYY-MM-DD-slug.md)

*Author / Date*

2-3 sentence blurb.

**Topics**: topic-one, topic-two, topic-three

---
```

## Blog Structure

### Frontmatter

```yaml
---
title: "[Theme]: [Specific Angle]"
date: YYYY-MM-DD
author: [Ask user]
topics:
  - topic-one
  - topic-two
  - topic-three
---
```

### Body

```markdown
# [Title]

![ctx](../images/ctx-banner.png)

> [Hook related to theme]

## The Starting Point
[State of codebase at <commit>, what prompted the change]

## The Journey
[Narrative of changes, organized by theme not chronology]

## Before and After
[Comparison table or code diff showing improvement]

## Key Commits

| Commit | Change      |
|--------|-------------|
| abc123 | Description |

## Lessons Learned
[Insights from this work]

## What's Next
[Future work enabled by these changes]
```

## Style Guidelines

- **Personal voice**: Use "I", "we", share the journey
- **Show don't tell**: Include actual code, commits, diffs
- **Tables for comparisons**: Before/after, key commits
- **Honest about failures**: Include what went wrong and why
- **Concrete examples**: Reference specific files, commits, decisions
- **No em-dashes**: Use `:`, `;`, or restructure the sentence instead
- **Straight quotes only**: Use "dumb quotes" (`"`, `'`), never
  typographic/curly quotes
- **80-character line width**: Wrap prose at ~80 characters; exceptions
  for tables, code blocks, and URLs

Related Skills

ctx-blog

41
from ActiveMemory/ctx

Generate blog post draft. Use when documenting project progress, sharing learnings, or writing about development experience.

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.