/lightpanda-browser
Lightweight headless browser automation via Lightpanda and agent-browser CLI: 9x lower memory, 11x faster than Chromium, for scraping and DOM interaction without rendering. Triggers on: "lightpanda", "lightweight browser", "fast headless browser", "headless scraping", "low
$ npx -y skills add Mathews-Tom/armory --skill lightpanda-browser --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/lightpanda-browser
Context preview
The summary Claude sees to decide when to auto-load this skill.
Lightweight headless browser automation via Lightpanda and agent-browser CLI: 9x lower memory, 11x faster than Chromium, for scraping and DOM interaction without rendering. Triggers on: "lightpanda", "lightweight browser", "fast headless browser", "headless scraping", "low
SKILL.md
lightpanda-browser.SKILL.mdname: lightpanda-browser
description: 'Lightweight headless browser automation via Lightpanda and agent-browser CLI: 9x lower memory, 11x faster than Chromium, for scraping and DOM interaction without rendering. Triggers on: "lightpanda", "lightweight browser", "fast headless browser", "headless scraping", "low memory browser", "browser without rendering".'
metadata:
version: 1.0.1
category: visualization
tags: [browser, headless, scraping, lightweight]
difficulty: beginner
Lightpanda Browser — Fast Headless Automation
Headless browser automation using [Lightpanda](https://github.com/lightpanda-io/browser) as the backend engine, controlled through the `agent-browser` CLI via CDP (Chrome DevTools Protocol).
**When to use this over agent-browser:**
| Use Lightpanda | Use agent-browser (Chromium) | | -------------------------------- | ---------------------------------- | | Web scraping / data extraction | Screenshots, PDFs, visual testing | | Form automation / submission | Video recording / visual debugging | | API response inspection | CSS layout verification | | DOM traversal / content parsing | Mobile device emulation (iOS) | | CI environments with limited RAM | Full browser extension support | | High-volume parallel sessions | Sites requiring full rendering |
**Triggers:**
- "lightpanda", "lightweight browser", "fast headless"
- "scrape with low memory", "headless scraping"
- "browser without rendering", "DOM-only browser"
- "fast browser automation", "efficient scraping"
- "is lightpanda faster than chromium?", "which headless browser uses less memory?"
- "how do I scrape without chromium?", "can I run a browser with less RAM?"
- Any browser task where visual output is not needed
---
Prerequisites
Install Lightpanda
# macOS (Apple Silicon)
curl -fsSL https://github.com/nichochar/install-lightpanda/raw/main/install.sh | bash
# Or build from source
git clone https://github.com/lightpanda-io/browser.git
cd browser && zig build -Doptimize=ReleaseSafe
Install agent-browser (if not already present)
brew install agent-browser
Verify installation
lightpanda --version
agent-browser --version
---
Core Workflow
Every session follows this lifecycle:
1. Start Lightpanda daemon (CDP server)
2. Connect agent-browser via --cdp
3. Navigate, snapshot, interact
4. Stop daemon when done
Step 1 — Start Lightpanda
# Start Lightpanda CDP server on port 9222 (background)
lightpanda serve --host 127.0.0.1 --port 9222 &
LIGHTPANDA_PID=$!
# Wait for CDP to be ready
sleep 1
Step 2 — Connect and Automate
# All agent-browser commands work via --cdp flag
agent-browser --cdp 9222 open https://example.com
agent-browser --cdp 9222 snapshot -i
agent-browser --cdp 9222 fill @e1 "search query"
agent-browser --cdp 9222 click @e2
agent-browser --cdp 9222 snapshot -i # Re-snapshot after navigation
Step 3 — Cleanup
agent-browser --cdp 9222 close
kill $LIGHTPANDA_PID 2>/dev/null
---
Supported Commands
All commands below are invoked as `agent-browser --cdp <port> <command>`.
Navigation
agent-browser --cdp 9222 open <url>
agent-browser --cdp 9222 back
agent-browser --cdp 9222 forward
agent-browser --cdp 9222 reload
agent-browser --cdp 9222 close
Snapshot (DOM Analysis)
agent-browser --cdp 9222 snapshot -i # Interactive elements with refs
agent-browser --cdp 9222 snapshot -i -C # Include cursor-interactive elements
agent-browser --cdp 9222 snapshot -s "#main" # Scope to CSS selector
agent-browser --cdp 9222 snapshot -i --json # JSON output for parsing
Interaction (use @refs from snapshot)
agent-browser --cdp 9222 click @e1
agent-browser --cdp 9222 dblclick @e1
agent-browser --cdp 9222 fill @e2 "text"
agent-browser --cdp 9222 type @e2 "text"
agent-browser --cdp 9222 press Enter
agent-browser --cdp 9222 select @e1 "option"
agent-browser --cdp 9222 check @e1
agent-browser --cdp 9222 hover @e1
agent-browser --cdp 9222 scroll down 500
agent-browser --cdp 9222 drag @e1 @e2
agent-browser --cdp 9222 upload @e1 file.pdf
Get Information
agent-browser --cdp 9222 get text @e1 # Element text
agent-browser --cdp 9222 get html @e1 # innerHTML
agent-browser --cdp 9222 get value @e1 # Input value
agent-browser --cdp 9222 get attr @e1 href # Attribute
agent-browser --cdp 9222 get title # Page title
agent-browser --cdp 9222 get url # Current URL
agent-browser --cdp 9222 get count ".item" # Count elements
Wait
agent-browser --cdp 9222 wait @e1 # Wait for element
agent-browser --cdp 9222 wait 2000 # Wait milliseconds
agent-browser --cdp 9222 wait --text "Success" # Wait for text
agent-browser --cdp 9222 wait --url "**/dashboard" # Wait for URL
agent-browser --cdp 9222 wait --load networkidle # Wait for network idle
agent-browser --cdp 9222 wait --fn "window.ready" # Wait for JS condition
Cookies and Storage
agent-browser --cdp 9222 cookies
agent-browser --cdp 9222 cookies set name value
agent-browser --cdp 9222 cookies clear
agent-browser --cdp 9222 storage local
agent-browser --cdp 9222 storage local set key value
Network Interception
agent-browser --cdp 9222 network route <url> # Intercept
agent-browser --cdp 9222 network route <url> --abort # Block
agent-browser --cdp 9222 network route <url> --body '{}' # Mock response
agent-browser --cdp 9222 network requests # View tracked
agent-browser --cdp 9222 network requests --filter api # FilterJavaScript Execution
agent-browser --cdp 9222 eval "document.title"
agent-browser --cdp 9222 eval -b "<base64>"
cat script.js | agent-browser --cdp 9222 eval --stdin
Semantic Locators
`
Read more
name: lightpanda-browser description: 'Lightweight headless browser automation via Lightpanda and agent-browser CLI: 9x lower memory, 11x faster than Chromium, for scraping and DOM interaction without rendering. Triggers on: "lightpanda", "lightweight browser", "fast headless browser", "headless scraping", "low memory browser", "browser without rendering".' metadata: version: 1.0.1 category: visualization tags: [browser, headless, scraping, lightweight] difficulty: beginner
Lightpanda Browser — Fast Headless Automation
Headless browser automation using [Lightpanda](https://github.com/lightpanda-io/browser) as the backend engine, controlled through the `agent-browser` CLI via CDP (Chrome DevTools Protocol).
**When to use this over agent-browser:**
| Use Lightpanda | Use agent-browser (Chromium) | | -------------------------------- | ---------------------------------- | | Web scraping / data extraction | Screenshots, PDFs, visual testing | | Form automation / submission | Video recording / visual debugging | | API response inspection | CSS layout verification | | DOM traversal / content parsing | Mobile device emulation (iOS) | | CI environments with limited RAM | Full browser extension support | | High-volume parallel sessions | Sites requiring full rendering |
**Triggers:**
- "lightpanda", "lightweight browser", "fast headless"
- "scrape with low memory", "headless scraping"
- "browser without rendering", "DOM-only browser"
- "fast browser automation", "efficient scraping"
- "is lightpanda faster than chromium?", "which headless browser uses less memory?"
- "how do I scrape without chromium?", "can I run a browser with less RAM?"
- Any browser task where visual output is not needed
---
Prerequisites
Install Lightpanda
# macOS (Apple Silicon) curl -fsSL https://github.com/nichochar/install-lightpanda/raw/main/install.sh | bash # Or build from source git clone https://github.com/lightpanda-io/browser.git cd browser && zig build -Doptimize=ReleaseSafe
Install agent-browser (if not already present)
brew install agent-browser
Verify installation
lightpanda --version agent-browser --version
---
Core Workflow
Every session follows this lifecycle:
1. Start Lightpanda daemon (CDP server) 2. Connect agent-browser via --cdp 3. Navigate, snapshot, interact 4. Stop daemon when done
Step 1 — Start Lightpanda
# Start Lightpanda CDP server on port 9222 (background) lightpanda serve --host 127.0.0.1 --port 9222 & LIGHTPANDA_PID=$! # Wait for CDP to be ready sleep 1
Step 2 — Connect and Automate
# All agent-browser commands work via --cdp flag agent-browser --cdp 9222 open https://example.com agent-browser --cdp 9222 snapshot -i agent-browser --cdp 9222 fill @e1 "search query" agent-browser --cdp 9222 click @e2 agent-browser --cdp 9222 snapshot -i # Re-snapshot after navigation
Step 3 — Cleanup
agent-browser --cdp 9222 close kill $LIGHTPANDA_PID 2>/dev/null
---
Supported Commands
All commands below are invoked as `agent-browser --cdp <port> <command>`.
Navigation
agent-browser --cdp 9222 open <url> agent-browser --cdp 9222 back agent-browser --cdp 9222 forward agent-browser --cdp 9222 reload agent-browser --cdp 9222 close
Snapshot (DOM Analysis)
agent-browser --cdp 9222 snapshot -i # Interactive elements with refs agent-browser --cdp 9222 snapshot -i -C # Include cursor-interactive elements agent-browser --cdp 9222 snapshot -s "#main" # Scope to CSS selector agent-browser --cdp 9222 snapshot -i --json # JSON output for parsing
Interaction (use @refs from snapshot)
agent-browser --cdp 9222 click @e1 agent-browser --cdp 9222 dblclick @e1 agent-browser --cdp 9222 fill @e2 "text" agent-browser --cdp 9222 type @e2 "text" agent-browser --cdp 9222 press Enter agent-browser --cdp 9222 select @e1 "option" agent-browser --cdp 9222 check @e1 agent-browser --cdp 9222 hover @e1 agent-browser --cdp 9222 scroll down 500 agent-browser --cdp 9222 drag @e1 @e2 agent-browser --cdp 9222 upload @e1 file.pdf
Get Information
agent-browser --cdp 9222 get text @e1 # Element text agent-browser --cdp 9222 get html @e1 # innerHTML agent-browser --cdp 9222 get value @e1 # Input value agent-browser --cdp 9222 get attr @e1 href # Attribute agent-browser --cdp 9222 get title # Page title agent-browser --cdp 9222 get url # Current URL agent-browser --cdp 9222 get count ".item" # Count elements
Wait
agent-browser --cdp 9222 wait @e1 # Wait for element agent-browser --cdp 9222 wait 2000 # Wait milliseconds agent-browser --cdp 9222 wait --text "Success" # Wait for text agent-browser --cdp 9222 wait --url "**/dashboard" # Wait for URL agent-browser --cdp 9222 wait --load networkidle # Wait for network idle agent-browser --cdp 9222 wait --fn "window.ready" # Wait for JS condition
Cookies and Storage
agent-browser --cdp 9222 cookies agent-browser --cdp 9222 cookies set name value agent-browser --cdp 9222 cookies clear agent-browser --cdp 9222 storage local agent-browser --cdp 9222 storage local set key value
Network Interception
agent-browser --cdp 9222 network route <url> # Intercept
agent-browser --cdp 9222 network route <url> --abort # Block
agent-browser --cdp 9222 network route <url> --body '{}' # Mock response
agent-browser --cdp 9222 network requests # View tracked
agent-browser --cdp 9222 network requests --filter api # FilterJavaScript Execution
agent-browser --cdp 9222 eval "document.title" agent-browser --cdp 9222 eval -b "<base64>" cat script.js | agent-browser --cdp 9222 eval --stdin
Semantic Locators
`
Curated, production-grade skills, agents, hooks, rules, commands, utilities, and presets for AI coding agents. No magic, no demos — battle-tested workflows built for developers who use AI seriously.
Repo: Mathews-Tom/armory
Other skills on armory.
- /adr-writer
Generates Architecture Decision Records capturing context, rationale, alternatives, and consequences in numbered status-tracked format. Triggers on: "write an ADR", "document this decision", "architecture decision record", "decision record", "design decision", "ADR for".
Open skill - /agent-builder
Build AI agents and automate Claude Code programmatically via the Claude Agent SDK and headless CLI mode. Covers Python SDK, claude -p, SDK MCP servers, hooks, sessions. Triggers on: "build an agent", "agent SDK", "headless mode", "automate Claude", "programmatic agent".
Open skill - /api-docs-generator
Audits and enhances FastAPI and REST API documentation: missing descriptions, response codes, examples, docstrings, Pydantic models, OpenAPI spec. Triggers on: "generate API docs", "document this API", "OpenAPI for", "FastAPI docs", "document endpoints", "swagger docs".
Open skill - /architecture-diagram
Generate layered architecture diagrams as self-contained HTML with inline SVG icons, CSS Grid containers, and connection overlays. Triggers on: "architecture diagram", "infra diagram", "system diagram", "deployment diagram", "topology", "draw architecture". NOT for architecture
Open skill - /architecture-reviewer
Architecture reviews across 7 dimensions (structural, scalability, enterprise readiness, performance, security, ops, data) with scored reports. Triggers on: "review architecture", "critique design", "audit system", "assess scalability", "enterprise readiness", "technical due
Open skill - /arxiv-figures
Optimize and prepare figures for arXiv submission: format conversion (EPS/PDF/PNG/JPG), size reduction, metadata stripping, processor compatibility (DVI vs PDFLaTeX). Triggers on: "optimize figures for arXiv", "reduce figure size", "convert figures for arXiv", "fix arXiv
Open skill

