a11y-auditor
Audit web pages for accessibility issues in a real browser. Checks contrast, font sizes, focus indicators, keyboard navigation,…
Find people on LinkedIn and send personalized connection requests. Supports multiple strategies based on goal — networking (search posts), sales (search by role/company), partnerships (combine both), hiring (search by skills), or market research (analyze posts + comments). Each
Claude Code
$ npx -y skills add hanzili/hanzi-browse --skill linkedin-prospector --agent claude-code
Codex
$ npx skills add hanzili/hanzi-browse --skill linkedin-prospector -a codex -y
Cursor
$ npx skills add hanzili/hanzi-browse --skill linkedin-prospector -a cursor -y
Gemini CLI
$ npx skills add hanzili/hanzi-browse --skill linkedin-prospector -a gemini-cli -y
GitHub Copilot
$ npx skills add hanzili/hanzi-browse --skill linkedin-prospector -a github-copilot -y
OpenCode
$ npx skills add hanzili/hanzi-browse --skill linkedin-prospector -a opencode -y
Windsurf
$ npx skills add hanzili/hanzi-browse --skill linkedin-prospector -a windsurf -y
name: linkedin-prospector description: Find people on LinkedIn and send personalized connection requests. Supports multiple strategies based on goal — networking (search posts), sales (search by role/company), partnerships (combine both), hiring (search by skills), or market research (analyze posts + comments). Each connection note is unique and personalized. Requires the hanzi browser automation MCP server and Chrome extension. category: marketing
You find people on LinkedIn and send them personalized connection requests based on the user's goal.
Try calling `browser_status` to verify the browser extension is reachable. If the tool doesn't exist or returns an error:
> **Hanzi isn't set up yet.** This skill needs the hanzi browser extension running in Chrome. > > 1. Install from the Chrome Web Store: https://chromewebstore.google.com/detail/hanzi-browse/iklpkemlmbhemkiojndpbhoakgikpmcd > 2. The extension will walk you through setup (~1 minute) > 3. Then come back and run this again
---
1. **Goal** — networking, sales, partnerships, hiring, or market research 2. **Topic** — what area, industry, or product (e.g., "browser automation", "AI DevTools") 3. **Count** — how many people (default 15)
Optional:
---
Based on the goal, pick the best approach or combine them:
**Networking / community building** → Search LinkedIn POSTS. Find people actively talking about the topic. Vocal, engaged people — great for community.
https://www.linkedin.com/search/results/content/?keywords={encoded_topic}**Sales prospecting** → Search LinkedIn PEOPLE with role/industry filters. Decision-makers (managers, VPs, directors) often don't post — search by title instead.
https://www.linkedin.com/search/results/people/?keywords={encoded_topic}Use LinkedIn's built-in filters for seniority, industry, company size, location.
**Partnerships / collaboration** → Combine both: search posts to find builders in the space, then search people for specific roles at relevant companies.
**Hiring** → Search people by skills and current role. Filter by location and experience level.
**Market research** → Search posts and read comments. Find what people are saying, who's engaging, what problems they mention.
Tell the user which strategy you're going with and why. Confirm before starting.
---
For each person, gather personalization material based on how you found them:
Collect: name, headline, and at least one specific personalization hook per person.
---
Check prior outreach:
wc -l ~/.hanzi-browse/contacted.txt 2>/dev/null || echo "0 (new log)"
Before sending to each person:
grep -qiF "Name Here" ~/.hanzi-browse/contacted.txt 2>/dev/null
Skip if found (exit 0).
---
Present a table:
| # | Name | Role / Company | Personalization hook | Why they match the goal | Status | |---|------|---------------|---------------------|------------------------|--------|
The "Personalization hook" column is key — it's the specific thing you'll reference in the note. If you don't have a strong hook for someone, flag it.
Ask the user which ones to send to. They might want to adjust the list.
---
Send one at a time using separate `browser_start` calls — NOT in parallel.
Each connection note (max 300 chars) must: 1. **Lead with THEIR thing** — reference their post, project, role, company move, or profile detail 2. **Connect it to why you're reaching out** — make the relevance obvious 3. **Sound like a human** — conversational, not polished marketing copy
Personalization varies by source:
After each send, log immediately:
mkdir -p ~/.hanzi-browse && echo "Name Here" >> ~/.hanzi-browse/contacted.txt
Report progress: "Sent 3/12 — continuing..."
If `browser_start` times out, call `browser_screenshot` to see where it got stuck, then `browser_message` to continue or `browser_stop` to end.
---
---
Summarize:
The context layer for browsing agents. Your browsing agent keeps failing on real sites — X uses Draft.js, LinkedIn hides the connect button, Gmail needs keyboard shortcuts.
Audit web pages for accessibility issues in a real browser. Checks contrast, font sizes, focus indicators, keyboard navigation,…
Search for apartments across multiple real estate platforms, compare listings side by side, and help submit inquiries or…
Monitor competitor websites for changes. Visit a list of URLs, extract pricing, features, positioning, and key content, compare…
Research SaaS and AI-tool competitors in a real browser. Visit competitor sites, pricing pages, feature pages, and review…
Extract structured data from websites into CSV or JSON. Use when the user wants to scrape a list, table, directory, or repeated…
Test a web app like a QA person — open it in a real browser, click through flows, and report what's broken with screenshots and…
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…