Agent skill

guide-recap

Transform CHANGELOG entries into social content (LinkedIn, Twitter/X, Newsletter, Slack) in FR + EN. Use after releases or weekly to generate release notes, announcements, social media posts, or recap summaries from guide updates.

Stars 3,172
Forks 439

Install this agent skill to your Project

npx add-skill https://github.com/FlorianBruniaux/claude-code-ultimate-guide/tree/main/examples/skills/guide-recap

SKILL.md

Guide Recap

Generate social media content from CHANGELOG.md entries. Produces 8 outputs by default (4 formats x 2 languages).

When to Use

  • After running /release to create social announcements
  • Weekly to summarize multiple releases
  • Before posting on LinkedIn, Twitter/X, newsletter, or Slack

Usage

/guide-recap latest              # Latest released version
/guide-recap v3.20.5             # Specific version
/guide-recap week                # Current week (Monday to today)
/guide-recap week 2026-01-27     # Specific week (Monday to Sunday)

Flags

Flag Effect Default
--interactive Guide mode: choose angle, audience, highlight Off (auto-draft)
--format=X Single format: linkedin, twitter, newsletter, slack All 4 formats
--lang=X Single language: fr, en Both FR + EN
--save Save output to [project-docs]/social-posts/ Display only
--force Generate even if only maintenance entries Skip low-score

Workflow (7 Steps)

Step 1: Parse Input

Parse $ARGUMENTS to determine mode:

Input Mode Target
latest Single version First ## [X.Y.Z] after [Unreleased]
vX.Y.Z or X.Y.Z Single version Exact version match
week Week range Monday of current week -> today
week YYYY-MM-DD Week range That Monday -> following Sunday

If no argument or invalid argument, display usage and exit.

Step 2: Extract CHANGELOG Entries

Read CHANGELOG.md from the project root.

Single version:

  1. Find line matching ## [{version}]
  2. Extract all content until next ## [ line
  3. Parse ### Added, ### Changed, ### Fixed sections

Week range:

  1. Collect all ## [X.Y.Z] - YYYY-MM-DD entries where date falls in range
  2. Parse all sections from all matching versions

Error: version not found -> List last 5 versions, suggest latest. Error: week has no entries -> Show date of last release, suggest that version.

Step 3: Categorize Entries

