Back to docs

Claude Skill Installation

CBrowser offers two different skills for two different platforms. Make sure you install the right one.


Claude.ai Skill (Web Interface)

For: Users of claude.ai in a web browser. Works on all paid plans.

The Claude.ai Skill is a lightweight knowledge package that gives Claude context about CBrowser tools, pricing, workflows, and best practices. It works alongside the MCP connector.

What's Included

cbrowser-claudeai.skill
β”œβ”€β”€ SKILL.md                     # Tool tiers, pricing, workflows, key concepts
β”œβ”€β”€ scripts/
β”‚   β”œβ”€β”€ quick-audit.md           # Step-by-step site audit workflow
β”‚   β”œβ”€β”€ competitive-analysis.md  # Competitor comparison workflow
β”‚   └── persona-testing.md       # Multi-persona testing workflow
β”œβ”€β”€ references/
β”‚   β”œβ”€β”€ persona-index.md         # All 21 personas with traits and use cases
β”‚   β”œβ”€β”€ ctc-guide.md             # CTC score interpretation guide
β”‚   └── tool-categories.md       # All 120 tools organized by category
└── assets/
    └── example-prompts.md       # Ready-to-use prompts for common tasks

Installation

  1. Add the MCP connector: Customize β†’ Connectors β†’ "Add custom connector"
  2. Paste: https://demo.cbrowser.ai/mcp
  3. Download the CBrowser Skill (.skill)
  4. Go to Customize β†’ Skills β†’ Upload the zip
  5. Start a new conversation and test your site

This is NOT the Claude Code skill. The Claude.ai Skill is a knowledge file for the web interface. It does not include CLI tools, workflow routing, or persistent memory. For the Claude Code terminal app, see below.


Claude Code Skill (CLI Terminal App)

For: Users of Claude Code, the terminal CLI app. Not for Claude.ai web.

The Claude Code Skill is a full CLI integration with workflow routing, TypeScript tools, constitutional safety, persistent memory, and session management.

Installation Methods

Method 1: curl Script (Recommended)

One-line installation that downloads all skill files:

curl -fsSL https://raw.githubusercontent.com/alexandriashai/cbrowser/main/scripts/install-skill.sh | bash

Method 2: npx Command

If you already have npm installed:

npx cbrowser install-skill

Method 3: Manual Installation

Clone the repo and copy the skill directory:

git clone https://github.com/alexandriashai/cbrowser.git /tmp/cbrowser
cp -r /tmp/cbrowser/skill ~/.claude/skills/CBrowser

Post-Installation Setup

1. Register the Skill

Add CBrowser to your skill index at ~/.claude/skills/skill-index.json:

{
  "CBrowser": "~/.claude/skills/CBrowser/SKILL.md"
}

If the file doesn't exist, create it:

mkdir -p ~/.claude/skills
echo '{"CBrowser": "~/.claude/skills/CBrowser/SKILL.md"}' > ~/.claude/skills/skill-index.json

2. Install npm Package

The skill requires the cbrowser npm package:

npm install -g cbrowser

3. Install Playwright Browsers

# Install all browsers (recommended for cross-browser testing)
npx playwright install

# Or just Chromium
npx playwright install chromium

Skill Structure

After installation, ~/.claude/skills/CBrowser/ contains:

~/.claude/skills/CBrowser/
β”‚
β”œβ”€β”€ SKILL.md                    # Main skill file (entry point)
β”‚   └── Workflow routing, trigger phrases, CLI reference
β”‚
β”œβ”€β”€ Context Files (loaded on demand)
β”‚   β”œβ”€β”€ Philosophy.md           # Constitutional safety principles
β”‚   β”‚   └── Action zones (Green/Yellow/Red/Black)
β”‚   β”œβ”€β”€ AIVision.md             # AI selector documentation
β”‚   β”‚   └── Natural language, visual, ARIA, semantic modes
β”‚   β”œβ”€β”€ SessionManagement.md    # Session persistence
β”‚   β”‚   └── Cookies, localStorage, URL restoration
β”‚   β”œβ”€β”€ Credentials.md          # Credential vault
β”‚   β”‚   └── Encrypted storage, 2FA/TOTP support
β”‚   └── Personas.md             # Persona framework
β”‚       └── Built-in + custom personas, cognitive traits
β”‚
β”œβ”€β”€ Workflows/                  # Task-specific workflows
β”‚   β”œβ”€β”€ Navigate.md             # Smart navigation with AI wait detection
β”‚   β”œβ”€β”€ Interact.md             # AI-guided click, fill, submit
β”‚   β”œβ”€β”€ Extract.md              # Intelligent data extraction
β”‚   β”œβ”€β”€ Authenticate.md         # Login handling with credential vault
β”‚   β”œβ”€β”€ Test.md                 # Test scenarios and assertions
β”‚   └── Journey.md              # Autonomous persona exploration
β”‚
β”œβ”€β”€ Tools/
β”‚   └── CBrowser.ts             # TypeScript CLI wrapper
β”‚       └── Invokes npx cbrowser with skill integration
β”‚
└── .memory/                    # Persistent storage (survives sessions)
    β”œβ”€β”€ sessions/               # Saved browser sessions
    β”‚   └── {name}.json         # Cookies + localStorage + URL
    β”œβ”€β”€ selectors/              # Learned selector mappings
    β”‚   └── Self-healing selector cache
    β”œβ”€β”€ personas/               # Custom personas
    β”‚   └── {name}.json         # Persona definitions
    β”œβ”€β”€ scenarios/              # Test scenarios
    β”‚   └── {name}.txt          # NL test scripts
    └── audit/                  # Action audit logs
        └── Constitutional safety audit trail

