AI content automation system built on Claude Code. Generates tweets, LinkedIn posts, and newsletters in your voice — with built-in research, engagement tracking, and a feedback loop that learns what works.
Not a writing template. An automation system with a tweet bot CLI, engagement scraping, podcast transcription pipeline, and AI writing decontamination.
Scrape engagement → Research news → Generate content → Humanize → Approve → Post
↑ |
└────────────────── feedback loop ───────────────────────────────────┘
- Build your voice profile — Feed it your tweets, podcast episodes, or writing samples. It extracts patterns, phrases, tone, and style.
- Set your context — Fill in the template with your voice, audience, and business info. One file, markdown, done.
- Generate content — Skills handle specific content types (tweets, LinkedIn, newsletters). Each reads your context and produces content in your voice.
- Humanize — Every piece of content runs through a 24-pattern AI writing detector that strips out the robot.
- Post and learn — Scrape engagement data from your posts. The system tracks what resonates and adjusts.
git clone https://github.com/navotvolkgroundup/nabot.git
cd nabot
pip install feedparser openai-whisper camoufoxCopy the template and fill it in:
cp context/TEMPLATE.md context/voice.md
# Or use JSON if you prefer structured data — see TEMPLATE.md for sections# Install Cookie-Editor browser extension
# Go to x.com, log in
# Export cookies → save as browser_cookies.json
python3 import_cookies.pyexport X_HANDLE=your_twitter_handle
export X_PERSONAL_HANDLE=your_main_handle
export PODCAST_RSS_URL=https://your-rss-feed-urlOpen Claude Code in this directory:
"write today's tweets" → x-tweet skill
"write a linkedin post" → linkedin-post skill
"write a newsletter" → thought-leadership skill
nabot/
├── CLAUDE.md # System instructions for Claude
├── context/ # Your context (voice, audience, business)
│ ├── TEMPLATE.md # Start here — fill this in
│ ├── voice.json # Your voice profile (gitignored)
│ ├── audience.json # Your audience (gitignored)
│ └── business-*.json # Your business context (gitignored)
├── .claude/
│ ├── skills/ # Content generation skills
│ │ ├── x-tweet/ # Tweet generation with research pipeline
│ │ ├── linkedin-post/ # LinkedIn post generation
│ │ ├── x-reply/ # Reply generation with research + humanizer
│ │ ├── humanizer/ # AI writing pattern removal (24 patterns)
│ │ └── thought-leadership/ # Newsletter writing
│ └── agents/ # Specialized agents
│ ├── researcher-agent.md # Parallel news research
│ ├── voice-analyzer.md # Voice analysis from content
│ ├── newsletter-agent.md # Newsletter coordination
│ └── book-agent.md # Book outline generation
├── knowledge/ # Your content and data (gitignored)
│ ├── engagement/ # Engagement logs and metrics
│ ├── content/ # Published content
│ ├── drafts/ # Work in progress
│ └── notes/ # Ideas and research
├── podcast/ # Podcast voice analysis pipeline
│ ├── pipeline.py # Download → transcribe → analyze
│ ├── download_episodes.py # RSS feed downloader
│ ├── transcribe.py # Whisper transcription (local)
│ └── analyze_voice.py # Extract voice patterns from transcripts
├── bot.py # Tweet bot CLI (generate/approve/post)
├── scrape_profile.py # Scrape engagement from your X profile
├── scrape_replies.py # Scrape replies to your tweets
├── scrape_personal.py # Scrape personal account for voice analysis
└── import_cookies.py # Import browser cookies for X.com auth
The CLI for managing your tweet pipeline:
python3 bot.py generate # Generate tweets via Claude
python3 bot.py add "text" # Add a tweet to the approval queue
python3 bot.py approve # Interactive review (approve/reject/edit)
python3 bot.py post # Post approved tweets to X.com
python3 bot.py analyze # Scrape engagement metrics
python3 bot.py status # Show queue status
python3 bot.py replies # Scrape replies to your tweets
python3 bot.py reply-approve # Review generated replies
python3 bot.py reply-post # Post approved replies
python3 bot.py reply-status # Show reply queue statusGenerates 3 tweets/day with a mandatory pipeline:
- Scrape engagement on past tweets
- Research current news (3 parallel agents)
- Write a mix of news-reactive and original tweets
- Humanize before presenting
Pattern recognition, contrarian takes, tactical playbooks, ecosystem commentary. Humanized.
Generates replies to people who respond to your tweets. Reads their reply, matches language (Hebrew/English), researches if needed, humanizes before sending. All replies go through approval before posting.
Strips 24 AI writing patterns from all content. Based on Wikipedia's "Signs of AI writing" guide. Runs automatically as the final step on everything.
Newsletters (800-1,500 words) with subject lines, skimmable headers, actionable content.
Build your voice profile from multiple sources:
python3 scrape_personal.py your_handle
# Then ask Claude to analyze and update your voice profileexport PODCAST_RSS_URL=https://your-rss-feed
python3 podcast/pipeline.py # Download + transcribe with Whisper
python3 podcast/analyze_voice.py # Extract voice patternsUse the voice-analyzer agent — paste or screenshot your top-performing content and it extracts patterns.
- Claude Code
- Python 3.10+
pip install feedparser openai-whisper camoufox- Browser with Cookie-Editor extension (for X.com auth)
MIT