cc-changelog
CONTRIBUTOR TOOL - Track CC changelog, extract new versions since last check, analyze impact on plugin (breaking changes,…
Generate X/Twitter release promotion posts with ASCII tables and CodeSnap rendering. Use when writing release posts, promotion tweets, plugin announcements, or preparing social media content for new versions.
Claude Code
$ npx -y skills add oliver-kriska/claude-elixir-phoenix --skill promote --agent claude-code
Codex
$ npx skills add oliver-kriska/claude-elixir-phoenix --skill promote -a codex -y
Cursor
$ npx skills add oliver-kriska/claude-elixir-phoenix --skill promote -a cursor -y
Gemini CLI
$ npx skills add oliver-kriska/claude-elixir-phoenix --skill promote -a gemini-cli -y
GitHub Copilot
$ npx skills add oliver-kriska/claude-elixir-phoenix --skill promote -a github-copilot -y
OpenCode
$ npx skills add oliver-kriska/claude-elixir-phoenix --skill promote -a opencode -y
Windsurf
$ npx skills add oliver-kriska/claude-elixir-phoenix --skill promote -a windsurf -y
name: promote description: Generate X/Twitter release promotion posts with ASCII tables and CodeSnap rendering. Use when writing release posts, promotion tweets, plugin announcements, or preparing social media content for new versions. effort: medium
Generate data-driven X/Twitter posts for plugin releases with ASCII cards ready for CodeSnap screenshots.
Run `/promote vX.Y.Z` after tagging a release. Optionally add a title: `/promote v2.8.0 "LiveView Streams Overhaul"`.
All files go to `scratchpad/x-posts/{version}-release.md` (create directory if needed).
The output file contains three sections: 1. **ASCII Card** — box-drawing table for CodeSnap screenshot 2. **Tweet Thread** — 3-5 tweets in proven format 3. **CodeSnap Command** — exact CLI command to render the card 4. **Fact-Check** — every claim with verifiable data source
Collect these metrics (all are verifiable commands — run them, don't estimate):
| Metric | How to get it | |--------|---------------| | File count + insertions/deletions | `git diff --stat {prev-tag}..{tag}` | | Skill count | `ls plugins/elixir-phoenix/skills/ \| wc -l` | | Agent count | `ls plugins/elixir-phoenix/agents/*.md \| wc -l` | | Iron Law count | Grep for numbered Iron Laws in CLAUDE.md | | Eval scores | `make eval-all` (run it, report actual numbers) | | Changelog entries | Read CHANGELOG.md for this version's section | | Before/after metrics | Depends on release — look for quantifiable changes |
The strongest posts have **before/after comparisons**. Look for changes in CHANGELOG.md that have measurable deltas (line counts, counts of affected files, error rates, coverage numbers).
The card is the visual centerpiece — it gets screenshotted via CodeSnap and attached to tweet 1.
Rules:
Also save the ASCII card as a separate `.txt` file at `scratchpad/x-posts/{version}-table.txt` for CodeSnap input.
See `${CLAUDE_SKILL_DIR}/references/templates.md` for the proven card format and past examples.
Follow the **hook → findings → details → CTA** structure. Read `${CLAUDE_SKILL_DIR}/references/templates.md` for proven tweet patterns.
**Thread rules (from analytics on 7 posts, 6.9K-9.9K views):**
**Voice and tone:**
Output the exact command to render the ASCII card as an image. The card `.txt` file from Step 2 is the input.
Use the config file at `scratchpad/x-posts/codesnap-claude-dark.json` (dark gradient, tight margins, no watermark):
codesnap -f scratchpad/x-posts/{version}-table.txt \
-o scratchpad/x-posts/{version}-card.png \
--config scratchpad/x-posts/codesnap-claude-dark.json \
--title "claude-elixir-phoenix {version}" \
-l textThen render and verify the image looks correct by reading the output PNG.
Every claim in the tweets must have a corresponding entry in the fact-check section:
## Fact-Check
- File stats: `git diff --stat {prev}..{tag}` (output: N files, +X/-Y)
- Eval scores: `make eval-all` output — N skills avg X.XXX, N agents X.XXX
- [claim]: [exact command or file:line that proves it]If a claim can't be verified with a command or file reference, flag it as **UNVERIFIED** and suggest rewording.
When deciding whether a release warrants its own post:
The v2.6.1 post (37 likes, 1.4K views) vs v2.6.0 (150 likes, 5.5K views) demonstrates this — back-to-back releases dilute signal. When in doubt, wait and bundle.
Docs: phxagents.dev -- install guides per runtime, the runtime compatibility matrix, all 26 Iron Laws, and a browsable skill and agent catalog. Claude Code is great.
CONTRIBUTOR TOOL - Track CC changelog, extract new versions since last check, analyze impact on plugin (breaking changes,…
Run an A/B codex review experiment — holistic codex review vs 3 focused dimension passes (security, ecto, liveview) on the branch…
CONTRIBUTOR TOOL - Validate plugin against latest Claude Code documentation. Catches breaking changes, deprecations, discovers…
Guide plugin development workflow — editing skills, agents, hooks, or eval framework in this repo. Use when modifying files in…
CONTRIBUTOR TOOL - Cut a plugin release: bump plugin.json version, finalize CHANGELOG, update README if needed, gate on make ci,…
Deep qualitative analysis of high-signal sessions. Spawns subagents with v2 template, synthesizes patterns, compares against…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.