| name | share-assets |
| description | Generates OG images and HN/GeekNews/LinkedIn/Twitter launch posts from a project README in a casual viral tone (NOT corporate/AI-sounding). Use when launching, posting "Show HN", or "๊ณต์ ์ฉ ์๋ฃ", "๋ฐ์นญ ํฌ์คํธ", "OG ์ด๋ฏธ์ง ๋ง๋ค์ด์ค", "๊ธฑ๋ด์ค ๊ธ", "ํธ์ ์ด์". |
| author | subinium |
| user-invocable | true |
| disable-model-invocation | true |
| allowed-tools | Read, Write, Bash |
| argument-hint | [--platform=hn|gn|linkedin|twitter|all] [--readme=<path>] |
Share Assets
Generate launch/share artifacts from a project README. Casual, human, punchy tone โ NOT corporate or AI-sounding (per global CLAUDE.md "Writing & Communications").
Arguments
--platform=hn|gn|linkedin|twitter|all โ which drafts to generate (default: all)
--readme=<path> โ source README (default: ./README.md)
Tone rules (HARD โ these are non-negotiable per CLAUDE.md)
- NO em dashes used decoratively
- NO excessive exclamation marks (max 1 per post)
- NO filler ("I'm excited to share", "blown away by", "thrilled to announce")
- NO corporate speak ("at scale", "leverage", "synergy", "best-in-class")
- NO AI tells ("As a developer who...", "In today's world,...")
- DO write like a real person on a Friday afternoon
- DO lead with a specific number or surprising fact when one exists
- DO state what's interesting in 1 sentence before any context
Process
1. Read source
- Read the README at
--readme (default ./README.md)
- Extract: project name, one-line description, key feature, install/usage, links, screenshots
- Read
package.json / Cargo.toml for version, repo URL
2. Per-platform draft (parallel writes if --platform=all)
Hacker News (SHARE_HN.md):
- Title: noun phrase, โค80 chars, NO version numbers in title (HN guideline), NO "Show HN:" prefix unless actual launch
- Body: 3-5 sentences. Lead with what's different. End with link.
- Sample:
Title: A Claude Code plugin that verifies refactors with 4 checks before they ship
GeekNews (SHARE_GN.md) โ Korean tech community:
- Title: ํ๊ตญ์ด, 80์ ์ด๋ด, ๋ณธ์ง๋ง
- Body: ๋ณธ๋ฌธ์ ํ๊ตญ์ด. 5-10 bullet points. ์ฒซ ์ค์ "์ ๋ง๋ค์๋๊ฐ". ๋ง์ง๋ง ์ค์ GitHub ๋งํฌ.
- ํค: ์บ์ฃผ์ผํ์ง๋ง ์ ํ. ์๊ธฐ ์๋ ํค ๊ธ์ง.
LinkedIn (SHARE_LINKEDIN.md):
- Body: 3 short paragraphs. Lead with a specific outcome or stat. End with a question or CTA.
- NO hashtag spam (max 3, all relevant)
- NO "I'm humbled to..." โ say what happened directly
Twitter/X (SHARE_TWITTER.md):
- Single tweet โค 270 chars (leave room for link)
- Optional: 4-tweet thread variant if there are 3+ surprising things
- NO image alt text guidance โ handle in OG asset
3. OG image (og.png)
Generate a 1200ร630 social card. Two strategies:
- If
satori + sharp are installed in cwd: emit a .tsx template, run npx tsx generate-og.tsx > og.png
- Otherwise: emit a fallback HTML template (
og.html) the user can screenshot at 1200ร630
Template structure:
- Title (24-48pt, max 2 lines)
- One-line description
- Author handle (top right)
- Repo URL (bottom)
- Background: solid dark + accent color from project (extract from logo if present)
4. Output index
Write SHARE.md summarizing all generated artifacts:
# Share kit โ <project name>
| Platform | File | Notes |
|---|---|---|
| HN | SHARE_HN.md | <title> |
| GeekNews | SHARE_GN.md | <ํ๊ธ ์ ๋ชฉ> |
| LinkedIn | SHARE_LINKEDIN.md | (3 para) |
| Twitter | SHARE_TWITTER.md | (single + 4-tweet thread) |
| OG | og.png | 1200ร630 |
## Suggested posting order
1. Twitter (immediate audience reaction)
2. HN (after 30min if Twitter resonates)
3. GeekNews (Korean audience, parallel to HN)
4. LinkedIn (next day, professional framing)
Constraints (SOFT, but enforce HARD on tone)
- Don't post anywhere โ generate drafts only
- Don't fabricate stats / numbers (HARD)
- Don't include claims the README doesn't support (HARD)
- Korean response per global CLAUDE.md (LinkedIn/HN drafts in English; GN draft in Korean)
- If README is too sparse to generate good copy, return a list of questions instead of bad drafts