npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

fameclaw

v1.2.0

Published

FameClaw — YouTube Creator Outreach CLI

Readme

100% local. Your data, emails, and credentials never leave your machine. Nothing is sent to any server, ever. No API keys, no cloud services, no tracking. Just curl + python3.

What It Does

  1. Scan your brand's website → auto-detect product category & niche
  2. Search YouTube for creators in matching niches
  3. Extract channel stats: subscribers, views, emails, descriptions
  4. Discover related channels via YouTube's recommendation algorithm
  5. Score every channel against your brand's audience profile (0-100)
  6. Email the best matches — personalized, mentions their actual videos
  7. Follow up automatically — day 3 and day 8 if no reply
  8. Negotiate autonomously — reads replies, counters, closes deals

Privacy

  • All data stays on your device — CSVs, emails, credentials, campaign state
  • Gmail credentials stored locally (~/.config/fameclaw/gmail.json, mode 600)
  • No external APIs, no cloud services, no telemetry, no tracking
  • Emails sent directly from your mailbox via SMTP — no middleman
  • Works with Gmail, Outlook, iCloud, Yahoo, Zoho, Fastmail, or any SMTP server
  • Open source — read every line of code yourself

Quick Start

Single channel

bash scripts/extract_channel_data.sh "https://youtube.com/@handle" output.csv

Batch prospecting

bash scripts/prospect.sh \
  --queries "tiktok shop tutorial" "dropshipping beginner" \
  --target 100 \
  --output channels.csv \
  --max-subs 100000

Full pipeline with audience matching

# 1. Scan brand site
bash scripts/onboard.sh --brand "MyBrand" --url "https://mybrand.com" --output scan.json

# 2. Create audience profile (edit the generated template)
# Sets target categories, demographics, authority preferences

# 3. Prospect
bash scripts/prospect.sh --config config.json

# 4. Score & rank
python3 scripts/score_channels.py --csv channels.csv --profile audience.json --output scored.csv

Audience Matching

FameClaw scores creators using three dimensions:

| Dimension | Points | What It Checks | |-----------|--------|----------------| | Category match | 0-50 | Does the channel's content match your niche? | | Demographic match | 0-30 | Does the creator match your target customer? | | Authority match | 0-20 | Does the creator have professional credibility? |

14 content categories: Beauty & Skincare, Fitness & Health, Tech & Gadgets, Fashion & Lifestyle, Food & Cooking, E-commerce & Business, TikTok & Social Media, Finance & Investing, Gaming, Education & Tutorial, Home & DIY, Parenting & Family, Pets & Animals, Travel & Outdoor

Match types:

  • demographic — creator looks like your buyer (age, gender, lifestyle match)
  • authority — creator has credibility (doctor, coach, certified expert, founder)
  • demographic+authority — both signals present

Gmail Outreach

Send personalized emails to scraped creators using Google's official Workspace CLI.

Setup (one time)

# 1. Google Account → Security → 2-Step Verification → ON
# 2. Google Account → Security → App passwords → Generate
# 3. Create gmail_creds.json:
echo '{"email": "[email protected]", "app_password": "xxxx xxxx xxxx xxxx", "display_name": "Your Name"}' > gmail_creds.json

# 4. Test connection
python3 scripts/gmail.py test --creds gmail_creds.json

Configure campaign

{
  "brand": "MyBrand",
  "website": "https://mybrand.com",
  "sender_name": "Alex",
  "gmail_creds": "gmail_creds.json",
  "current_partnerships": ["@CreatorA", "@CreatorB", "@CreatorC"],
  "rate": 30,
  "min_score": 25,
  "max_per_run": 50
}

Run outreach

# Send first emails (auto-fetches recent videos per creator)
python3 scripts/outreach.py send --csv scored.csv --config outreach.json --dry-run
python3 scripts/outreach.py send --csv scored.csv --config outreach.json

# Check for replies → moves responders to NEGOTIATE
python3 scripts/outreach.py check-replies --config outreach.json

# Auto follow-ups (day 3 + day 8)
python3 scripts/outreach.py followup --config outreach.json

