본문으로 건너뛰기
cccskills
무료GitHub에 공개

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 --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.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구Obsidian
설치 방법 보기

포함된 파일(2)

  • SKILL.md9.8 KB
  • examples/changelog-report.md3.0 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

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)
  • SDK: {} (code braces)
  • API: ⟡ (diamond)
  • Platform: ◈ (nested diamond)
  • Prompt Library: ✎ (pen)
  • Other: ● (dot)

The "Create Course" Button

Each card gets a button in its footer area that lets the user generate a course for that topic.

Button behavior (JavaScript):

  1. On click, copy the command /docs --course <topic> to the clipboard
  2. Show a toast notification: "Copied! Paste in Claude Code to generate a course."
  3. The toast auto-dismisses after 3 seconds

Button HTML pattern:

<button class="course-btn" data-topic="hooks" onclick="copyCourseCmd(this)">
  <span class="course-btn-icon">▶</span>
  Create Course
</button>

Button CSS:

.course-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 999px;
  border: 1px solid var(--accent);
  background: var(--accent-dim);
  color: var(--accent);
  font-family: 'Outfit', sans-serif;
  font-size: 0.78rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
}
.course-btn:hover {
  background: var(--accent);
  color: var(--bg);
  box-shadow: 0 0 20px rgba(240, 160, 80, 0.25);
}
.course-btn-icon {
  font-size: 0.65rem;
}

Toast notification:

.toast {
  position: fixed;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%) translateY(20px);
  background: var(--surface);
  border: 1px solid var(--accent);
  color: var(--accent);
  padding: 0.75rem 1.5rem;
  border-radius: var(--radius);
  font-family: 'Outfit', sans-serif;
  font-size: 0.88rem;
  font-weight: 500;
  box-shadow: 0 8px 32px rgba(0,0,8,0.5), 0 0 20px rgba(240,160,80,0.15);
  opacity: 0;
  transition: opacity 0.3s, transform 0.3s;
  z-index: 10000;
}
.toast.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

JavaScript:

function copyCourseCmd(btn) {
  const topic = btn.dataset.topic;
  const cmd = '/docs --course ' + topic;
  navigator.clipboard.writeText(cmd).then(() => {
    showToast('Copied! Paste in Claude Code: ' + cmd);
  }).catch(() => {
    // Fallback for older browsers
    const ta = document.createElement('textarea');
    ta.value = cmd; document.body.appendChild(ta);
    ta.select(); document.execCommand('copy');
    document.body.removeChild(ta);
    showToast('Copied! Paste in Claude Code: ' + cmd);
  });
}

function showToast(msg) {
  let toast = document.getElementById('toast');
  if (!toast) {
    toast = document.createElement('div');
    toast.id = 'toast';
    toast.className = 'toast';
    document.body.appendChild(toast);
  }
  toast.textContent = msg;
  toast.classList.add('show');
  clearTimeout(toast._timeout);
  toast._timeout = setTimeout(() => toast.classList.remove('show'), 3000);
}

Phase 4: Open and Present

After generating the HTML:

  1. Open it in the browser
  2. Tell the user where it's saved: ~/.claude-code-docs/courses/changelog-<date>.html
  3. Summarize the key findings: "Found X changes across Y categories in the last Z days."
  4. Mention they can click "Create Course" on any card to copy the course generation command

URL Generation

Each manifest-diff.sh entry already includes the exact .url field — use it directly. (If you need a URL for a filename not in the diff output, look it up: jq -r '.pages[] | select(.filename=="<filename>") | .url' ~/.claude-code-docs/paths_manifest.json.)

Topic Extraction for Course Buttons

The data-topic attribute on each course button should be the human-readable topic name extracted from the filename:

  • claude-code__hooks.md → hooks
  • claude-code__hooks-guide.md → hooks guide
  • docs__en__agent-sdk__python.md → Agent SDK Python
  • docs__en__build-with-claude__prompt-caching.md → prompt caching
  • docs__en__agents-and-tools__tool-use__overview.md → tool use

Strip the category prefix, replace __ and - with spaces, and capitalize naturally.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Search and read locally-stored Claude documentation covering Claude Code CLI, Claude API (Messages, tool use, vision, streaming, batch), Agent SDK (Python and TypeScript), prompt engineering, and all Anthropic platform docs. Use this skill whenever the user asks about Claude Code features (hooks, MCP servers, skills, plugins, settings, permissions, keybindings, sub-agents), the Anthropic API or any of its SDKs (Python, TypeScript, Go, Java), the Agent SDK (sessions, hooks, custom tools, MCP), model capabilities (context windows, extended thinking, pricing, rate limits, vision), prompt engineering best practices, or troubleshooting any Claude-related error. This skill provides instant access to official documentation files without web searches — always prefer it over web lookups for Claude and Anthropic topics.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

costiash/claude-code-docs552026년 10월 17일 업데이트

Generate an interactive, self-contained HTML course on any Claude documentation topic. Use this skill when the user wants to create an interactive course, tutorial, or deep-dive walkthrough about a Claude feature, API concept, SDK pattern, or prompt engineering technique. Triggers on: "create a course about", "interactive tutorial for", "teach me about X interactively", "make a course on", "I'd like a course", "/docs --course", "/docs course", or when the user accepts the post-docs course prompt. Produces a stunning single-page HTML file with scroll-based navigation, animated visualizations, quizzes, and code translations drawn from official Claude documentation.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

costiash/claude-code-docs552026년 10월 17일 업데이트

Check the health and freshness of locally-stored Claude documentation. Use this skill when the user asks about documentation health, broken links, stale docs, freshness checks, or wants to validate that their local install is up-to-date and all URLs are reachable. Triggers on: "are my docs current", "check doc health", "validate documentation", "broken links", "stale docs".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

costiash/claude-code-docs552026년 10월 17일 업데이트

docs

무료

Router for the /docs command. Look up Claude documentation, ask plain-English questions, generate interactive courses and HTML changelog reports, check freshness, and sync the local cache. Dispatches to the claude-docs, claude-docs-validate, claude-docs-course, and claude-docs-changelog skills.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

costiash/claude-code-docs552026년 10월 17일 업데이트

costiash의 스킬 모두 보기

이 스킬의 문제 신고