sponsor-finder
Finds which dependencies of a GitHub project can be sponsored. It helps identify financial support opportunities for open-source software projects.
What it does
This agent finds which dependencies of an open-source project can be sponsored. It checks if the maintainers of these dependencies receive financial support through GitHub Sponsors.
When to use it
- ✓When using a project and wanting to support its maintainers.
- ✓When evaluating the health and support of an open-source project.
- ✓When looking for ways to financially contribute to projects you use.
Example of what to ask your AI
“Find sponsors for the dependencies of the expressjs/express project”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
It examines a project's dependencies, looks for funding information in specific files and on the web, and verifies if the links work. Then, it organizes a report showing who can be sponsored.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add github/awesome-copilot --skill sponsor-finderOr download just the file:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/sponsor-finder/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
Sponsor Finder
Discover opportunities to support the open source maintainers behind your project's dependencies. Accepts a GitHub owner/repo (e.g. /sponsor expressjs/express), uses the deps.dev API for dependency resolution and project health data, and produces a friendly sponsorship report covering both direct and transitive dependencies.
Your Workflow
When the user types /sponsor {owner/repo} or provides a repository in owner/repo format:
- Parse the input — Extract
ownerandrepo. - Detect the ecosystem — Fetch manifest to determine package name + version.
- Get full dependency tree — deps.dev
GetDependencies(one call). - Resolve repos — deps.dev
GetVersionfor each dep →relatedProjectsgives GitHub repo. - Get project health — deps.dev
GetProjectfor unique repos → OSSF Scorecard. - Find funding links — npm
fundingfield, FUNDING.yml, web search fallback. - Verify every link — fetch each URL to confirm it's live.
- Group and report — by funding destination, sorted by impact.
Step 1: Detect Ecosystem and Package
Use get_file_contents to fetch the manifest from the target repo. Determine the ecosystem and extract the package name + latest version:
| File | Ecosystem | Package name from | Version from |
|---|---|---|---|
package.json |
NPM | name field |
version field |
requirements.txt |
PYPI | list of package names | use latest (omit version in deps.dev call) |
pyproject.toml |
PYPI | [project.dependencies] |
use latest |
Cargo.toml |
CARGO | [package] name |
[package] version |
go.mod |
GO | module path |
extract from go.mod |
Gemfile |
RUBYGEMS | gem names | use latest |
pom.xml |
MAVEN | groupId:artifactId |
version |
Step 2: Get Full Dependency Tree (deps.dev)
This is the key step. Use web_fetch to call the deps.dev API:
https://api.deps.dev/v3/systems/{ECOSYSTEM}/packages/{PACKAGE}/versions/{VERSION}:dependencies
For example:
https://api.deps.dev/v3/systems/npm/packages/express/versions/5.2.1:dependencies
This returns a nodes array where each node has:
versionKey.name— package nameversionKey.version— resolved versionrelation—"SELF","DIRECT", or"INDIRECT"
This single call gives you the entire dependency tree — both direct and transitive — with exact resolved versions. No need to parse lockfiles.
URL encoding
Package names containing special characters must be percent-encoded:
@colors/colors→%40colors%2Fcolors- Encode
@as%40,/as%2F
For repos without a single root package
If the repo doesn't publish a package (e.g., it's an app not a library), fall back to reading package.json dependencies directly and calling deps.dev GetVersion for each.
Step 3: Resolve Each Dependency to a GitHub Repo (deps.dev)
For each dependency from the tree, call deps.dev GetVersion:
https://api.deps.dev/v3/systems/{ECOSYSTEM}/packages/{NAME}/versions/{VERSION}
From the response, extract:
relatedProjects→ look forrelationType: "SOURCE_REPO"→projectKey.idgivesgithub.com/{owner}/{repo}links→ look forlabel: "SOURCE_REPO"→urlfield
This works across all ecosystems — npm, PyPI, Cargo, Go, RubyGems, Maven, NuGet — with the same field structure.
Efficiency rules
- Process in batches of 10 at a time.
- Deduplicate — multiple packages may map to the same repo.
- Skip deps where no GitHub project is found (count as "unresolvable").
Step 4: Get Project Health Data (deps.dev)
For each unique GitHub repo, call deps.dev GetProject:
https://api.deps.dev/v3/projects/github.com%2F{owner}%2F{repo}
From the response, extract:
scorecard.checks→ find the"Maintained"check →score(0–10)starsCount— popularity indicatorlicense— project licenseopenIssuesCount— activity indicator
Use the Maintained score to label project health:
- Score 7–10 → ⭐ Actively maintained
- Score 4–6 → ⚠️ Partially maintained
- Score 0–3 → 💤 Possibly unmaintained
Efficiency rules
- Only fetch for unique repos (not per-package).
- Process in batches of 10 at a time.
- This step is optional — skip if rate-limited and note in output.
Step 5: Find Funding Links
For each unique GitHub repo, check for funding information using three sources in order:
…
FAQ
What are 'dependencies'?
They are other pieces of code that a project uses to function, like parts of a puzzle.
What is GitHub Sponsors?
It's a platform on GitHub where individuals and companies can financially support open-source developers and projects.
What are 'transitive dependencies'?
These are the dependencies of dependencies. Think of them as friends of your friends; they are also part of your network.
Details
Original description by the author
Find which of a GitHub repository's dependencies are sponsorable via GitHub Sponsors. Uses deps.dev API for dependency resolution across npm, PyPI, Cargo, Go, RubyGems, Maven, and NuGet. Checks npm funding metadata, FUNDING.yml files, and web search. Verifies every link. Shows direct and transitive dependencies with OSSF Scorecard health data. Invoke with /sponsor followed by a GitHub owner/repo (
repo: github/awesome-copilot
Popularity
- GitHub stars
- 40k
- Ranking position
- #5373
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
acquire-codebase-knowledge
Helps your agent understand and document an existing code project. It's useful for onboarding new people or getting an overview of the architecture.
github/awesome-copilot
acreadiness-assess
Enables your agent to assess a project's readiness for AI and generate a report. It's useful for understanding how well a project is prepared to use AI tools.
github/awesome-copilot
acreadiness-generate-instructions
Helps your agent create instructions for AI tools based on an assessment. It's useful for improving how AI interacts with code and closing identified gaps.
github/awesome-copilot
acreadiness-policy
Enables your agent to help define or apply policies for AI project assessment. It's useful for standardizing how projects are evaluated and ensuring compliance.
github/awesome-copilot
Similar skills
benchmark-optimization-loop
Has your agent improve something's speed in a measured way. It tests multiple versions and chooses the fastest one that still works correctly.
affaan-m/ECC
change-impact
Helps your agent analyze the impact of code changes before making them. It compares the planned vs. actual results afterward, covering paths, data, tests, and documentation. Useful for risky or system-wide changes.
affaan-m/ECC
click-path-audit
Lets your agent trace all user buttons and interactions to find bugs. It finds issues where functions seem to work alone but fail together. Useful when bugs persist even after debugging.
affaan-m/ECC