# Campaign dashboard
python3 scripts/outreach.py status --config outreach.json

Email sequence

Three auto-generated emails per creator:

  1. Initial — short, mentions their specific video by name, drops 2-3 current partnerships
  2. Follow-up (day 3) — bump, references a different video
  3. Final (day 8) — last touch, respects their time

All emails stop automatically when the creator replies.

Scripts

| Script | Purpose | |--------|---------| | onboard.sh | Scan a brand's website, extract niche signals | | scan_site.py | Site intelligence extraction (title, description, industry, social links) | | prospect.sh | Batch prospecting pipeline with cron support | | extract_channel_data.sh | Single channel → stats + email → CSV row | | extract_email.sh | Email-only extraction from a channel | | find_related_channels.sh | Discover related channels via YouTube recommendations | | score_channels.py | Score & rank channels against audience profile | | outreach.py | Multi-stage outreach pipeline (send, follow-up, reply detection) | | gmail.py | Gmail client — SMTP send + IMAP reply tracking | | outreach.sh | Simple one-shot email sender (legacy, uses gws CLI) | | get_videos.sh | Fetch recent video titles for personalization | | negotiate.py | Autonomous negotiation engine (classify, counter, close) |

Config

{
  "queries": ["tiktok shop affiliate tutorial", "faceless youtube channel"],
  "target_emails": 100,
  "output": "channels.csv",
  "max_subs": 100000,
  "batch_size": 200,
  "work_dir": "./prospect-run",
  "cron_name": "my-prospect-job"
}

Audience Profile

{
  "brand": "MyBrand",
  "url": "https://mybrand.com",
  "target_categories": ["Beauty & Skincare", "Fashion & Lifestyle"],
  "target_demographics": {
    "age_range": "25-40",
    "gender": "female",
    "interests": ["skincare", "clean beauty"],
    "location": "US"
  },
  "authority_preferred": true
}

CSV Output

channel_name, handle, subscribers, total_videos, avg_views, median_views,
min_views, max_views, videos_sampled, email, description, external_links,
channel_url, content_category, match_score, match_type, match_reasons

Cron Automation

For large targets, run on a schedule:

# Using OpenClaw
openclaw cron add --name "my-prospect" --every 30m \
  --session isolated --model haiku --timeout-seconds 1800 \
  --message "Run: bash scripts/prospect.sh --config config.json"

# Using system cron
*/30 * * * * bash /path/to/scripts/prospect.sh --config /path/to/config.json

The script auto-removes the cron job when the email target is reached.

How Email Discovery Works

  1. Scan YouTube channel page for emails in metadata/description
  2. Derive vanity domain from handle (strips "live", "official", "hq")
  3. Check vanity domain: root, /contact, /about, /contact-us
  4. Filter junk (image files, google/youtube domains, noreply)

Requirements

  • curl
  • python3 (3.9+)
  • No API keys needed
  • OpenClaw or NanoClaw (optional, for AI agent integration)

AI Agent Integration

FameClaw works as a skill for both major personal AI agent platforms:

OpenClaw

Drop the skill into your OpenClaw workspace and the agent handles the entire pipeline conversationally — onboarding, prospecting, scoring, outreach. Uses OpenClaw's cron system for automated runs.

NanoClaw

FameClaw ships with a NanoClaw-compatible skill in the nanoclaw/ directory. Copy it to your NanoClaw's .claude/skills/fameclaw/ directory:

cp -r nanoclaw/ /path/to/nanoclaw/.claude/skills/fameclaw/

The scripts run inside NanoClaw's container sandbox. Mount ~/.config/fameclaw/ for credentials and your working directory for CSV output. Uses NanoClaw's task scheduler for recurring runs.

Both integrations use the same core scripts — zero divergence, zero API keys, fully local.

License

MIT — most of FameClaw is fully open source.

FSL-1.1-MIT — the scoring engine (score_channels.py) and negotiation engine (negotiate.py) are licensed under the Functional Source License. You can use and modify them for any purpose except building a competing product. Redistribution is not permitted. Companies under $1M/year revenue can use them freely, including commercially. Companies over $1M/year need a commercial license.