anthropics/skills180kwebapp-testing
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
浏览器自动化
Real-time web search using Playwright-controlled browser. Use this skill when you need current information, latest documentation, recent news, or any data beyond your knowledge cutoff (January 2025).
把这段话发给 Claude Code、Codex 或 Cursor。智能体会先检查安全性,你确认后才安装。
读取 https://funcoding.ai/skills/freestylefly/wesight/web-search/install.md ,按里面的步骤帮我安装这个 Skill。
Use the web-search skill when you need:
Examples of when to use:
┌──────────┐ Bash ┌─────────┐ HTTP ┌──────────────┐ CDP ┌────────┐
│ Claude │───────────▶│ CLI.sh │───────────▶│ Bridge Server│──────────▶│ Chrome │
│ │ │ │ │ (localhost) │ Playwright│ │
└──────────┘ └─────────┘ └──────────────┘ └────────┘
│
▼
Google/Bing Search
Extract Results
Architecture:
IMPORTANT: Always use the $SKILLS_ROOT environment variable to locate the skill scripts. This ensures the skill works in both development and production environments.
bash "$SKILLS_ROOT/web-search/scripts/search.sh" "search query" [max_results]
For non-ASCII queries (Chinese/Japanese/etc.), prefer UTF-8 file input to avoid shell encoding issues on Windows:
cat > /tmp/web-query.txt <<'TXT'
苹果 Siri AI 2026 发布计划
TXT
bash "$SKILLS_ROOT/web-search/scripts/search.sh" @/tmp/web-query.txt 10
Examples:
# Search with default 10 results
bash "$SKILLS_ROOT/web-search/scripts/search.sh" "TypeScript 5.0 new features"
# Limit to 5 results
bash "$SKILLS_ROOT/web-search/scripts/search.sh" "React Server Components guide" 5
# Search for recent news
bash "$SKILLS_ROOT/web-search/scripts/search.sh" "AI news January 2026" 10
Output Format:
The script returns Markdown-formatted results:
# Search Results: TypeScript 5.0 new features
**Query:** TypeScript 5.0 new features
**Results:** 5
**Time:** 834ms
---
## TypeScript 5.0 Release Notes
**URL:** [https://www.typescriptlang.org/docs/...]
TypeScript 5.0 introduces decorators, const type parameters...
---
## (More results...)
# 1. Search for topic
bash "$SKILLS_ROOT/web-search/scripts/search.sh" "Next.js 14 features" 5
# 2. Analyze results and answer user
# 3. Follow-up search if needed
bash "$SKILLS_ROOT/web-search/scripts/search.sh" "Next.js Server Actions tutorial" 3
The Bridge Server is automatically managed by Electron. You typically don't need to start/stop it manually.
However, for manual control:
# Start server (if not already running)
bash "$SKILLS_ROOT/web-search/scripts/start-server.sh"
# Stop server
bash "$SKILLS_ROOT/web-search/scripts/stop-server.sh"
# Check health (start script will print endpoint status)
bash "$SKILLS_ROOT/web-search/scripts/start-server.sh"
For advanced use cases, you can call the HTTP API directly:
# Get or create connection
CONNECTION_ID=$(curl -s -X POST http://127.0.0.1:8923/api/browser/connect \
-H "Content-Type: application/json" \
-d '{}' | grep -o '"connectionId":"[^"]*"' | cut -d'"' -f4)
# Perform search
curl -X POST http://127.0.0.1:8923/api/search \
-H "Content-Type: application/json" \
-d "{
\"connectionId\": \"$CONNECTION_ID\",
\"query\": \"Playwright tutorial\",
\"maxResults\": 5
}"
# Navigate to specific URL
curl -X POST http://127.0.0.1:8923/api/page/navigate \
-H "Content-Type: application/json" \
-d "{
\"connectionId\": \"$CONNECTION_ID\",
\"url\": \"https://example.com\"
}"
# Take screenshot
curl -X POST http://127.0.0.1:8923/api/page/screenshot \
-H "Content-Type: application/json" \
-d "{
\"connectionId\": \"$CONNECTION_ID\",
\"format\": \"png\"
}"
❌ Bad: bash scripts/search.sh "react"
✅ Good: bash scripts/search.sh "React 19 new features and breaking changes"
If search fails, verify the server is running:
bash "$SKILLS_ROOT/web-search/scripts/start-server.sh" || echo "Server not running"
The CLI script automatically caches connections. Multiple searches in the same session will reuse the same browser connection for better performance.
Parse the Markdown output to extract key information for the user. Don't just dump all results - synthesize and summarize.
# User asks about latest framework features
bash SKILLs/web-search/scripts/search.sh "Next.js 15 documentation" 5
# Parse results, find official docs, summarize features
# User reports an error
bash SKILLs/web-search/scripts/search.sh "TypeError: Cannot read property of undefined React" 5
# Find Stack Overflow answers and GitHub issues, provide solution
# User asks about recent news
bash SKILLs/web-search/scripts/search.sh "AI developments January 2026" 10
# Summarize key news items from results
# User wants to compare technologies
bash SKILLs/web-search/scripts/search.sh "Vue 3 vs React 18 performance 2026" 5
# Synthesize comparison from multiple sources
# User needs specific API documentation
bash SKILLs/web-search/scripts/search.sh "Playwright page.evaluate examples" 5
# Extract code examples and usage patterns
Error: ✗ Bridge Server is not running
Solution:
bash SKILLs/web-search/scripts/start-server.shcat SKILLs/web-search/.server.logError: Failed to launch browser
Cause: Chrome not installed or not found
Solution:
sudo apt install chromium-browserError: CDP port not ready or Connection timeout
Solution:
# Stop server
bash SKILLs/web-search/scripts/stop-server.sh
# Clear cache
rm SKILLs/web-search/.connection
# Restart
bash SKILLs/web-search/scripts/start-server.sh
Error: Found 0 results
Possible causes:
Solution:
Error: Search failed: timeout
Solution:
Each search result contains:
## [Title of Result]
**URL:** [https://example.com/page]
[Snippet/description from search results]
Fields:
The search output is Markdown. Extract:
WEB_SEARCH_CLEANUP=1 to close the browser after each search if needed.# 1. Check server health
curl http://127.0.0.1:8923/api/health
# 2. Check server logs
cat SKILLs/web-search/.server.log | tail -50
# 3. Test basic search
bash SKILLs/web-search/scripts/search.sh "test" 1
# 4. Check Chrome installation
which google-chrome || which chromium || which chromium-browser
| Issue | Symptom | Solution |
|---|---|---|
| Server down | Connection refused | Start server or restart Electron |
| Browser missing | Chrome not found | Install Chrome/Chromium |
| Port conflict | Address already in use | Stop conflicting process on port 8923 |
| Stale connection | Connection not found | Remove .connection cache file |
| Network issue | Search timeout | Check internet connection |
If all else fails, full reset:
cd SKILLs/web-search
# Stop server
bash scripts/stop-server.sh
# Clean cache and state
rm -f .connection .server.pid .server.log
# Rebuild
npm run build
# Restart
bash scripts/start-server.sh
# Test
bash scripts/search.sh "test" 1
User: "What are the new features in Next.js 15?"
Claude's approach:
# Search for Next.js 15 features
bash "$SKILLS_ROOT/web-search/scripts/search.sh" "Next.js 15 new features" 5
Then: Parse results, identify official Next.js blog/docs, summarize key features for user.
User: "I'm getting 'Cannot find module' error in TypeScript"
Claude's approach:
# Search for the specific error
bash "$SKILLS_ROOT/web-search/scripts/search.sh" "TypeScript Cannot find module error solution" 5
Then: Extract solutions from Stack Overflow results, provide step-by-step fix.
User: "What happened in AI this month?"
Claude's approach:
# Search for recent AI news
bash "$SKILLS_ROOT/web-search/scripts/search.sh" "AI news January 2026" 10
Then: Synthesize news from multiple sources, provide summary of key events.
User: "How do I use React Server Components?"
Claude's approach:
# Search for RSC documentation and tutorials
bash "$SKILLS_ROOT/web-search/scripts/search.sh" "React Server Components guide tutorial" 5
Then: Find official React docs and good tutorials, explain with examples.
User: "Should I use Vite or webpack in 2026?"
Claude's approach:
# Search for recent comparisons
bash "$SKILLS_ROOT/web-search/scripts/search.sh" "Vite vs webpack 2026 comparison" 5
Then: Analyze multiple perspectives, provide balanced recommendation.
SKILLs/web-search/dist/server/index.jsSKILLs/web-search/.server.logSKILLs/web-search/.server.pidSKILLs/web-search/.connectionSKILLs/web-search/README.mdSKILLs/web-search/examples/basic-search.mdFor issues:
.server.log for errorsnode SKILLs/web-search/scripts/test-basic.jsRemember: This skill provides real-time access to current information. Use it whenever users need information beyond your knowledge cutoff or when accuracy of current data is important.
anthropics/skills180kToolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
浏览器自动化
addyosmani/agent-skills103kTests in real browsers via Chrome DevTools MCP. Use when building or debugging anything that runs in a browser. Use when you need to inspect the DOM, capture console errors, analyze network requests, profile performance, or verify visual output with real runtime data. Requires the chrome-devtools MCP server to be configured.
浏览器自动化
ComposioHQ/awesome-claude-skills77kToolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
浏览器自动化
code-yeongyu/oh-my-openagent70kDrives a real browser through the omowright library from the js eval kernel: sites the user is already signed into, forms and clicks, JS-rendered pages, screenshots, web QA, extension popups, a human handoff for login, CAPTCHA or OTP, and a browser you own for scraping, bot-scored targets, network capture and QA traces. Use for any interactive browser task; not for a plain search or an unblocked static fetch.
浏览器自动化
shanraisshan/claude-code-best-practice67kBrowser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction.
浏览器自动化
CherryHQ/cherry-studio52kRun Cherry Studio critical-path system regression tasks through the repository-owned Playwright E2E workflow. Use for full regression, release acceptance, development-branch system validation, or a named cherry-regression-test task on GitHub-hosted macOS and Windows runners.
浏览器自动化