ctx-blog

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

41 stars

Best use case

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

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

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

Manual Installation

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

How ctx-blog Compares

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

Frequently Asked Questions

What does this skill do?

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

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

<!-- This skill assumes a ctx-style blog layout (docs/blog/, frontmatter,
     index.md). It ships as a bundled skill because the workflow (gather
     context, find a narrative arc, draft, revise) is universally useful.
     Projects with a different blog structure should adapt the paths and
     output format in the Process and Blog Post Structure sections. -->

Generate a blog post draft from recent project activity.

## Before Writing

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

1. **"Is there a narrative arc?"** → A blog post needs a story (problem →
   approach → outcome), not just a list of changes
2. **"Would someone outside the project learn something?"** → If the
   insight is only useful internally, use LEARNINGS.md instead

## When to Use

- When documenting significant project progress
- When sharing learnings publicly
- When the user wants to write about the development experience

## When NOT to Use

- For internal-only notes (use session saves or LEARNINGS.md)
- When the work is still in progress with no clear insight yet
- For changelogs (use `/ctx-blog-changelog` instead)

## Input

The user may specify:
- A time range: `last week`, `since Monday`, `January`
- A topic focus: `the refactoring`, `new features`, `lessons learned`
- Or just run it to analyze recent activity

## Sources to Analyze

Gather context from multiple sources:

```bash
# Recent commits
git log --oneline -30

# Recent decisions
ctx status --verbose  # or read DECISIONS.md directly

# Recent learnings
ctx status --verbose  # or read LEARNINGS.md directly

# Recent tasks completed
ctx status  # shows active and completed task counts

# Journal entries (if available)
ctx journal source --limit 10
```

## Blog Post Structure

### Frontmatter

```yaml
---
title: "Descriptive Title: What This Post Is About"
date: YYYY-MM-DD
author: [Ask user]
topics:
  - topic-one
  - topic-two
  - topic-three
---
```

### Body

```markdown
# Title

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

> Opening hook or question

[Introduction: Set the scene, why this matters]

## Section 1: The Context/Problem
[What situation led to this work]

## Section 2: What We Did
[Narrative of the work, with code examples]

## Section 3: What We Learned
[Key insights, gotchas, patterns discovered]

## Section 4: What's Next
[Future work, open questions]
```

## Style Guidelines

- **Personal voice**: Use "I", "we", share the journey
- **Show don't tell**: Include actual code, commits, quotes
- **Tables for comparisons**: Before/after, patterns found
- **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

## Process

1. Gather sources (git, decisions, learnings, journals)
2. Identify the narrative arc (what's the story?)
3. Draft outline for user approval
4. Write full draft
5. Ask for revisions
6. Save to `docs/blog/YYYY-MM-DD-slug.md`
7. **Update `docs/blog/index.md`**: add entry at the top following the
   existing pattern:

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

*Author / Date*

2-3 sentence blurb.

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

---
```

## Example Invocations

```
/ctx-blog about the cooldown feature we just built
/ctx-blog last week's refactoring work
/ctx-blog lessons learned from hook design
```

Related Skills

ctx-blog-changelog

41
from ActiveMemory/ctx

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

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.