publisher
NewContent distribution toolkit - X/Twitter threads, LinkedIn posts, Medium articles. Accepts any input format (markdown, PDF, URL, etc.)
Overview
 
Turn your blog posts into social media content - automatically
Stop manually converting your blog posts into tweets, LinkedIn posts, and Medium articles. Growth Kit does it for you with a single command.
š Zero Dependencies: Works in Python, Rust, Go, ANY repo - no Node.js/npm required!
Works with: Markdown files, PDFs, blog URLs, or any text content.
What You Can Do
š¦ Generate [X/Twitter](https://x.com) threads - Copy-pastable tweets with optimal formatting š¼ Create [LinkedIn](https://linkedin.com) posts - Professional posts ready to publish š Convert to [Medium](https://medium.com) - Medium-ready articles with proper formatting š Generate [Dev.to](https://dev.to) RSS - Auto-import blog posts to Dev.to š Set up [Vercel Analytics](https://vercel.com/analytics) - Add analytics in seconds
All from a single command. No configuration needed.
Quick Start
1. Requirements
Claude Code (required): Install here - it's free
That's it! No other dependencies.
- ā¢ā Works in ANY repo: Python, Rust, Go, JavaScript, Java, C++, etc.
- ā¢ā No Node.js/npm required - Claude uses only built-in tools
- ā¢ā No package.json needed - Works in non-JavaScript projects
- ā¢ā
Universal: Uses only
bash,curl,sed,grep(standard everywhere) - ā¢ā Just needs blog content (markdown files, PDFs, or URLs)
2. Install Growth Kit
Open Claude Code in your project and run:
# Add Growth Kit marketplace
/plugin marketplace add kanaerulabs/growth-kit
# Install plugins
/plugin install publisher
/plugin install analytics3. Updating Growth Kit
Get the latest features and fixes:
# Update the marketplace
/plugin marketplace update kanaerulabs/growth-kit
# Reinstall plugins to get updates
/plugin uninstall publisher
/plugin install publisherOr update from Claude Code UI:
- Open Claude Code settings
- Go to "Plugins" tab
- Find "growth-kit-marketplace"
- Click "Update" button
- Reinstall plugins
For detailed instructions with screenshots: Claude Code Plugin Management
4. Configure (Optional - LinkedIn API Only)
X/Twitter, Medium, and Dev.to need ZERO configuration - they just work!
For LinkedIn API automated posting (optional):
cp .env.example .env
# Edit .env with your LinkedIn app credentials from https://www.linkedin.com/developers/apps
LINKEDIN_CLIENT_ID=your_client_id
LINKEDIN_CLIENT_SECRET=your_secret
BLOG_BASE_URL=https://yourblog.comWithout API setup: LinkedIn command still generates the post content - you just copy-paste manually.
4. Use It
# Generate X/Twitter thread from your blog post
/publisher:x my-blog-post
# Or from any markdown file
/publisher:x path/to/article.md
# Or from a URL
/publisher:x https://yourblog.com/article
# Generate Dev.to RSS feed (one-time setup)
/publisher:devto
# Create content for ALL platforms at once
/publisher:all my-blog-postThat's it! Growth Kit will:
- Find and read your content
- Generate platform-specific formats
- Open preview files in your browser
Note: All commands work in ANY repo type. Claude generates everything using only Read, Write, and Bash tools!
All Commands
Content Distribution
| Command | What It Does | Example |
|---|---|---|
/publisher:x | X/Twitter thread | /publisher:x my-post |
/publisher:linkedin | LinkedIn post | /publisher:linkedin my-post |
/publisher:linkedin | LinkedIn with custom file | /publisher:linkedin my-post path/to/image.png |
/publisher:medium | Medium article | /publisher:medium my-post |
/publisher:devto | Dev.to RSS feed | /publisher:devto |
/publisher:all | All platforms | /publisher:all my-post |
Analytics
| Command | What It Does |
|---|---|
/analytics:vercel | Set up Vercel Analytics |
Language Support
Add ja for Japanese, en for English (default):
/publisher:x my-post ja # Japanese
/publisher:x my-post en # EnglishVisual Examples
See exactly what you get with each command:
X/Twitter Posts
What you get - THREE versions in one command:
- Thread - 5-8 tweet thread optimized for engagement
- Single Long - Structured format with sections (Premium accounts)
- Single Short - Concise ~280 char announcement
Features:
- ā¢Beautiful HTML preview with tab switcher
- ā¢Copy buttons for each format
- ā¢Character counts for all versions
- ā¢Choose the format that fits your audience
- ā¢Automatically opens X.com for posting
LinkedIn Post
!LinkedIn PDF Attachment Images and PDFs are automatically uploaded and attached to your post
What you get:
- ā¢Professional draft created via LinkedIn API
- ā¢Automatic media upload - auto-detects and uploads blog diagrams
- ā¢Custom file support - attach your own images or PDFs
- Usage: /publisher:linkedin my-post en path/to/file.pdf - Formats: PNG, JPG, JPEG, PDF
- ā¢Ready to review and post with one click
- ā¢Proper hashtags and formatting
- ā¢Automatically opens LinkedIn.com in browser
Medium Article
What you get:
- ā¢Clean HTML preview with one-click copy
- ā¢Image upload marker for blog diagram
- ā¢Marker shows exact file path for easy uploading
- ā¢Medium-ready formatting
- ā¢Opens Medium editor automatically
Dev.to RSS Feed
What you get:
- ā¢Complete RSS feed with all blog posts
- ā¢HTML-encoded content for Dev.to compatibility
- ā¢One-time setup for automatic imports
- ā¢All future posts sync automatically
How It Works
Universal Input
Growth Kit accepts any content format:
ā
Blog post slug (e.g., 2025-10-13-my-post) ā
Markdown file (e.g., docs/article.md) ā
PDF document (e.g., whitepaper.pdf) ā
Blog URL (e.g., https://yourblog.com/post) ā
Plain text file (e.g., notes.txt) ā
HTML file (e.g., export.html)
No configuration needed. Growth Kit auto-detects:
- ā¢Your blog structure
- ā¢Your frontmatter format
- ā¢Your image locations
- ā¢Your content language
Works in any repo type (Python, JavaScript, Rust, Go, etc.) - Claude uses only built-in tools (Read, Write, Bash) to generate all content.
What You Get
X/Twitter:
- ā¢Claude generates thread directly from blog content
- ā¢Opens HTML preview with copy buttons
- ā¢5-8 post thread with optimized character counts
- ā¢No dependencies - pure Claude tools (Read, Write, Bash)
LinkedIn:
- ā¢Claude generates professional post from blog
- ā¢Uses curl to post via LinkedIn API (optional)
- ā¢Or generates copy-pastable text for manual posting
- ā¢No npm/Node.js needed - pure bash/curl
Medium:
- ā¢Claude converts markdown to Medium format
- ā¢Creates HTML preview with one-click copy
- ā¢Image upload markers with file paths
- ā¢Pure Claude tools - no external scripts
Dev.to:
- ā¢Claude generates RSS feed from all blog posts
- ā¢Creates
public/rss-devto.xmlusing Write tool - ā¢Pure bash - no dependencies
Examples
Example 1: Quick X Thread
/publisher:x 2025-10-13-my-postWhat happens:
- Searches your codebase for the blog post
- Extracts key insights
- Generates engaging 6-post thread
- Opens HTML with copy buttons
- You copy-paste to X/Twitter
Time saved: ~30 minutes of manual work
Example 2: All Platforms at Once
/publisher:all my-articleWhat happens:
- Generates X/Twitter thread
- Generates LinkedIn post
- Generates Medium article
- Generates Dev.to RSS feed
- Opens all previews in browser tabs
Time saved: ~2 hours of manual work
Example 3: Dev.to Auto-Import
/publisher:devtoWhat happens:
- Scans all your blog posts
- Converts markdown to HTML
- Generates RSS feed:
public/rss-devto.xml - Shows setup instructions
One-time setup:
- Deploy your site (make RSS publicly accessible)
- Add RSS URL to https://dev.to/settings/extensions
- New posts auto-import to Dev.to forever
Time saved: Hours per post + automatic future syncing
Example 4: LinkedIn with Custom File
# Auto-generate PDF from blog diagrams (default)
/publisher:linkedin my-post
# Or attach your own image/PDF
/publisher:linkedin my-post path/to/custom-image.png
/publisher:linkedin my-post path/to/report.pdfWhat happens:
- Generates LinkedIn post from blog content
- Attaches specified file (image or PDF)
- Creates draft in LinkedIn
- Opens LinkedIn for review
Supported file types:
- ā¢Images:
.png,.jpg,.jpeg - ā¢Documents:
.pdf
How It Really Works Under the Hood
No magic, no dependencies - just Claude using its built-in tools:
- Read tool: Finds and reads your blog posts (markdown, PDF, URL)
- Claude's LLM: Generates platform-specific content from your blog
- Write tool: Creates HTML previews, RSS feeds, etc.
- Bash tool: Uses
curlfor APIs,openfor browsers
For LinkedIn API (optional):
- ā¢Uses
curlto call LinkedIn REST API - ā¢Pure bash/curl - works in Python repos, Rust repos, anywhere!
- ā¢No jq, no Node.js, no npm
That's it! The "scripts" are actually just Claude orchestrating its tools based on the command instructions.
Why Growth Kit?
Built by [Kanaeru Labs](https://www.kanaeru.ai) while building Kanaeru AI (our product).
We needed to distribute our blog content across platforms efficiently. So we built this.
Key insights we learned:
- ā¢X/Twitter threads need hooks, not summaries
- ā¢LinkedIn needs data points, not fluff
- ā¢Medium needs clean markdown, not complex HTML
- ā¢Manual conversion wastes hours every week
Now you can benefit from what we learned.
Advanced Usage
Custom Blog Structures
Growth Kit adapts to YOUR blog structure:
ā
Gatsby blogs (content/blog/)
ā
Next.js blogs (posts/)
ā
Astro blogs (src/content/)
ā
Hugo blogs (content/posts/)
ā
Custom setups (any markdown structure)No configuration required. It just works.
Multi-Language Blogs
If you have both English and Japanese content:
/publisher:x my-post # Auto-detects language from path
/publisher:x my-post ja # Force Japanese
/publisher:x my-post en # Force EnglishTroubleshooting
Q: Command not found? A: Make sure you installed the plugin: /plugin install publisher
Q: Can't find my blog post? A: Use full path: /publisher:x src/content/blog/my-post.md
Q: Works in Python/Rust/Go repos? A: Yes! ALL commands work in any repo type. Claude uses only standard tools (bash, curl, sed) - no language-specific dependencies.
Q: Want different output format? A: The commands are just markdown files in /commands. Edit them!
Q: Need help? A: Open an issue: https://github.com/kanaerulabs/growth-kit/issues
Contributing
Growth Kit grows as Kanaeru Labs learns. Contributions welcome!
Easy contributions:
- ā¢Add new platform commands (Reddit, Bluesky, etc.)
- ā¢Improve prompt templates
- ā¢Add examples and documentation
- ā¢Test with different blog structures
License
MIT License - Use it however you want!
Support
- ā¢Issues: https://github.com/kanaerulabs/growth-kit/issues
- ā¢Email: [email protected]
- ā¢Website: https://www.kanaeru.ai
Built with ā¤ļø by [Kanaeru Labs](https://www.kanaeru.ai)
We build [Kanaeru AI](https://www.kanaeru.ai). While building it, we learn. Growth Kit is what we learned about content marketing automation.
Install & Usage
mkdir -p .claude/skillsmkdir -p .claude/skills && curl -o .claude/skills/publisher.md https://raw.githubusercontent.com/kanaerulabs/growth-kit/main/SKILL.md/publisherFrequently Asked Questions
What is publisher?
Content distribution toolkit - X/Twitter threads, LinkedIn posts, Medium articles. Accepts any input format (markdown, PDF, URL, etc.)
How to install publisher?
To install publisher, create the .claude/skills directory in your project, then run the curl command to download the skill file. Once installed, invoke it in Claude Code with /publisher.
What is publisher best for?
publisher is a community categorized under Documentation. It is designed for: blog, marketing, social-media, twitter, linkedin, medium, content. Created by Kanaeru Labs.