Architecture Diagram

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                        Claude Code                                  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚  User: "Test checkout as elderly user"                       β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                              β”‚                                      β”‚
β”‚                              β–Ό                                      β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚  SKILL.md (Entry Point)                                      β”‚  β”‚
β”‚  β”‚  └── Trigger: "journey", "run as", "simulate"                β”‚  β”‚
β”‚  β”‚      └── Route to: Workflows/Journey.md                      β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                              β”‚                                      β”‚
β”‚                              β–Ό                                      β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚  Workflows/Journey.md                                        β”‚  β”‚
β”‚  β”‚  └── Load: Personas.md β†’ elderly-user                        β”‚  β”‚
β”‚  β”‚  └── Invoke: npx cbrowser cognitive-journey                  β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                              β”‚                                      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                               β”‚
                               β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                     CBrowser npm Package                            β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚  Cognitive User Simulation                                    β”‚  β”‚
β”‚  β”‚  β”œβ”€β”€ patience, frustration, confusion tracking               β”‚  β”‚
β”‚  β”‚  β”œβ”€β”€ Abandonment detection                                   β”‚  β”‚
β”‚  β”‚  └── Constitutional safety verification                      β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                              β”‚                                      β”‚
β”‚                              β–Ό                                      β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚  Playwright (Browser Automation)                             β”‚  β”‚
β”‚  β”‚  └── Chromium / Firefox / WebKit                             β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Using CBrowser as a Claude Code Skill

Once installed, you can use CBrowser in Claude Code with natural language:

Workflow Triggers

Trigger Phrase Workflow Action
"navigate to", "go to", "open" Navigate Smart navigation with AI wait detection
"extract", "scrape", "get content" Extract Intelligent data extraction
"click", "fill", "submit" Interact AI-guided interactions
"login", "authenticate", "sign in" Authenticate Handle login flows
"test", "run test", "validate" Test Run test scenarios
"journey", "run as", "simulate" Journey Autonomous persona exploration

Examples

User: "Navigate to example.com and click the login button"
β†’ CBrowser Navigate workflow β†’ Interact workflow

User: "Test the checkout flow as an elderly user"
β†’ CBrowser Journey workflow with elderly-user persona

User: "Compare the staging and production sites visually"
β†’ CBrowser A/B comparison workflow

Updating the Skill

To update to the latest version:

# Re-run the installer (it will ask to update)
curl -fsSL https://raw.githubusercontent.com/alexandriashai/cbrowser/main/scripts/install-skill.sh | bash

# Update the npm package
npm update -g cbrowser

Troubleshooting

Skill Not Recognized

Check that the skill index is correct:

cat ~/.claude/skills/skill-index.json

Should contain:

{"CBrowser": "~/.claude/skills/CBrowser/SKILL.md"}

CLI Commands Not Working

Verify the npm package is installed globally:

which cbrowser
# Should output a path, e.g., /usr/local/bin/cbrowser

npx cbrowser --version
# Should output the current version number

Browser Not Starting

Install Playwright browsers:

npx playwright install

Permission Issues

The skill directory should be owned by your user:

ls -la ~/.claude/skills/CBrowser/
# Should show your user, not root

# Fix if needed:
sudo chown -R $(whoami) ~/.claude/skills/CBrowser/

See Also


Copyright: (c) 2026 Alexa Eden.

License: MIT License

Contact: [email protected]

From the Blog