You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/README.skills.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -57,7 +57,7 @@ Skills differ from other primitives by supporting bundled assets (scripts, code
57
57
|[refactor](../skills/refactor/SKILL.md)| Surgical code refactoring to improve maintainability without changing behavior. Covers extracting functions, renaming variables, breaking down god functions, improving type safety, eliminating code smells, and applying design patterns. Less drastic than repo-rebuilder; use for gradual improvements. | None |
58
58
|[scoutqa-test](../skills/scoutqa-test/SKILL.md)| This skill should be used when the user asks to "test this website", "run exploratory testing", "check for accessibility issues", "verify the login flow works", "find bugs on this page", or requests automated QA testing. Triggers on web application testing scenarios including smoke tests, accessibility audits, e-commerce flows, and user flow validation using ScoutQA CLI. IMPORTANT: Use this skill proactively after implementing web application features to verify they work correctly - don't wait for the user to ask for testing. | None |
59
59
|[snowflake-semanticview](../skills/snowflake-semanticview/SKILL.md)| Create, alter, and validate Snowflake semantic views using Snowflake CLI (snow). Use when asked to build or troubleshoot semantic views/semantic layer definitions with CREATE/ALTER SEMANTIC VIEW, to validate semantic-view DDL against Snowflake via CLI, or to guide Snowflake CLI installation and connection setup. | None |
60
-
|[sponsor-finder](../skills/sponsor-finder/SKILL.md)| 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 by providing a GitHub owner/repo (e.g. "find sponsorable dependencies in expressjs/express"). | None |
60
+
|[sponsor-finder](../skills/sponsor-finder/SKILL.md)| 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 (e.g. "/sponsor expressjs/express"). | None |
61
61
|[terraform-azurerm-set-diff-analyzer](../skills/terraform-azurerm-set-diff-analyzer/SKILL.md)| Analyze Terraform plan JSON output for AzureRM Provider to distinguish between false-positive diffs (order-only changes in Set-type attributes) and actual resource changes. Use when reviewing terraform plan output for Azure resources like Application Gateway, Load Balancer, Firewall, Front Door, NSG, and other resources with Set-type attributes that cause spurious diffs due to internal ordering changes. |`references/azurerm_set_attributes.json`<br />`references/azurerm_set_attributes.md`<br />`scripts/.gitignore`<br />`scripts/README.md`<br />`scripts/analyze_plan.py`|
62
62
|[vscode-ext-commands](../skills/vscode-ext-commands/SKILL.md)| Guidelines for contributing commands in VS Code extensions. Indicates naming convention, visibility, localization and other relevant attributes, following VS Code extension development guidelines, libraries and good practices | None |
63
63
|[vscode-ext-localization](../skills/vscode-ext-localization/SKILL.md)| Guidelines for proper localization of VS Code extensions, following VS Code extension development guidelines, libraries and good practices | None |
Copy file name to clipboardExpand all lines: skills/sponsor-finder/SKILL.md
+61-60Lines changed: 61 additions & 60 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,15 +1,15 @@
1
1
---
2
2
name: sponsor-finder
3
-
description: 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 by providing a GitHub owner/repo (e.g. "find sponsorable dependencies in expressjs/express").
3
+
description: 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 (e.g. "/sponsor expressjs/express").
4
4
---
5
5
6
6
# Sponsor Finder
7
7
8
-
Find which of a repository's open source dependencies accept sponsorship via GitHub Sponsors (or Open Collective, Ko-fi, etc.). Accepts a GitHub `owner/repo`, uses the deps.dev API for dependency resolution and project health data, and produces a verified sponsorship report covering both direct and transitive dependencies.
8
+
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.
9
9
10
10
## Your Workflow
11
11
12
-
When the user provides a repository in `owner/repo` format:
12
+
When the user types `/sponsor {owner/repo}` or provides a repository in `owner/repo` format:
13
13
14
14
1.**Parse the input** — Extract `owner` and `repo`.
15
15
2.**Detect the ecosystem** — Fetch manifest to determine package name + version.
@@ -125,10 +125,20 @@ Use `web_fetch` on `https://registry.npmjs.org/{package-name}/latest` and check
125
125
-**Object:**`{"type": "opencollective", "url": "https://opencollective.com/express"}` → use `url`
126
126
-**Array:** collect all URLs
127
127
128
-
### 5b: `.github/FUNDING.yml`
128
+
### 5b: `.github/FUNDING.yml` (repo-level, then org-level fallback)
129
+
130
+
**Step 5b-i — Per-repo check:**
129
131
Use `get_file_contents` to fetch `{owner}/{repo}` path `.github/FUNDING.yml`.
130
132
131
-
Parse the YAML:
133
+
**Step 5b-ii — Org/user-level fallback:**
134
+
If 5b-i returned 404 (no FUNDING.yml in the repo itself), check the owner's default community health repo:
135
+
Use `get_file_contents` to fetch `{owner}/.github` path `FUNDING.yml`.
136
+
137
+
GitHub supports a [default community health files](https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file) convention: a `.github` repository at the user/org level provides defaults for all repos that lack their own. For example, `isaacs/.github/FUNDING.yml` applies to all `isaacs/*` repos.
138
+
139
+
Only look up each unique `{owner}/.github` repo **once** — reuse the result for all repos under that owner. Process in batches of **10 owners at a time**.
Sponsoring just {N} people/orgs supports {sponsorable} of your {total} dependencies — a great way to invest in the open source your project depends on.
-**Lead with "🎯 Ways to Give Back"** — this is the primary output. Numbered list, sorted by total deps covered (descending).
226
+
-**Bare URLs on their own line** — not wrapped in markdown link syntax. This ensures they're clickable in any terminal emulator.
227
+
-**Inline dep names** — list the covered dependency names in a comma-separated line under each sponsor, so the user sees exactly what they're funding.
228
+
-**Health indicator inline** — show ⭐/⚠️/💤 next to each destination, not in a separate table column.
229
+
-**One "📊 Coverage" section** — compact stats. No separate "Verified Funding Links" table, no "No Funding Found" table.
230
+
-**Unfunded deps as a brief note** — just the count + top names. Frame as "don't have funding set up yet" rather than highlighting a gap. Never shame projects for not having funding — many maintainers prefer other forms of contribution.
231
231
- 💜 GitHub Sponsors, 🟠 Open Collective, ☕ Ko-fi, 🔗 Other
232
-
- Prioritize GitHub Sponsors links when multiple funding sources exist
233
-
- The **💡 summary line** tells the user the minimum number of sponsorships to cover everything
232
+
- Prioritize GitHub Sponsors links when multiple funding sources exist for the same maintainer.
234
233
235
234
---
236
235
@@ -248,10 +247,12 @@ Only show the top 10 unfunded direct deps. If more, note "... and {N} more".
248
247
249
248
1.**NEVER present unverified links.** Fetch every URL before showing it. 5 verified links > 20 guessed links.
250
249
2.**NEVER guess from training knowledge.** Always check — funding pages change over time.
251
-
3.**Be transparent.** Show "How Verified" and "Direct?" columns so users understand the data.
252
-
4.**Use deps.dev as primary resolver.** Fall back to registry APIs only if deps.dev is unavailable.
253
-
5.**Always use GitHub MCP tools** (`get_file_contents`), `web_fetch`, and `web_search` — never clone or shell out.
254
-
6.**Be efficient.** Batch API calls, deduplicate repos, respect sampling limits.
255
-
7.**Focus on GitHub Sponsors.** Most actionable platform — show others but prioritize GitHub.
256
-
8.**Deduplicate by maintainer.** Group to show real impact of sponsoring one person.
257
-
9.**Show the actionable minimum.** The 💡 line tells users the fewest sponsorships to cover all funded deps.
250
+
3.**Always be encouraging, never shaming.** Frame results positively — celebrate what IS funded, and treat unfunded deps as an opportunity, not a failing. Not every project needs or wants financial sponsorship.
251
+
4.**Lead with action.** The "🎯 Ways to Give Back" section is the primary output — bare clickable URLs, grouped by destination.
252
+
5.**Use deps.dev as primary resolver.** Fall back to registry APIs only if deps.dev is unavailable.
253
+
6.**Always use GitHub MCP tools** (`get_file_contents`), `web_fetch`, and `web_search` — never clone or shell out.
254
+
7.**Be efficient.** Batch API calls, deduplicate repos, check each owner's `.github` repo only once.
255
+
8.**Focus on GitHub Sponsors.** Most actionable platform — show others but prioritize GitHub.
256
+
9.**Deduplicate by maintainer.** Group to show real impact of sponsoring one person.
257
+
10.**Show the actionable minimum.** Tell users the fewest sponsorships to support the most deps.
258
+
11.**Minimize intermediate output.** Don't announce each batch. Collect all data, then output one cohesive report.
0 commit comments