agentleFS
aiagentwithdhruvaiagentwithdhruv/skills/ghost-browser/SKILL.md

ghost-browser

Skill16 starsChanged 9 months agoMITView on GitHub

Manus-level AI browser agent that drives Dhruv's REAL logged-in Chrome (any profile — AIV, Onsite, etc.) via natural-language commands. Persistent, human-paced, un-blockable (real session), LLM-driven so it survives obfuscated selectors. Use when Dhruv says "control my AIV / control my <profile>", or asks to browse, search, apply, engage, or automate anything in his real browser.

  • Reads credentials
  • Installs packages

The file

We split this skill into the rules it gives an agent

1 rule. About 0 are common, 0 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Safe on the brand account: never clicks a final Submit / Post / Send / Apply-confirm, or reacts to >3 posts per run.

    line 22

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Ghost Browser — Agentic control of Dhruv's real Chrome

You give it a goal in plain English. It drives his actual logged-in Chrome like a human — scrolling, clicking, typing, reading — and stops before any irreversible public action.

Runtime lives at: Social-Media-Agent-1.0/browser-automation/ Engine: browser-use (0.13.x) + Playwright CDP attach + real Google Chrome Brain: OpenAI gpt-5.4-mini (actions) + gpt-5.4 (accurate page reading), keys in that folder's .env


Why this beats normal automation

  • Un-blockable: drives your REAL Chrome with your REAL logged-in sessions + residential IP — same trick Manus uses. Not a headless bot, so bot-detection has nothing to catch.
  • Persistent: Chrome opens ONCE and stays open. No reopening tabs per action.
  • Human-paced: small scrolls, brief pauses, deliberate steps — fast where safe, slow where blocking is a risk.
  • LLM-driven: you state the goal; it decides the clicks. Survives LinkedIn/any site renaming its buttons (no brittle selectors).
  • Safe on the brand account: never clicks a final Submit / Post / Send / Apply-confirm, or reacts to >3 posts per run. It fills everything and STOPS for Dhruv's click. Override with --allow-submit.

How to run it (two steps)

Step 1 — attach to a profile (once per session). Quits Chrome, clean-copies the login, relaunches on the debug port. His everyday Chrome is untouched (works on a copy).

cd "Social-Media-Agent-1.0/browser-automation"
./.venv/bin/python ghost_launch.py aiv     # or: onsite | msbc | dhruv | agi | default
# waits for "✅ READY"

Step 2 — command it in plain English (repeat as many times as you want; Chrome stays open).

./.venv/bin/python ghost_agent.py "open Jobs, search Solution Consultant remote India, list the top 5 with company + location"
./.venv/bin/python ghost_agent.py "scroll my feed and draft a thoughtful comment on the top AI post — do NOT post it"
./.venv/bin/python ghost_agent.py "open this job <url>, fill the application with my details, stop before Submit"

Profile map (name → Chrome profile)

sayprofileaccount
aivProfile 6Ai with Dhruv (aiwithdhruv@gmail.com) — default
dhruvProfile 2Dhruv Tomar
onsiteProfile 4dhruv.tomar@onsiteteams.com
msbcProfile 12MSBC
agiProfile 8agiwithdhruv@gmail.com

Safety model (do not weaken without Dhruv's explicit OK)

  • Reading, scrolling, navigating, searching, opening posts, and typing into comment/message/application fields = automated.
  • Final public/irreversible actions (Post, Send, Submit, Publish, Connect, >3 reactions/run) = Dhruv clicks, unless the command includes --allow-submit.
  • This protects the brand account from a ToS flag mid-job-hunt.

Files

filerole
ghost_launch.pyquit + clean-copy profile + relaunch Chrome on CDP port 9222
ghost_agent.pythe LLM-driven agent (natural-language task → human-paced actions)
ghost_chrome.pylow-level Playwright CDP driver (for scripted, non-LLM control)
.envOpenAI + Euri keys (gitignored)

Notes / gotchas

  • Chrome 136+ blocks the debug port on the normal profile dir — that's why ghost_launch.py uses a clean copy under .chrome-cdp-<name>/ (gitignored).
  • Set a different brain with GHOST_MODEL / GHOST_READ_MODEL env vars. Euri keys are present for cost-sensitive product runs.
  • The engine has a built-in LLM-judge that grades each run — watch for its verdict to catch misreads.
  • Requires the runtime built: python3 -m venv .venv && .venv/bin/pip install browser-use playwright && .venv/bin/playwright install chromium.

Alternative: Claude for Chrome (official, complementary)

For interactive "Claude, do this in my browser" moments, the official Anthropic Claude for Chrome extension (Max plan) is the safest zero-code option — records/repeats workflows, schedules tasks, uses live sessions. Ghost Browser is the scriptable, ownable version for automation Dhruv controls.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.