skills/10x-chat/SKILL.md
Chat with web AI agents (ChatGPT, Gemini, Claude, Grok, Perplexity, NotebookLM) via browser automation. Use when stuck, need cross-validation, want a second-model review, need image generation, want deep research, or want to generate video (Google Flow/Veo, Dreamina/Seedance) from web AI tools.
npx skillsauth add realmikechong/10x-chat 10x-chatInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use 10x-chat to send prompts to web-based AI agents via automated browser sessions. Supports chat, image generation, deep research, and video generation. Sessions use a shared persisted profile by default.
10x-chat uses an HTTP browser daemon — a persistent local Node.js server wrapping Playwright:
~/.10x-chat/browser-daemon.json (port, PID, bearer token, chmod 600)No install needed. Always use @latest:
npx 10x-chat@latest --version
Use npx (not bunx — symlink conflicts in parallel).
| Provider | Chat | Image | Research | Video | Models | Notes |
|----------|------|-------|----------|-------|--------|-------|
| chatgpt | ✅ | ✅ (DALL-E) | ✅ | ❌ | — | Runs headed by default (anti-bot) |
| gemini | ✅ | ✅ (Imagen) | ✅ | ❌ | Fast, Thinking (default), Deep Think (Ultra tool), Pro | --model switches mode |
| claude | ✅ | ❌ | ❌ | ❌ | — | Runs headed by default |
| grok | ✅ | ✅ | ❌ | ❌ | — | UI changes often, use @latest |
| perplexity | ✅ | ❌ | ✅ | ❌ | — | Best for research with citations |
| notebooklm | ✅ | ❌ | ❌ | ❌ | — | Add sources first, then chat |
| flow | ❌ | ❌ | ❌ | ✅ (Veo) | Omni Flash (default), Veo 3.1 Lite/Fast/Quality | Google login (shared with Gemini) |
| dreamina | ❌ | ❌ | ❌ | ✅ (Seedance) | Seedance 2.0 Fast (default)/2.0; 1.x often plan-locked | login dreamina (CapCut); text + image-to-video |
# Login (one-time per provider — opens browser for auth)
npx 10x-chat@latest login chatgpt
npx 10x-chat@latest login gemini
npx 10x-chat@latest login claude
npx 10x-chat@latest login grok
npx 10x-chat@latest login perplexity
npx 10x-chat@latest login notebooklm
# Chat
npx 10x-chat@latest chat -p "Review this code for bugs" --provider chatgpt --file "src/**/*.ts"
npx 10x-chat@latest chat --provider gemini --file "path/to/prompt.md" -p "Complete this task"
npx 10x-chat@latest chat --provider gemini --model Pro -p "Solve this math problem"
npx 10x-chat@latest chat --provider gemini --model "Deep Think" -p "Solve this hard problem"
# Multi-step provider delegate for external AI callers (JSONL over stdin/stdout)
npx 10x-chat@latest delegate gemini --model Pro
# then send JSON lines: {"action":"status"}, {"action":"submit","prompt":"..."}, {"action":"capture"}, {"action":"close"}
# Image generation
npx 10x-chat@latest image -p "A fox astronaut in space" --provider chatgpt
npx 10x-chat@latest image -p "Watercolor landscape" --provider gemini --save-dir ./images
# Deep research (long-form, 5-10 min)
npx 10x-chat@latest research -p "Latest breakthroughs in quantum computing" --provider perplexity
npx 10x-chat@latest research -p "Hard technical research" --provider gemini --model "Deep Think"
npx 10x-chat@latest research -p "Market analysis of EVs" --provider chatgpt --timeout 600000
# Video generation (Flow / Veo default, or Dreamina / Seedance)
npx 10x-chat@latest video -p "Drone shot over snowy peaks at sunrise" --provider flow
npx 10x-chat@latest video -p "She walks, TikTok style" --provider flow --orientation portrait --duration 8 --image ref.png # 9:16 i2v
npx 10x-chat@latest video -p "Neon street, rain" --provider flow --model "Veo 3.1 - Quality" --duration 10
npx 10x-chat@latest login dreamina # one-time CapCut login for Dreamina
npx 10x-chat@latest video -p "A paper boat in a rain gutter, macro" --provider dreamina --aspect 9:16 --dreamina-duration 4
npx 10x-chat@latest video -p "The glowing orb floats up" --provider dreamina --image ref.png --ref-mode omni
# Dry run / clipboard
npx 10x-chat@latest chat --dry-run -p "Debug this error" --file src/
npx 10x-chat@latest chat --copy -p "Explain this" --file "src/**"
# Provider chat history + local session management
npx 10x-chat@latest history --provider gemini
npx 10x-chat@latest history --provider all --limit 10
npx 10x-chat@latest status
npx 10x-chat@latest session <id> --render
# NotebookLM
npx 10x-chat@latest notebooklm list
npx 10x-chat@latest notebooklm create "My Research"
npx 10x-chat@latest notebooklm add-url <id> https://...
npx 10x-chat@latest notebooklm add-file <id> ./paper.pdf
npx 10x-chat@latest notebooklm sources <id>
npx 10x-chat@latest notebooklm summarize <id>
# Install bundled skill to coding agent
npx 10x-chat@latest skill install
Use delegate <provider> when an external AI caller needs flexible multi-step control instead of a single one-shot chat, image, or research command. It opens one provider tab, keeps it alive, reads JSONL commands from stdin, and emits JSONL responses on stdout.
npx 10x-chat@latest delegate gemini --model Pro <<'EOF'
{"id":1,"action":"status"}
{"id":2,"action":"submit","prompt":"Draft three launch angles for this product."}
{"id":3,"action":"capture","timeoutMs":600000}
{"id":4,"action":"close"}
EOF
printf '%s\n' '{"action":"chat","model":"Thinking","prompt":"Review this pasted plan."}' \
| npx 10x-chat@latest delegate gemini
Actions:
status: return url/title/login stategoto: navigate with { "url": "https://..." }selectModel: provider UI model/mode switch with { "model": "Pro" }attach: attach files with { "files": ["path/to/file.png"] }submit: submit prompt without waitingcapture: wait for and extract the current responsechat: select optional model/files, submit, then captureeval: run a page evaluation script for inspection/debuggingclose: close the browser tab and end the delegateFlags: --model, --headed, --timeout <ms>, --isolated-profile, --no-login-check.
HTTP daemon makes parallel runs stable. All providers share one Chrome:
# Login all once
npx 10x-chat@latest login gemini
npx 10x-chat@latest login claude
npx 10x-chat@latest login chatgpt
# Run concurrently — each opens a tab in the shared daemon
npx 10x-chat@latest chat --provider gemini -p "Your prompt" --file context.md &
npx 10x-chat@latest chat --provider claude -p "Your prompt" --file context.md &
npx 10x-chat@latest chat --provider chatgpt -p "Your prompt" --file context.md &
wait
--headed flag on any providerThe daemon stores the headless/headed mode in its state file. If you switch modes, the daemon restarts automatically.
Shared (default): One browser profile, all providers share cookies. Login once per Google account covers Gemini + NotebookLM.
Isolated: Separate profile per provider (backward compat): --isolated-profile
# Migrate from isolated to shared
npx 10x-chat@latest migrate
# Check daemon state
cat ~/.10x-chat/browser-daemon.json
# Force stop daemon
# (CLI calls stopDaemon() on Ctrl+C automatically)
kill $(cat ~/.10x-chat/browser-daemon.json | python3 -c "import sys,json; print(json.load(sys.stdin)['pid'])")
@latest: ensures newest fixeslogin <provider> once per provider. Sessions persist in ~/.10x-chat/profiles/--headed if a provider is flaky (Grok especially)--timeout 600000 for 10-min research jobs--timeout 120000 when needed--image (Dreamina) or --start-frame/--end-frame with --mode frames (Flow)--duration 4|6|8|10 sets clip length in seconds (default is whatever Flow's UI defaults to, currently 8s)--dreamina-duration (not --duration) to avoid conflict with Flow's flagSeedance 2.0 Fast (cheapest) and 2.0 are generally available; the CLI errors clearly if a requested model is locked--dry-run to preview what will be sent@latest. Use --headed for best reliability--headed before assuming a hard failuretools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.