From harlan-claude-code
Social media content strategy and tweet crafting. Trigger on "what should I tweet", "help me post about", "tweet this release", "social presence", "what to post", "promote this", "launch tweet", "content ideas".
npx claudepluginhub harlan-zw/harlan-claude-code --plugin harlan-claude-codeThis skill uses the workspace's default tool permissions.
Research what works, find content opportunities from your recent work, and craft high-performing tweets. Delegates to `/tweet` for final polish and screenshot wrapping.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Research what works, find content opportunities from your recent work, and craft high-performing tweets. Delegates to /tweet for final polish and screenshot wrapping.
# Log content ideas that were used
echo "$(date -I) | MODE | TOPIC | FINAL_TWEET_SUMMARY" >> "${CLAUDE_PLUGIN_DATA}/social-presence.log"
Read prior logs to avoid repeating angles and to track what content types the user gravitates toward.
$ARGUMENTS determines the mode:
Find tweetable moments from recent work. Run these in parallel:
# Recent merged PRs across all repos (last 7 days)
gh search prs --author=@me --merged --sort=updated --limit=20 -- "merged:>=$(date -d '7 days ago' +%Y-%m-%d)" 2>/dev/null || gh search prs --author=@me --merged --sort=updated --limit=20
# Recent releases
gh search releases --owner=harlan-zw --sort=created --limit=10 2>/dev/null
# Recent commits on key projects
for repo in harlan-zw/nuxt-seo harlan-zw/unhead harlan-zw/unlighthouse; do
echo "=== $repo ==="
gh api "repos/$repo/commits?per_page=5&since=$(date -d '7 days ago' +%Y-%m-%dT00:00:00Z)" --jq '.[].commit.message' 2>/dev/null
done
Use WebSearch to check:
For each potential topic, score on:
| Factor | Weight | Description |
|---|---|---|
| Audience size | 3x | Does this topic interest people beyond existing followers? |
| Visual potential | 2x | Can this be shown, not just told? |
| Timeliness | 2x | Is there a reason to post NOW vs next week? |
| Uniqueness | 1x | Can only you credibly post this? |
Present the top 3-5 ideas as a ranked table:
| # | Topic | Hook | Visual | Why now |
For each idea, include:
Ask the user which to develop. Then proceed to Craft Mode.
For major releases, version bumps, new projects. The goal: maximize reach for a single moment.
Read whatever the user provides (release notes, changelog, PR list, repo). Identify:
Use WebSearch to find 2-3 recent successful launch tweets from accounts in the same ecosystem. Analyze:
Check these accounts for recent launch patterns:
Present 3 tweet approaches with different angles:
For each approach include:
Based on chosen approach, suggest specific visuals:
/tweet skill's screenshot wrapper for terminal/editor screenshotsIf the user has a screenshot or wants one wrapped, hand off to /tweet for the screenshot wrapping step.
For specific topics the user wants to post about.
Quickly check:
Reference references/playbook.md for content rules. Key principles:
Produce 3 variations:
For each show:
Once the user picks a direction, offer to:
/tweet for final polish and screenshot wrappingEvery tweet must pass: "If I saw this in my timeline and didn't follow this person, would I care?" If not, reframe around the reader's benefit.
Over any 2-week period, aim for this mix:
A mediocre tweet posted is better than a perfect tweet drafted. The goal is 4+ posts per week. Suggest the user batch-create content on weekends for the coming week.
Before finalizing any tweet, verify a visual is planned:
/tweet wrapper for polish)If no visual is obvious, suggest a code snippet screenshot as the default.