Skip to content

/claude-docs-changelog

Generate a self-contained HTML changelog report showing recent documentation changes with interactive course generation buttons. Use this skill when the user asks for a docs changelog, documentation report, what changed recently, recent doc updates as a report, or runs `/docs

shell
$ npx -y skills add costiash/claude-code-docs --skill claude-docs-changelog --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/claude-docs-changelog
How auto-invocation works

Context preview

The summary Claude sees to decide when to auto-load this skill.

Generate a self-contained HTML changelog report showing recent documentation changes with interactive course generation buttons. Use this skill when the user asks for a docs changelog, documentation report, what changed recently, recent doc updates as a report, or runs `/docs

SKILL.md

claude-docs-changelog.SKILL.md
name: claude-docs-changelog
description: >
  Generate a self-contained HTML changelog report showing recent documentation
  changes with interactive course generation buttons. Use this skill when the
  user asks for a docs changelog, documentation report, what changed recently,
  recent doc updates as a report, or runs `/docs --report`. Discovers changes
  via git history, categorizes them, summarizes what's new, and produces a
  stunning Obsidian & Amber themed HTML report where each entry has a
  "Create Course" button that copies the course command to clipboard.

Documentation Changelog Report

Generate a self-contained HTML report showing recent documentation changes. The report groups changes by category, summarizes what's new or updated, and includes a "Create Course" button on each card so the user can instantly generate an interactive course for any topic that caught their eye.

When to Trigger

  • User says "docs changelog", "docs report", "what changed in the docs", "recent doc updates report"
  • User runs `/docs --report`, `/docs changelog`, or `/docs --report <timeframe>`
  • User asks for a visual summary of documentation changes

The Process (3 Phases)

Phase 1: Discover Changes

**Find what changed, from the manifest's git history:**

~/.claude-code-docs/plugin/scripts/manifest-diff.sh --since <timeframe> --json

**Default timeframe:** Last 7 days. The user can specify a different window:

  • `/docs --report` → `--since 7d`
  • `/docs --report 24h` → `--since 24h`
  • `/docs --report 30d` → `--since 30d`
  • `/docs --report 2026-03-20` → `--since 2026-03-20`

**Parse the JSON** — three arrays, each element a full page entry:

  • `added` = new pages
  • `changed` = content changed (keyed off `sha256` deltas, so it catches every real update)
  • `removed` = pages dropped from the manifest

Each entry already carries `.category`, `.title`, `.url`, `.filename` — no filename-pattern categorization needed. Map `category` to a label via `manifest-reference.md`.

If all three arrays are empty, tell the user and suggest a wider window.

**Limit scope:** If there are more than 30 changed pages total, focus on the most recent/notable 30 and note how many were omitted.

Phase 2: Analyze Changes

For each changed page (or the most significant ones if there are many):

1. **Read the page** to understand its current content — it's cached at `~/.claude-code-docs/cache/<filename>`; if missing, fetch it first with `~/.claude-code-docs/plugin/scripts/fetch-docs.sh get "<filename>"`. 2. v2 commits no prose history, so there is no line-level `git diff` — describe the page's **current** content and why it matters (it appeared in `added`/`changed` for this window). 3. **Extract key points:** What's new? What was updated? What are the highlights? 4. **Write a 1-2 sentence summary** of the change 5. **Extract 3-6 bullet points** describing specific additions or updates

**For `added` entries:** Read the full page and summarize what it covers. **For `changed` entries:** The sha256 delta says the content changed but not where — read the current page and highlight the sections most likely to be new or updated. **For `removed` entries:** The page is gone from the manifest (no content to read) — note what was removed with a one-line description built from its `title` and `category`.

Group related changes (e.g., if 6 SDK language docs were all updated the same way, combine them into one card).

Phase 3: Generate the HTML Report

Generate a single self-contained HTML file using the **Obsidian & Amber** design system. Save to:

mkdir -p ~/.claude-code-docs/courses

Name the file: `~/.claude-code-docs/courses/changelog-<date>.html` (e.g., `changelog-2026-03-28.html`)

**HTML structure:**

├── Header (title, date range, sync status badge)
├── Stats bar (count per category with colored numbers)
├── Key Highlights box (3-6 most notable changes)
├── Section per category
│   ├── Section heading (icon, label, count)
│   └── Cards per changed doc
│       ├── Title + tag (New/Updated/Removed)
│       ├── Summary paragraph
│       ├── Bullet list of key changes
│       ├── Source link → official docs URL
│       └── "Create Course" button
└── Footer (generated from, doc count, date)

**Design rules (Obsidian & Amber):**

Use these exact CSS variables from the course design system:

:root {
  --bg: #0D0D16;
  --surface: #161624;
  --surface-hover: #1C1A28;
  --border: #2A2840;
  --text: #E8E0D4;
  --text-muted: #5C5852;
  --accent: #F0A050;
  --accent-dim: rgba(240, 160, 80, 0.08);
  --blue: #60A0E0;
  --blue-dim: rgba(96, 160, 224, 0.08);
  --green: #50C8A0;
  --green-dim: rgba(80, 200, 160, 0.08);
  --purple: #C080E0;
  --purple-dim: rgba(192, 128, 224, 0.08);
  --red: #F06060;
  --red-dim: rgba(240, 96, 96, 0.06);
  --radius: 10px;
}

**Typography:** Use the same fonts as the course skill:

<link href="https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Outfit:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
  • `Instrument Serif` for h1/h2 headings
  • `Outfit` for body text
  • `JetBrains Mono` for code and badges

**Include the grain overlay** (same as course design system):

body::after {
  content: '';
  position: fixed; top: 0; left: 0;
  width: 100%; height: 100%;
  pointer-events: none; z-index: 9999; opacity: 0.035;
  background-image: url("data:image/svg+xml,...");  /* same noise SVG */
}

**Card styling:**

  • Background: `--surface` with `--border` border
  • Hover: border shifts to `--accent` muted, subtle glow
  • Inner shadow highlight: `inset 0 1px 0 rgba(255,255,255,0.04)`

**Tags:**

  • `New` → green badge (`--green-dim` bg, `--green` text)
  • `Updated` → blue badge (`--blue-dim` bg, `--blue` text)
  • `Removed` → red badge (`--red-dim` bg, `--red` text)
  • `Beta` → purple badge (`--purple-dim` bg, `--purple` text)

**Category icons:**

  • CLI: `>_` (terminal prompt)

-

Read more
Read it on GitHub ↗

Showing the first part of this file.

Ships withclaude-code-docs

Official Claude docs, always up-to-date, always at your fingertips. Stop searching the web — ask Claude directly and get accurate answers grounded in official documentation.

Get the whole plugin, auto-invoked
Stats
50
Stars
0
Views
6
Forks
Active
Maintenance
Python
Language
17h ago
Last commit
9mo ago
Created

Repo: costiash/claude-code-docs