Draft social media posts (Twitter/X and LinkedIn) announcing a new release. Triggered by requests to announce a release, write a tweet about a version, or create social posts for a launch.
Draft social media posts for Twitter/X and LinkedIn by analyzing what actually changed ā not just parroting commit messages.
# Get the most recent tag
CURRENT_TAG=$(git describe --tags --abbrev=0)
PREVIOUS_TAG=$(git describe --tags --abbrev=0 "$CURRENT_TAG^")
# Get the date of the previous tag for filtering PRs/issues
SINCE_DATE=$(git log -1 --format=%aI "$PREVIOUS_TAG")
PRs merged since last release:
gh pr list --state merged --search "merged:>=$SINCE_DATE" --json number,title,body,labels --limit 100
Issues closed since last release:
gh issue list --state closed --search "closed:>=$SINCE_DATE" --json number,title,body,labels --limit 100
Diff between tags:
git diff "$PREVIOUS_TAG".."$CURRENT_TAG" -- '*.ts' '*.js' '*.tsx' '*.jsx' '*.py' '*.go' '*.rs' ':!*.lock' ':!*.min.*'
Files changed (reveals scope):
git diff --name-only "$PREVIOUS_TAG".."$CURRENT_TAG"
New or changed test descriptions:
git diff "$PREVIOUS_TAG".."$CURRENT_TAG" -- '**/*.test.*' '**/*.spec.*' '**/test_*' '**/*_test.*'
Config and dependency changes:
git diff "$PREVIOUS_TAG".."$CURRENT_TAG" -- 'package.json' '*.toml' '*.yaml' '*.yml' '*.env.example' '*.config.*'
Commit messages (last resort):
git log --oneline "$PREVIOUS_TAG".."$CURRENT_TAG"
# Check if there's a GitHub release with notes already
gh release view "$CURRENT_TAG" --json body --jq '.body' 2>/dev/null
If release notes already exist, use them as the primary source and supplement with the gathered context.
Not everything in a release is announcement-worthy.
Ask: "Would a user of this product care enough to click through?" If no, skip it.
Generate both formats:
ProjectName v2.4.0 is out!
Biggest addition: bulk CSV export for any report type ā custom date ranges, filters, the works.
Also: keyboard shortcuts, faster search, and bug fixes.
ā https://github.com/org/repo/releases/tag/v2.4.0
ProjectName v2.4.0 just shipped with a feature our users have been asking for: bulk CSV export.
You can now export any report ā including custom reports ā to CSV with full control over date ranges and filters. No more copying data by hand.
We also added keyboard shortcuts for common actions, improved search performance for large workspaces, and fixed several bugs.
Check out the full release notes: https://github.com/org/repo/releases/tag/v2.4.0
Typical commit messages:
fix stuff
wip
update deps
john's changes
PR #89
What the skill produces by analyzing PRs, issues, and diffs:
ProjectName v3.0 just dropped š
Real-time collaboration ā edit documents with your team, see their cursors live.
Plus: Slack notifications for deploys and a bunch of bug fixes.
ā https://github.com/org/repo/releases/tag/v3.0.0
Excited to share ProjectName v3.0 ā our biggest release this year.
The headline: real-time collaboration. You can now edit documents with your team simultaneously, with live cursors and instant syncing.
We also added Slack integration for deployment notifications, fixed duplicate search results, and resolved an issue with SSO password resets.
Full release notes: https://github.com/org/repo/releases/tag/v3.0.0