user-scope-skills/google-search/SKILL.md
Google search via real Chrome browser (chromux). Use when the user asks to "search Google", "구글 검색", "구글에서 찾아줘", "find articles about", "search the web for", or needs web search results with full page content. Also trigger when: searching a specific site ("search dev.to for..."), finding recent articles/posts about a topic, extracting content from search results, or when WebSearch results are insufficient and real browser rendering is needed. Prefer this over WebSearch when the user wants site-specific search, time-filtered results, or full article body/comments extraction.
npx skillsauth add onejaejae/skills google-searchInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Search Google and optionally extract full page content using a real Chrome browser via chromux. Unlike WebSearch, this uses an actual Chrome instance — same results a human would see, with JavaScript-rendered content and no bot detection.
site: operator to search within a specific domainRequires chromux CLI installed. Launch headless Chrome before use:
chromux launch default --headless 2>/dev/null || true
This starts Chrome without a visible window. Skips if already running.
node ${baseDir}/vendor/web-search.mjs "<query>" [options]
| Flag | Description | Default |
|------|-------------|---------|
| --site <domain> | Add site: filter (e.g. dev.to, stackoverflow.com) | none |
| --time <d\|w\|m\|y> | Time filter: day, week, month, year | none (all time) |
| --count <N> | Max results | 10 |
| --no-enrich | Skip page visits, return Google snippets only (faster) | enrichment on |
| --comments <N> | Max comments to extract per page | 5 |
| --body <N> | Max body chars to extract per page | 500 |
| --json | Output raw JSON instead of text | text |
| --check | Verify chromux is available | - |
Basic search:
node ${baseDir}/vendor/web-search.mjs "react server components best practices" --count 5
Site-specific search:
node ${baseDir}/vendor/web-search.mjs "authentication patterns" --site stackoverflow.com --count 10
Quick search (snippets only, no page visits):
node ${baseDir}/vendor/web-search.mjs "bun vs deno 2024" --no-enrich --count 10
Time-filtered search:
node ${baseDir}/vendor/web-search.mjs "openai o3 release" --time w --count 5
Full content extraction with JSON output:
node ${baseDir}/vendor/web-search.mjs "claude code tips" --site dev.to --comments 5 --body 1000 --json
[1] Article Title Here
URL: https://example.com/article
Author: John Doe
Tags: javascript, react
Body: First 500 chars of article body...
Comments (3):
1. commenter1: Comment text here...
2. commenter2: Another comment...
[2] Another Article
URL: https://example.com/other
...
--json)Returns an array of objects:
[
{
"title": "Article Title",
"url": "https://example.com/article",
"snippet": "Google search snippet",
"author": "John Doe",
"tags": ["javascript", "react"],
"body": "Full article body text...",
"comments": [
{"author": "commenter1", "text": "Comment text..."}
]
}
]
Fields like author, tags, body, comments are only present when enrichment is enabled.
The enrichment extracts content using site-specific JS extractors for Dev.to and Lobsters,
with a generic fallback for other sites.
--no-enrich): ~3-5 seconds (Google search only)--no-enrich when you only need URLs and snippets--count to limit results when enrichment is on| Situation | Behavior |
|-----------|----------|
| chromux not installed | --check returns available: false |
| Google CAPTCHA | Returns 0 results, retry later |
| Page load timeout during enrichment | Skips that URL, continues with others |
| No results found | Returns empty array/output |
If chromux is unavailable, fall back to the built-in WebSearch tool.
| Aspect | /google-search | /reference-seek | /tech-decision | /deep-research |
|--------|------------------|--------------------|-------------------|-------------------|
| Purpose | Real-time web search with full page content | Find reusable code patterns and repos | A vs B decision analysis with recommendation | Multi-agent deep investigation with cited report |
| Output | Search result list (URLs + snippets/body) | Categorized references with code excerpts | Conclusion-first decision report | Comprehensive research report with confidence assessment |
| Depth | Shallow -- returns raw search results | Medium -- quality-filtered repos + code dive | Medium-Deep -- multi-source comparison | Deep -- parallel agents + cross-validation |
| When to use | Need quick search results or specific URLs | Need implementation examples to learn from | Need to choose between alternatives | Need thorough investigation of a broad topic |
| Tools | chromux (real Chrome browser) | gh API, context7, WebSearch, Explore agent | WebSearch, WebFetch, community sources | WebSearch, WebFetch, chromux, Gemini CLI, subagents |
testing
CLAUDE.md 기반 환경 안전 체크. 작업 시작 전에 프로젝트의 안전 규칙, 컨벤션, 환경 설정을 자동 검증하여 CLEAR/WARNING/BLOCKED 상태를 보고한다. /check가 "변경 후 검증"이라면, /pre-flight는 "작업 전 환경 검증"이다. Use PROACTIVELY before starting work, especially after switching branches, pulling changes, or resuming a session. Also use when explicitly asked: "/pre-flight", "프리플라이트", "환경 체크", "작업 전 점검", "안전 체크", "environment check", "pre-flight check", "시작해도 돼?", "환경 괜찮아?", "safety check", "DB 확인", "설정 확인", "config check".
tools
PR 리뷰 워크플로우와 체크리스트를 제공하는 스킬. "PR 리뷰해줘", "코드 리뷰 해줘", "이 PR 봐줘", "review this PR" 등 PR 리뷰 요청 시 사용. GitHub/GitLab PR URL 또는 로컬 브랜치 diff를 기반으로 체계적이고 일관된 리뷰를 수행. 코드 품질, 안정성/보안, 성능, 테스트, 문서화 관점에서 건설적인 피드백 제공.
documentation
PR review comments를 체계적으로 처리하는 skill. Use when: (1) PR에 동료의 리뷰가 달렸을 때, (2) 여러 리뷰를 한 번에 처리하고 싶을 때, (3) 수정 후 commit 링크가 포함된 reply를 자동으로 추가하고 싶을 때
tools
PR diff를 받아 코드 리뷰 자동 요약을 생성하는 스킬. 핵심 변경점을 3줄로 요약하고, 변경 파일별로 what changed / why it matters / risk level을 정리. Use when: "PR 요약", "diff 요약", "PR 변경점 정리", "코드 변경 요약", "summarize PR", "PR summary", "diff summary", "what changed in this PR", "변경점 요약해줘", "PR 핵심 정리", "리뷰 요약"