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 team-attention/hoyeon 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.
WebSearch when
chromux is unavailable.skills/google-search/vendor/web-search.mjs.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.
development
Run a full implementation verification pass after code or data changes. Use when the user asks to verify, QA, smoke test, run checks, validate a feature, inspect a local app in the browser, capture screenshots, or turn discovered QA issues into regression tests/checklists with user approval.
development
Hoyeon execution workflow for Codex. Use when the user invokes "$hoyeon-execute" or wants to execute a Hoyeon plan.json through the Bash-first Codex adapter. This adapter loads the canonical execute skill and follows its Codex runtime surface.
development
Plan-driven orchestrator. Reads plan.json (from /blueprint) or requirements.md, then dispatches workers to build the system. Use when: "/execute", "execute", "plan 실행", "blueprint 실행"
testing
"/clarify", "clarify this", "keep asking until clear", "remove ambiguity", "clarify requirements", "clarify design", "clarify the plan", "질문 계속해", "모호한 게 없게", "명확해질 때까지", "계속 물어봐", "Q&A로 정리", "질문답변 기록", "요구사항 명확화", "설계 명확화". Relentless ambiguity-resolution interview that records Q&A under .hoyeon/clarify/<topic>/ and hands off to specify/blueprint/docs when clear.