For each top-level entry (first-level bullet under ###), assign a category:

Category Weight Detection
NEW_CONTENT 3 New files, new sections, new diagrams, new quiz questions
GROWTH_METRIC 2 Line count growth, item count changes
RESEARCH 1 Resource evaluations, external source integrations
FIX 1 Under ### Fixed, corrections
MAINTENANCE 0 README updates, badge syncs, landing syncs, count updates

See references/changelog-parsing-rules.md for detailed classification rules.

Step 4: Transform to User Value

Apply mappings from references/content-transformation.md:

  • Technical language -> user benefit
  • Extract concrete numbers
  • Credit named sources
  • Cluster related entries

Validate against references/tone-guidelines.md DO/DON'T checklist.

Step 4b: Interactive Mode (--interactive only)

If --interactive flag is set, insert between steps 4 and 5:

  1. Display candidate highlights with scores:

    Highlights (by score):
    [14] 4 new ASCII diagrams (16 -> 20)     [NEW_CONTENT]
    [ 9] 30 new quiz questions (227 -> 257)   [NEW_CONTENT]
    [ 6] Docker sandbox isolation guide        [NEW_CONTENT]
    [ 1] README updated                        [MAINTENANCE]
    
  2. Ask angle:

    • Auto (highest scored = hook)
    • User picks specific entry as hook
    • Custom angle (user provides theme)
  3. Ask target audience:

    • devs (technical depth)
    • tech-leads (impact focus)
    • general (accessible language)
    • all (default, balanced)
  4. Ask primary highlight:

    • Auto (top score)
    • User selects from list
  5. Confirm selection and proceed to step 5.

Step 5: Score and Select

Compute score for each entry:

score = (category_weight * 3)
      + (has_number * 2)
      + (named_source * 1)
      + (new_file * 1)
      + (min(impact_files, 3))
      + (breaking * 2)

Select top 3-4 entries by score. Highest score = hook line.

If all scores < 3: Output "No social content recommended for this version. Use --force to generate anyway." and exit (unless --force).

Step 6: Generate Content

For each requested format (default: all 4) and language (default: both):

  1. Read the corresponding template from assets/
  2. Fill template fields using scored and transformed entries
  3. Apply tone-guidelines.md quality checklist

Links:

Format Link Target
LinkedIn Landing site URL
Twitter GitHub repo URL
Newsletter Both (landing + GitHub)
Slack GitHub repo URL

URLs:

  • Landing: https://{DOMAIN}/
  • GitHub: https://github.com/{OWNER}/{REPO}

Step 7: Output

Display each generated post in a fenced code block, labeled by format and language:

## LinkedIn (FR)

```text
[content]
`` `

## LinkedIn (EN)

```text
[content]
`` `

## Twitter/X (FR)

```text
[content]
`` `

...

If --save flag: write all outputs to [project-docs]/social-posts/YYYY-MM-DD-vX.Y.Z.md (for version) or [project-docs]/social-posts/YYYY-MM-DD-week.md (for week). Create [project-docs]/social-posts/ directory if it doesn't exist.

Error Handling

Error Response
No argument Display usage block
Invalid argument Display usage block with examples
Version not found List 5 most recent versions, suggest latest
Week has no entries Show date of last release, suggest version
All entries MAINTENANCE (score 0) "No social content recommended. Use --force to override."
CHANGELOG.md not found "CHANGELOG.md not found in project root."

Reference Files

  • references/tone-guidelines.md - DO/DON'T rules, emoji budget, language register
  • references/changelog-parsing-rules.md - CHANGELOG format, extraction, scoring algorithm
  • references/content-transformation.md - Technical -> user value mappings (30+)
  • assets/linkedin-template.md - ~1300 chars, hook + bullets + CTA + hashtags
  • assets/twitter-template.md - 280 chars single or 2-3 tweet thread
  • assets/newsletter-template.md - ~500 words, structured sections
  • assets/slack-template.md - Compact, emoji-rich, Slack formatting
  • examples/version-output.md - Full example output for v3.20.5
  • examples/week-output.md - Full example output for week 2026-01-27

Tips

  • Run /guide-recap latest right after /release to prepare social posts
  • Use --interactive the first few times to understand the scoring
  • Use --format=linkedin --lang=fr when you only need one specific output
  • --save outputs are gitignored via [project-docs]/ convention
  • Review and personalize before posting (these are drafts, not final copy)

Expand your agent's capabilities with these related and highly-rated skills.

FlorianBruniaux/claude-code-ultimate-guide

eval-skills

Audit all skills in the current project for frontmatter completeness, effort level appropriateness, allowed-tools scoping, and content quality. Produces a scored report with effort-level recommendations for each skill. Use when onboarding to a new project, reviewing skill quality before shipping, or adding effort fields to an existing skill library.

3,172 439
Explore
FlorianBruniaux/claude-code-ultimate-guide

git-ai-archaeology

Analyze AI config evolution in a git repo — first commits per path, monthly distribution, major PRs, maturity phases

3,172 439
Explore
FlorianBruniaux/claude-code-ultimate-guide

design-patterns

Detect, suggest, and evaluate GoF design patterns in TypeScript/JavaScript codebases. Use when refactoring code, applying singleton/factory/observer/strategy patterns, reviewing pattern quality, or finding stack-native alternatives for React, Angular, NestJS, and Vue.

3,172 439
Explore
FlorianBruniaux/claude-code-ultimate-guide

rtk-optimizer

Wrap high-verbosity shell commands with RTK to reduce token consumption. Use when running git log, git diff, cargo test, pytest, or other verbose CLI output that wastes context window tokens.

3,172 439
Explore
FlorianBruniaux/claude-code-ultimate-guide

pr-triage

4-phase PR backlog management with audit, deep code review, validated comments, and optional worktree setup. Use when triaging pull requests, catching up on pending code reviews, or managing a backlog of open PRs. Args: 'all' to review all, PR numbers to focus (e.g. '42 57'), 'en'/'fr' for language, no arg = audit only.

3,172 439
Explore
FlorianBruniaux/claude-code-ultimate-guide

talk-stage5-script

Produces a complete 5-act pitch with speaker notes, a slide-by-slide specification, and a ready-to-paste Kimi prompt for AI slide generation. Requires validated angle and title from Stage 4. Use when you have a confirmed talk angle and need the full script, slide spec, and AI-generated presentation prompt.

3,172 439
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results