sdk-adoption-tracker
Given your SDK or library name, searches GitHub code search for public repos that import or require it, classifies each repo as company org, affiliated developer, solo developer, or tutorial noise, scores by adoption signal strength, detects new adopters by date, and outputs a ranked list of who is building on you with outreach context per high-signal company. Use when asked to find who uses your SDK, track SDK adoption, find companies building on your library, identify warm leads from existing SDK users, or see which orgs import your package. Trigger when a user says "who is using my SDK", "f
npx skills add Varnan-Tech/opendirectory --skill sdk-adoption-tracker --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
Takes an SDK name and searches GitHub code for public repos that import or require it. It classifies each repo as company_org, affiliated_dev, solo_dev, or tutorial_noise, scores adoption signal strength, detects new adopters by date, and outputs a ranked adoption report with outreach context per high-signal company.
How it works
- Setup check mandates a GITHUB_TOKEN; verifies rate limits via API calls.
- Gather Input: collects SDK name, ecosystem (auto-detected or overridden), optional owner to exclude, and optional product context.
- Search GitHub Code: builds ecosystem-specific query patterns (npm, python, go, or generic), queries GitHub code search, gathers matching repos, and saves raw results.
- Score and Classify Repos: runs locally in Python. Excludes the SDK publisher’s own repos, detects tutorial_noise via keywords and names, assigns a tier (company_org, affiliated_dev, solo_dev, tutorial_noise), and computes an adoption_score based on owner type and non-noise status.
- Enrich High-Signal Repos: for non-noise repos, fetches full repo metadata, owner profile, and top contributors to enrich the output for outreach context.
When to use it
Trigger phrases include: "who is using my SDK", "find repos that import my library", "track adoption of my package", "which companies are building on my SDK", "find my SDK users on GitHub", or "show me who imports my package". Use to identify who is adopting the SDK, track adoption over time, locate warm leads, and see which organizations import the package.
What it can touch
- Uses GITHUB_TOKEN for code search and REST API calls to fetch repo metadata and contributors. Commands and file names are exactly as described in the steps and code blocks of the skill.
Caveats
- Outputs must come from the GitHub code search API; any field left empty in the API responses is labeled as "not listed". If no results are found, the skill reports that outcome. Tutorial noise filtering excludes examples, demos, and similar non-production repos. The workflow relies on public repos and may miss private or recently indexed adopters.
# SDK Adoption Tracker Take an SDK name. Search GitHub for public repos that import it. Score each repo by company signal, activity, and noise indicators. Enrich high-signal repos with owner and contributor data. Output a ranked adoption report with outreach context for company adopters. --- **Critical rule:** Every repo in the output must exist in the GitHub code search API response. Every company name must come from the GitHub user or org API `company` or `name` field. Every contributor handle must come from the GitHub contributors API response. If any field is empty in the API, write "not listed" -- do not infer, guess, or extrapolate. --- ## Common Mistakes | The agent will want to... | Why that's wrong | |---|---| | Run code search without GITHUB_TOKEN | Unauthenticated code search hits a 3 req/min secondary rate limit and fails on any meaningful scan. GITHUB_TOKEN is required. Stop at Step 1 with a clear error if it is missing. | | Include forks of the SDK itself | Repos that fork the SDK are contributors or mirrors, not adopters. Filter out repos where `fork == true` AND the repo name matches the SDK name. | | Send all 500 raw search results to the AI | Code search can retur
- Common Mistakes
- Step 1: Setup Check
- Step 2: Gather Input
- Step 3: Search GitHub Code
- Step 4: Score and Classify Repos
- Step 5: Enrich High-Signal Repos
- Step 6: Generate Adoption Briefs
- Step 7: Self-QA
- Step 8: Save and Present Output
if [ -z "$GITHUB_TOKEN" ]; then echo "ERROR: GITHUB_TOKEN is required for code search." echo "Add a token at github.com/settings/tokens (no scopes needed for public repos)." echo "Without it, GitHub code search hits a 3 req/min secondary rate limit and fails." exit 1 fi echo "GITHUB_TOKEN: set" curl -s -H "Authorization: Bearer $GITHUB_TOKEN" \ import json, sys d = json.load(sys.stdin)
What does the sdk-adoption-tracker skill do?
Given your SDK or library name, searches GitHub code search for public repos that import or require it, classifies each repo as company org, affiliated developer, solo developer, or tutorial noise, scores by adoption signal strength, detects new adopters by date, and outputs a ranked list of who is building on you with outreach context per high-signal company. Use when asked to find who uses your SDK, track SDK adoption, find companies building on your library, identify warm leads from existing SDK users, or see which orgs import your package. Trigger when a user says "who is using my SDK", "f
How do I install it?
Run `npx skills add Varnan-Tech/opendirectory --skill sdk-adoption-tracker --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From Varnan-Tech/opendirectory, a repository with 571 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
