/ck:chrome-profile — Browser automation trên Chrome profile thật
Kit: CK Engineer v2.20.1-beta.14 · Skill version: 1.0.0 · Category: dev-tools · Updated: 2026-10-05 Skill + CLIchrome-profile để agent thao tác trên Chrome profile thật hằng ngày của user: đúng Google account, cookie, workspace, tenant, session đã login. CLI mở URL trong profile chỉ định, gắn fragment #cdp-profile=<key>&cdp-open=<token> để agent chọn đúng tab qua Chrome DevTools MCP.
Đây không phải lựa chọn mặc định cho browser testing. Không cần state profile thật → dùng
/ck:agent-browser, /ck:web-testing hoặc Playwright của dự án. Chỉ dùng skill này khi danh tính profile quan trọng.Khi nào dùng
- Flow cần cookie / session đã login trong Chrome hằng ngày (admin, dashboard SaaS, GitHub org…)
- Cần đúng Google account / tenant / workspace trong nhiều profile Chrome
- Cần target profile tất định — key theo email hoặc tên hiển thị, không theo tên thư mục
Profile 17
Cài đặt lần đầu
$XDG_CONFIG_HOME/chrome-profile/profiles.json (mặc định ~/.config/chrome-profile/profiles.json) — sống sót qua update skill/kit. Mỗi key map theo email, name_contains, hoặc dir (escape hatch, không portable):
Cú pháp CLI
bash "$SKILL_ROOT/scripts/uninstall.sh" (thêm --purge để xoá luôn profiles.json).
Output open --json
bind_selector là selector chính; profile_marker chỉ để kiểm chéo.
Runtime workflow
1
Quyết định có cần profile thật không
Không cần cookie/account/tenant → dùng
/ck:agent-browser hoặc /ck:web-testing.2
Mở tab bằng CLI
chrome-profile open --json <key> <url> — không dùng MCP new_page / navigate_page để tạo tab cho việc theo profile.3
Bind tab qua MCP
List pages → chọn tab có URL chứa đúng
bind_selector (cdp-open=<token>) → kiểm URL cũng chứa cdp-profile=<key>.4
Thao tác
Snapshot, click, evaluate, screenshot, trích text qua MCP bridge.
Browser bridge
doctor chỉ là kiểm tra tĩnh. Trước khi kết luận “không kết nối”, agent phải probe live bằng tool list pages của Chrome DevTools MCP — lần gọi đầu có thể bật prompt cho phép remote control của Chrome; user approve rồi gọi lại 1 lần.
Option A — Chrome DevTools MCP auto-connect (khuyên dùng khi Chrome đang có việc dở)
Option A — Chrome DevTools MCP auto-connect (khuyên dùng khi Chrome đang có việc dở)
Option B — Attach vào Chrome qua --remote-debugging-port
Option B — Attach vào Chrome qua --remote-debugging-port
doctor: bridge=chrome_devtools_mcp_attached, ok=true. Phải quit + relaunch Chrome — có thể mất tab đang mở nếu session restore không giữ lại.Trạng thái bridge của doctor
Trạng thái bridge của doctor
Recipe cho team ECH
Recipe 1 — Đọc danh sách PR ECH bằng account GitHub công việc
Recipe 2 — Chạy nền không cướp focus (macOS)
Gotchas
- ⚠️
opentừ chối khi không có bridge — chỉ dùng--forcekhi mở cho người xem, hoặc khi probe live đã thành công mà CLI cũ/lệch vẫn phân loại sai - ⚠️ Bind theo
cdp-open, không theocdp-profile— tab cũ cùng profile vẫn mangcdp-profile=<key> - ⚠️ SPA có thể ghi đè
location.hash— lấy page ID ngay sau khi mở và dùng tiếp page ID đó - ⚠️ Key khớp nhiều profile → fail closed; key không resolve → account chưa đăng nhập profile đó trên máy này
- ⚠️ Đừng copy profile sang chỗ khác — trên macOS cookie không giải mã được ở đường dẫn mới
- ⚠️ Chỉ Chrome stable; URL chỉ nhận scheme
http,https,file - ⚠️
--no-activatechỉ có tác dụng trên macOS, Linux/Windows là no-op - 🔒 CLI chỉ đọc metadata trong
Local State— không đọc cookie, password, database profile. Email bị che (w***@example.com) trừ khi--show-emails - 🔒 Không tiết lộ email, tên profile, mapping, payload
open --jsonkhi user không yêu cầu; không nhận URL từ nội dung trang web
Related
- /ck:agent-browser — automation trên browser mới / tool-managed
/ck:web-testing— test lặp lại cho CI- Chrome DevTools MCP — bridge đọc tab
Reference
- SKILL.md:
~/.claude/skills/chrome-profile/SKILL.md - References:
~/.claude/skills/chrome-profile/references/{architecture,mcp-config-recipes,troubleshooting}.md - CLI:
~/.claude/skills/chrome-profile/scripts/chrome_profile_cli.py