ghost-browser

AI-powered browser automation with human-like behavior — LinkedIn auto-posting with images, feed scraping, job applications, web scraping any website, visual demos (MonkeyType 412 WPM), and anti-detection evasion. Use when user asks to automate browser tasks, scrape websites, post to LinkedIn, or build human-like automation.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "ghost-browser" with this command: npx skills add aiagentwithdhruv/skills/aiagentwithdhruv-skills-ghost-browser

Ghost Browser — AI-Powered Browser Automation

The browser moves on its own. No human needed.

GitHub: https://github.com/aiagentwithdhruv/ghost-browser Path: Social-Media-Agent-1.0/browser-automation/ Stack: Python 3, Playwright, OpenAI API


What It Does

Automates any browser action with human-like behavior — LinkedIn posting, engagement, job applications, web scraping, stats tracking, and visual demos.


Schema

Inputs

NameTypeRequiredDescription
LINKEDIN_LI_ATstringFor LinkedInLinkedIn li_at cookie from DevTools
TWITTER_AUTH_TOKENstringFor TwitterTwitter auth_token cookie
TWITTER_CT0stringFor TwitterTwitter ct0 cookie
YOUTUBE_API_KEYstringFor YouTubeGoogle Cloud API key (free)
OPENAI_API_KEYstringFor AI commentsGPT-4o-mini for comment/cover letter generation

Outputs

NameTypeDescription
LinkedIn postActionPublished post with optional image
Feed dataJSONPosts from LinkedIn feed with author, content, URN
Job listingsJSONJobs from LinkedIn/Indeed with title, company, description
Scraped dataJSON/CSVData from any website (smart/full/selector modes)
StatsJSON + MDFollowers, views, connections across all platforms
ScreenshotsPNGAny URL, full page or element

Credentials

ServiceHow to Get
LinkedIn li_atDevTools → Application → Cookies → linkedin.com
Twitter auth_token + ct0DevTools → Application → Cookies → x.com
YouTube APIGoogle Cloud Console → YouTube Data API v3 (FREE)
OpenAIplatform.openai.com → API Keys

Cost

ComponentCost
Playwright/ChromiumFree
YouTube APIFree (10K units/day)
OpenAI (comments)~$0.01 per comment
LinkedIn/TwitterFree (cookie auth)

Scripts Reference

ScriptWhat It DoesExample Command
linkedin_engage.pyLinkedIn CLI — post, feed, engage, apply, connectpython3 linkedin_engage.py post --text "Hello" --image photo.jpg --visible
universal_scraper.pyScrape any website with 6 presetspython3 universal_scraper.py indeed --query "AI engineer" --output jobs.json
stats_tracker.pyPull stats from all platformspython3 stats_tracker.py --notify
demo_wow.py6-stage visual demo (viral)python3 demo_wow.py
monkeytype_flex.pySpeed typing demo (412 WPM)python3 monkeytype_flex.py
job_research.pyBrowse AI jobs on LinkedIn + Indeedpython3 job_research.py
screenshot_tool.pyScreenshot any URLpython3 screenshot_tool.py --url "https://example.com"

Architecture

human_behavior.py          ← Anti-detection layer
    ↓
base_browser.py            ← Playwright wrapper (cookie auth, context manager)
    ↓
├── linkedin_browser.py    ← LinkedIn: post, like, comment, apply, connect
├── linkedin_scraper.py    ← LinkedIn: followers, connections, analytics
├── twitter_scraper.py     ← Twitter: followers, impressions
├── youtube_stats.py       ← YouTube API (no browser)
├── universal_scraper.py   ← Any website (6 presets)
└── screenshot_tool.py     ← Screenshots
    ↓
├── linkedin_engage.py     ← CLI for LinkedIn
├── stats_tracker.py       ← Master orchestrator
├── demo_wow.py            ← Viral demo
└── job_research.py        ← Job market research

Human-Like Behavior Rules

BehaviorImplementation
Typing40-55 WPM, char-by-char, 3-5% typo rate with backspace correction
DelaysGaussian distribution (not uniform) — clusters around midpoint
ScrollingSinusoidal speed curve — slow start, fast middle, slow end
ClickingRandom offset from center (not dead-center like bots)
ReadingWait time proportional to word count
Breaks30-120 sec pause every 15-25 actions
ViewportRandom from pool: 1440x900, 1920x1080, 1536x864, etc.

LinkedIn Post Flow

1. Navigate to feed
2. Click "Start a post"
3. Find Quill editor (contenteditable div)
4. Short posts (<200 chars) → human_type with typos
   Long posts (>200 chars) → insert_text (paste)
5. Attach image → file input upload
6. Click "Next" (LinkedIn image editor step)
7. Click "Post" → confirmed

Composable With

SkillHow
scrape-leadsScrape → enrich with ghost-browser LinkedIn data
instantly-campaignsScrape leads → cold email
gmaps-leadsGoogle Maps preset in universal_scraper
cross-niche-outliersResearch content → auto-post to LinkedIn
upwork-applyJob research data feeds Upwork proposals
send-telegramStats tracker sends notifications

Revenue Use Cases

Use CaseRevenue
LinkedIn automation service$500-2000/mo per client
Web scraping gigs (Fiverr/Upwork)$200-1000 per project
LinkedIn ghostwriting + auto-post$500-1500/mo per client
AI job application bot$50-200 per person
Lead generation (scrape → email)$500-2000/mo per client

Quick Start

cd Social-Media-Agent-1.0/browser-automation
pip install -r requirements.txt
playwright install chromium
cp .env.example .env  # Add your cookies

# Run the viral demo
python3 demo_wow.py

# Post to LinkedIn
python3 linkedin_engage.py post --text "Hello world" --visible

# Scrape Indeed jobs
python3 universal_scraper.py indeed --query "AI engineer" --output jobs.json

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

image-to-video

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

excalidraw-visuals

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

gmaps-leads

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

whisper-voice

No summary provided by upstream source.

Repository SourceNeeds Review