用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/ForceInjection/domain-driven-design-skills --skill browser-auth命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | browser-auth |
| description | Browser automation with 1Password credential integration for authenticated workflows |
Integrates Claude in Chrome browser automation with 1Password CLI for secure authenticated workflows.
Invoke this skill when:
claude --chrome flag/chrome)# Check 1Password CLI
op --version
op vault list
# In Claude Code, verify Chrome tools available
/chrome
# Get available tabs
mcp__claude-in-chrome__tabs_context_mcp(createIfEmpty: true)
# Create a new tab for this workflow
mcp__claude-in-chrome__tabs_create_mcp()
mcp__claude-in-chrome__navigate(url: "https://site.com/login", tabId: TAB_ID)
Use find to locate form elements:
mcp__claude-in-chrome__find(query: "email or username input field", tabId: TAB_ID)
mcp__claude-in-chrome__find(query: "password input field", tabId: TAB_ID)
mcp__claude-in-chrome__find(query: "sign in or login button", tabId: TAB_ID)
Only retrieve when ready to fill:
# Get username/email
op item get "Site Name" --fields username
# Get password
op item get "Site Name" --fields password
Using element references from detection:
mcp__claude-in-chrome__form_input(ref: "ref_email", value: "[email]", tabId: TAB_ID)
mcp__claude-in-chrome__form_input(ref: "ref_password", value: "[password]", tabId: TAB_ID)
# Click submit button
mcp__claude-in-chrome__computer(action: "left_click", ref: "ref_submit", tabId: TAB_ID)
# Wait for navigation
mcp__claude-in-chrome__computer(action: "wait", duration: 3, tabId: TAB_ID)
# Take screenshot to verify success
mcp__claude-in-chrome__computer(action: "screenshot", tabId: TAB_ID)
When MFA is required after login:
mcp__claude-in-chrome__find(query: "verification code input OR authenticator code field", tabId: TAB_ID)
TOTP codes refresh every 30 seconds. Retrieve immediately before entering:
op item get "Site Name" --otp
mcp__claude-in-chrome__form_input(ref: "ref_totp", value: "[TOTP_CODE]", tabId: TAB_ID)
mcp__claude-in-chrome__computer(action: "left_click", ref: "ref_verify", tabId: TAB_ID)
Reference .claude/lib/auth-sites.json for pre-configured sites.
| Site | 1Password Item | Notes |
|---|---|---|
| Linear | Linear | May offer magic link option |
| GitHub | GitHub | Usually requires MFA |
| Vercel | Vercel | Two-step: email then password |
# List available items matching a site
op item list | grep -i "linear"
# Get item details
op item get "Linear" --format json
| Error | Cause | Resolution |
|---|---|---|
connecting to desktop app timed out | 1Password app not running | Start 1Password desktop app |
item not found | Wrong item name | List items with op item list |
no such vault | Vault access issue | Check op vault list |
form element not found | Page structure changed | Use read_page to analyze structure |
MFA required | Account has 2FA enabled | Use TOTP workflow |
tab not found | Tab closed or invalid | Get fresh context with tabs_context_mcp |
1. tabs_context_mcp() → tabs_create_mcp()
2. navigate(url: "linear.app")
3. Wait for page, check if already logged in
4. If login needed:
- find("email input")
- find("password input")
- op item get "Linear" --fields email,password
- form_input(ref_email, email)
- form_input(ref_password, password)
- click submit
5. Handle MFA if prompted
6. Screenshot dashboard to confirm
1. Ensure dev server running (npm run dev)
2. tabs_create_mcp()
3. navigate(url: "localhost:3000/login")
4. find form elements
5. op item get "Local Test Account" --fields email,password
6. Fill and submit
7. Verify redirect to authenticated page
8. Screenshot for verification
1. gif_creator(action: "start_recording", tabId: TAB_ID)
2. screenshot (capture initial state)
3. Complete login workflow
4. Navigate to feature being demoed
5. Perform demo actions
6. screenshot (capture final state)
7. gif_creator(action: "stop_recording", tabId: TAB_ID)
8. gif_creator(action: "export", download: true, filename: "demo.gif", tabId: TAB_ID)
When verifying UI features that require authentication:
1. Start browser session
2. Login using browser-auth workflow
3. Navigate to feature
4. Verify acceptance criteria
5. Screenshot results
For Linear issues requiring authenticated verification:
1. Implement feature (TDD)
2. Start dev server
3. Login with test credentials
4. Verify feature works as expected
5. Capture evidence for PR
op vault list # List vaults
op item list # List all items
op item list --vault "Development" # Items in vault
op item get "Item" --fields username # Get username
op item get "Item" --fields password # Get password
op item get "Item" --otp # Get TOTP code
op item get "Item" --format json # Full item as JSON
tabs_context_mcp() # Get tab info
tabs_create_mcp() # New tab
navigate(url, tabId) # Go to URL
find(query, tabId) # Find elements
read_page(tabId) # Get DOM tree
form_input(ref, value, tabId) # Fill field
computer(action, tabId, ...) # Mouse/keyboard
gif_creator(action, tabId) # Record GIFs