From 6f5c0b518d94cec0c77d2f4057caef827dc31e9d Mon Sep 17 00:00:00 2001 From: Krishna Agarwal Date: Sat, 4 Apr 2026 23:05:49 +0800 Subject: [PATCH 1/7] Add oss-alternatives skill to tinyfish-cookbook --- skills/oss-alternatives/README.md | 67 ++++++ .../oss-alternatives/oss-alternatives.skill | Bin 0 -> 4147 bytes .../oss-alternatives/SKILL.md | 225 ++++++++++++++++++ 3 files changed, 292 insertions(+) create mode 100644 skills/oss-alternatives/README.md create mode 100644 skills/oss-alternatives/oss-alternatives.skill create mode 100644 skills/oss-alternatives/oss-alternatives/SKILL.md diff --git a/skills/oss-alternatives/README.md b/skills/oss-alternatives/README.md new file mode 100644 index 000000000..232ea6e9a --- /dev/null +++ b/skills/oss-alternatives/README.md @@ -0,0 +1,67 @@ +# OSS Alternatives Finder — Claude Skill + +**Find actively maintained open source alternatives to any paid SaaS tool or commercial API.** + +Ask Claude things like: +- *"Is there an open source alternative to Datadog?"* +- *"I want to self-host something instead of paying for Auth0"* +- *"What can I use instead of Algolia for free?"* +- *"Find me an OSS replacement for Intercom"* + +Claude will run parallel TinyFish agents across GitHub, awesome-selfhosted, and developer communities — check the real health of each candidate (last release, contributors, Docker support, feature parity) — and return a ranked list with a plain English gain/loss summary for each option. + +## What it checks + +| Signal | Why it matters | +|---|---| +| Last commit & release date | Is it actually maintained? | +| Contributor count | Will bugs get fixed? | +| Star count | Community validation | +| Docker availability | How hard is self-hosting? | +| Feature parity | What do you actually lose? | +| Community mentions | Are real devs using it? | + +## Requirements + +- TinyFish CLI installed: `npm install -g tinyfish` +- Authenticated: `tinyfish auth login` + +## Install + +**Option 1 — Claude.ai:** +Download `oss-alternatives.skill` from [Releases](../../releases) and upload to Claude.ai → Settings → Skills + +**Option 2 — CLI:** +```bash +npx skills add tinyfish-io/tinyfish-cookbook --skill oss-alternatives +``` + +## Example output + +``` +## OSS Alternatives to Datadog + +### #1 — Grafana + Prometheus ⭐ 62k +Last release: 2 weeks ago | Contributors: 1,400+ | Docker: yes | License: AGPL-3.0 + +✅ What you gain +- Full metrics, dashboards, and alerting with no per-host pricing +- Complete data ownership and retention control +- Massive plugin ecosystem + +❌ What you lose +- No built-in APM / distributed tracing (need Tempo separately) +- Significant ops overhead — you run the infrastructure +- No phone/chat support + +Bottom line: Best for teams comfortable with Kubernetes who want to escape per-seat pricing. +``` + +## Security notes + +This skill scrapes live public data from GitHub and community forums. All content is treated as untrusted and synthesised by an LLM — never executed. See [Snyk audit](https://skills.sh) for full security report. + +## Built with + +- [TinyFish Web Agent](https://tinyfish.ai) — parallel web scraping +- Part of the [TinyFish Cookbook](https://github.com/tinyfish-io/tinyfish-cookbook) diff --git a/skills/oss-alternatives/oss-alternatives.skill b/skills/oss-alternatives/oss-alternatives.skill new file mode 100644 index 0000000000000000000000000000000000000000..6974fdc70510431eb25037084d3fb381b71ede98 GIT binary patch literal 4147 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 + Find actively maintained open source alternatives to any paid SaaS tool or commercial API. + Use this skill whenever a user mentions wanting to replace, swap out, self-host, or find a + free/open source version of a paid tool — including but not limited to tools like Datadog, + Algolia, Twilio, Stripe, Auth0, Segment, Mixpanel, Intercom, PagerDuty, LaunchDarkly, + SendGrid, Cloudinary, or any other commercial developer tool or API. Also trigger when the + user says things like "is there an open source version of X", "I don't want to pay for X", + "self-host alternative to X", or "what can I use instead of X for free". + Runs parallel TinyFish agents to search GitHub and developer communities, then checks the + real health of each candidate — last release, contributor count, stars, Docker support, and + feature parity — and returns a ranked comparison with a plain English gain/loss summary. +compatibility: + tools: [tinyfish] +metadata: + author: tinyfish-community + version: "1.0" + tags: open-source saas alternatives github self-host developer-tools +--- + +# OSS Alternatives Finder + +Given any paid SaaS tool or commercial API, find and rank the best actively maintained open source alternatives by searching GitHub and developer communities in real time — then verify the health of each one and summarise exactly what a developer gains and loses by switching. + +## Pre-flight check + +Before doing anything, verify TinyFish is installed and authenticated: + +```bash +tinyfish --version +tinyfish auth status +``` + +If not installed: `npm install -g tinyfish` +If not authenticated: `tinyfish auth login` + +--- + +## Step 1 — Understand the tool + +Before searching, identify: +- **Tool name** — exactly as it is known (e.g. "Datadog", "Auth0", "Algolia") +- **Primary use case** — what problem it solves (e.g. "APM and log aggregation", "authentication", "search-as-a-service") +- **Key features the user cares about** — if not stated, infer from the tool's known capabilities + +If the user hasn't told you what aspects matter most to them, ask one quick question: "Any features that are must-haves for your switch?" — then proceed. + +--- + +## Step 2 — Parallel discovery + +Run all three discovery agents simultaneously using background processes. Each agent searches a different surface. + +```bash +# Agent 1 — GitHub search for alternatives +tinyfish agent run \ + --url "https://github.com/search?q=open+source+alternative+{TOOL_NAME}&type=repositories&s=stars&o=desc" \ + "You are on a GitHub search results page for open source alternatives to {TOOL_NAME}. + List the top 6 repository results. For each one extract: + - full repo name (owner/repo) + - star count + - description + - last commit date shown + Do NOT click any repo links. Do NOT paginate. Return JSON array of objects with fields: repo, stars, description, last_commit." \ + --sync > /tmp/oss_github.json & + +# Agent 2 — awesome-selfhosted / curated lists +tinyfish agent run \ + --url "https://github.com/awesome-selfhosted/awesome-selfhosted" \ + "You are on the awesome-selfhosted README page. Search this page for any tools related to '{TOOL_USE_CASE}' or '{TOOL_NAME}'. + List up to 5 matching entries with their name, one-line description, and the GitHub URL if shown. + Do NOT follow any links. Do NOT scroll more than twice. Return JSON array with fields: name, description, url." \ + --sync > /tmp/oss_awesome.json & + +# Agent 3 — developer community discussion +tinyfish agent run \ + --url "https://www.reddit.com/search/?q=open+source+alternative+{TOOL_NAME}+self+host&sort=relevance&t=year" \ + "You are on Reddit search results for open source alternatives to {TOOL_NAME}. + Read the titles and snippets of the top 8 posts. Extract any specific tool names mentioned as alternatives. + Do NOT click any post links. Do NOT scroll. Return a JSON array of tool names mentioned: [{name, context}]." \ + --sync > /tmp/oss_reddit.json \ + --browser-profile stealth & + +# Wait for all three to finish +wait + +# Collect results +echo "=== GITHUB ===" && cat /tmp/oss_github.json +echo "=== AWESOME ===" && cat /tmp/oss_awesome.json +echo "=== COMMUNITY ===" && cat /tmp/oss_reddit.json +``` + +Replace `{TOOL_NAME}` with the actual tool name and `{TOOL_USE_CASE}` with its primary use case before running. + +--- + +## Step 3 — Consolidate candidates + +From the three result sets, deduplicate and pick the **top 4–5 most promising candidates** based on: +- Appearing in multiple sources (strong signal) +- High star count on GitHub +- Recent activity mentioned +- Name recognition in the developer community + +Discard anything that looks abandoned, niche, or unrelated. + +--- + +## Step 4 — Health check each candidate + +For each candidate (run all in parallel): + +```bash +# For each CANDIDATE run this pattern in parallel: +tinyfish agent run \ + --url "https://github.com/{CANDIDATE_REPO}" \ + "You are on the GitHub repository page for {CANDIDATE_REPO}. + Extract ALL of the following in one pass — do not navigate away, do not click any tabs: + - Star count (top of page) + - Fork count + - Number of contributors (shown in sidebar or Insights) + - Last commit date (shown under the file list or in the latest release) + - Latest release tag and date (if shown in right sidebar under Releases) + - Whether a Dockerfile or docker-compose.yml is listed in the file tree (yes/no) + - The number of open issues + - License type + - One sentence description from the repo About section + Return as JSON: {stars, forks, contributors, last_commit, latest_release, latest_release_date, has_docker, open_issues, license, description}" \ + --sync > /tmp/oss_health_{CANDIDATE_SAFE_NAME}.json & +``` + +Run one instance of this per candidate, all backgrounded with `&`, then `wait`. + +--- + +## Step 5 — Feature parity check + +For the top 2–3 candidates only, run one quick agent per candidate to check feature parity against the original tool: + +```bash +tinyfish agent run \ + --url "https://github.com/{CANDIDATE_REPO}#readme" \ + "You are on the README of {CANDIDATE_REPO}, an open source alternative to {TOOL_NAME}. + {TOOL_NAME} is known for: {KEY_FEATURES}. + Read this README and identify: + 1. Which of those features this project supports (explicitly mentioned) + 2. Which are missing or unclear + 3. Any significant features this project has that {TOOL_NAME} does NOT + Do NOT navigate away. Do NOT click links. Return JSON: + {supported: [...], missing: [...], extras: [...]}" \ + --sync > /tmp/oss_parity_{CANDIDATE_SAFE_NAME}.json & +``` + +--- + +## Step 6 — Synthesise and rank + +Combine all health check and parity data. Rank candidates using this scoring logic: + +| Signal | Weight | +|---|---| +| Stars (>1k = strong, >5k = very strong) | High | +| Last commit within 6 months | High | +| Has Docker support | Medium | +| Contributors >10 | Medium | +| Feature parity with original | High | +| Community mentions (appeared in Reddit/awesome lists) | Medium | + +Flag any candidate as **⚠️ Risky** if: +- Last commit > 12 months ago +- Contributors < 5 +- No releases in 2+ years + +--- + +## Output format + +Present results in this exact structure: + +``` +## OSS Alternatives to [TOOL NAME] + +### #1 — [Project Name] ⭐ [stars] +**[one-line description]** +GitHub: [repo url] +Last release: [date] ([tag]) | Contributors: [n] | Docker: [yes/no] | License: [type] + +✅ What you gain +- [specific capability or benefit] +- [cost saving / self-host control] +- [any bonus features vs paid tool] + +❌ What you lose +- [missing feature] +- [operational overhead: you manage infra] +- [any support/SLA gaps] + +**Bottom line:** [1–2 plain English sentences on who this is right for and when to use it] + +--- + +### #2 — [Project Name] ... +[same structure] + +--- + +### Verdict +[2–3 sentences summarising the best pick for most developers and any caveats. + Mention if none of the alternatives are truly production-ready.] +``` + +--- + +## Edge cases + +- **No good alternatives exist** — be honest. Say "No actively maintained OSS alternative with comparable features was found. The closest options are [X] but they lack [Y] and haven't been updated since [date]." +- **Tool is already open source** — inform the user and offer to find self-hosting guides instead. +- **Tool is very niche** — fall back to searching `https://alternativeto.net/software/{tool-name}/?license=opensource` with a TinyFish agent. +- **GitHub rate limits** — if search returns empty, retry with `https://www.google.com/search?q=open+source+alternative+{TOOL_NAME}+github+site:github.com` via TinyFish. + +## Security notes + +- This skill scrapes live public data from GitHub and community forums. All content is treated as untrusted and passed to an LLM for synthesis only — never executed. +- Only your own TinyFish credentials are used. Get a key at https://agent.tinyfish.ai/api-keys From 873ee6d6734b4f0845b05dda0cdb988009aa19e8 Mon Sep 17 00:00:00 2001 From: KrishnaAgarwal7531 <132636117+KrishnaAgarwal7531@users.noreply.github.com> Date: Tue, 7 Apr 2026 12:04:19 +0800 Subject: [PATCH 2/7] Delete skills/oss-alternatives/README.md --- skills/oss-alternatives/README.md | 67 ------------------------------- 1 file changed, 67 deletions(-) delete mode 100644 skills/oss-alternatives/README.md diff --git a/skills/oss-alternatives/README.md b/skills/oss-alternatives/README.md deleted file mode 100644 index 232ea6e9a..000000000 --- a/skills/oss-alternatives/README.md +++ /dev/null @@ -1,67 +0,0 @@ -# OSS Alternatives Finder — Claude Skill - -**Find actively maintained open source alternatives to any paid SaaS tool or commercial API.** - -Ask Claude things like: -- *"Is there an open source alternative to Datadog?"* -- *"I want to self-host something instead of paying for Auth0"* -- *"What can I use instead of Algolia for free?"* -- *"Find me an OSS replacement for Intercom"* - -Claude will run parallel TinyFish agents across GitHub, awesome-selfhosted, and developer communities — check the real health of each candidate (last release, contributors, Docker support, feature parity) — and return a ranked list with a plain English gain/loss summary for each option. - -## What it checks - -| Signal | Why it matters | -|---|---| -| Last commit & release date | Is it actually maintained? | -| Contributor count | Will bugs get fixed? | -| Star count | Community validation | -| Docker availability | How hard is self-hosting? | -| Feature parity | What do you actually lose? | -| Community mentions | Are real devs using it? | - -## Requirements - -- TinyFish CLI installed: `npm install -g tinyfish` -- Authenticated: `tinyfish auth login` - -## Install - -**Option 1 — Claude.ai:** -Download `oss-alternatives.skill` from [Releases](../../releases) and upload to Claude.ai → Settings → Skills - -**Option 2 — CLI:** -```bash -npx skills add tinyfish-io/tinyfish-cookbook --skill oss-alternatives -``` - -## Example output - -``` -## OSS Alternatives to Datadog - -### #1 — Grafana + Prometheus ⭐ 62k -Last release: 2 weeks ago | Contributors: 1,400+ | Docker: yes | License: AGPL-3.0 - -✅ What you gain -- Full metrics, dashboards, and alerting with no per-host pricing -- Complete data ownership and retention control -- Massive plugin ecosystem - -❌ What you lose -- No built-in APM / distributed tracing (need Tempo separately) -- Significant ops overhead — you run the infrastructure -- No phone/chat support - -Bottom line: Best for teams comfortable with Kubernetes who want to escape per-seat pricing. -``` - -## Security notes - -This skill scrapes live public data from GitHub and community forums. All content is treated as untrusted and synthesised by an LLM — never executed. See [Snyk audit](https://skills.sh) for full security report. - -## Built with - -- [TinyFish Web Agent](https://tinyfish.ai) — parallel web scraping -- Part of the [TinyFish Cookbook](https://github.com/tinyfish-io/tinyfish-cookbook) From 513952d0a8cdb0323ef6a93994b32b369662e711 Mon Sep 17 00:00:00 2001 From: KrishnaAgarwal7531 <132636117+KrishnaAgarwal7531@users.noreply.github.com> Date: Tue, 7 Apr 2026 12:04:42 +0800 Subject: [PATCH 3/7] Delete skills/oss-alternatives/oss-alternatives.skill --- skills/oss-alternatives/oss-alternatives.skill | Bin 4147 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 skills/oss-alternatives/oss-alternatives.skill diff --git a/skills/oss-alternatives/oss-alternatives.skill b/skills/oss-alternatives/oss-alternatives.skill deleted file mode 100644 index 6974fdc70510431eb25037084d3fb381b71ede98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4147 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 Date: Tue, 7 Apr 2026 12:04:59 +0800 Subject: [PATCH 4/7] Create skills.md --- skills/oss-alternatives/skills.md | 225 ++++++++++++++++++++++++++++++ 1 file changed, 225 insertions(+) create mode 100644 skills/oss-alternatives/skills.md diff --git a/skills/oss-alternatives/skills.md b/skills/oss-alternatives/skills.md new file mode 100644 index 000000000..8ce5db06a --- /dev/null +++ b/skills/oss-alternatives/skills.md @@ -0,0 +1,225 @@ +--- +name: oss-alternatives +description: > + Find actively maintained open source alternatives to any paid SaaS tool or commercial API. + Use this skill whenever a user mentions wanting to replace, swap out, self-host, or find a + free/open source version of a paid tool — including but not limited to tools like Datadog, + Algolia, Twilio, Stripe, Auth0, Segment, Mixpanel, Intercom, PagerDuty, LaunchDarkly, + SendGrid, Cloudinary, or any other commercial developer tool or API. Also trigger when the + user says things like "is there an open source version of X", "I don't want to pay for X", + "self-host alternative to X", or "what can I use instead of X for free". + Runs parallel TinyFish agents to search GitHub and developer communities, then checks the + real health of each candidate — last release, contributor count, stars, Docker support, and + feature parity — and returns a ranked comparison with a plain English gain/loss summary. +compatibility: + tools: [tinyfish] +metadata: + author: tinyfish-community + version: "1.0" + tags: open-source saas alternatives github self-host developer-tools +--- + +# OSS Alternatives Finder + +Given any paid SaaS tool or commercial API, find and rank the best actively maintained open source alternatives by searching GitHub and developer communities in real time — then verify the health of each one and summarise exactly what a developer gains and loses by switching. + +## Pre-flight check + +Before doing anything, verify TinyFish is installed and authenticated: + +```bash +tinyfish --version +tinyfish auth status +``` + +If not installed: `npm install -g tinyfish` +If not authenticated: `tinyfish auth login` + +--- + +## Step 1 — Understand the tool + +Before searching, identify: +- **Tool name** — exactly as it is known (e.g. "Datadog", "Auth0", "Algolia") +- **Primary use case** — what problem it solves (e.g. "APM and log aggregation", "authentication", "search-as-a-service") +- **Key features the user cares about** — if not stated, infer from the tool's known capabilities + +If the user hasn't told you what aspects matter most to them, ask one quick question: "Any features that are must-haves for your switch?" — then proceed. + +--- + +## Step 2 — Parallel discovery + +Run all three discovery agents simultaneously using background processes. Each agent searches a different surface. + +```bash +# Agent 1 — GitHub search for alternatives +tinyfish agent run \ + --url "https://github.com/search?q=open+source+alternative+{TOOL_NAME}&type=repositories&s=stars&o=desc" \ + "You are on a GitHub search results page for open source alternatives to {TOOL_NAME}. + List the top 6 repository results. For each one extract: + - full repo name (owner/repo) + - star count + - description + - last commit date shown + Do NOT click any repo links. Do NOT paginate. Return JSON array of objects with fields: repo, stars, description, last_commit." \ + --sync > /tmp/oss_github.json & + +# Agent 2 — awesome-selfhosted / curated lists +tinyfish agent run \ + --url "https://github.com/awesome-selfhosted/awesome-selfhosted" \ + "You are on the awesome-selfhosted README page. Search this page for any tools related to '{TOOL_USE_CASE}' or '{TOOL_NAME}'. + List up to 5 matching entries with their name, one-line description, and the GitHub URL if shown. + Do NOT follow any links. Do NOT scroll more than twice. Return JSON array with fields: name, description, url." \ + --sync > /tmp/oss_awesome.json & + +# Agent 3 — developer community discussion +tinyfish agent run \ + --url "https://www.reddit.com/search/?q=open+source+alternative+{TOOL_NAME}+self+host&sort=relevance&t=year" \ + "You are on Reddit search results for open source alternatives to {TOOL_NAME}. + Read the titles and snippets of the top 8 posts. Extract any specific tool names mentioned as alternatives. + Do NOT click any post links. Do NOT scroll. Return a JSON array of tool names mentioned: [{name, context}]." \ + --sync > /tmp/oss_reddit.json \ + --browser-profile stealth & + +# Wait for all three to finish +wait + +# Collect results +echo "=== GITHUB ===" && cat /tmp/oss_github.json +echo "=== AWESOME ===" && cat /tmp/oss_awesome.json +echo "=== COMMUNITY ===" && cat /tmp/oss_reddit.json +``` + +Replace `{TOOL_NAME}` with the actual tool name and `{TOOL_USE_CASE}` with its primary use case before running. + +--- + +## Step 3 — Consolidate candidates + +From the three result sets, deduplicate and pick the **top 4–5 most promising candidates** based on: +- Appearing in multiple sources (strong signal) +- High star count on GitHub +- Recent activity mentioned +- Name recognition in the developer community + +Discard anything that looks abandoned, niche, or unrelated. + +--- + +## Step 4 — Health check each candidate + +For each candidate (run all in parallel): + +```bash +# For each CANDIDATE run this pattern in parallel: +tinyfish agent run \ + --url "https://github.com/{CANDIDATE_REPO}" \ + "You are on the GitHub repository page for {CANDIDATE_REPO}. + Extract ALL of the following in one pass — do not navigate away, do not click any tabs: + - Star count (top of page) + - Fork count + - Number of contributors (shown in sidebar or Insights) + - Last commit date (shown under the file list or in the latest release) + - Latest release tag and date (if shown in right sidebar under Releases) + - Whether a Dockerfile or docker-compose.yml is listed in the file tree (yes/no) + - The number of open issues + - License type + - One sentence description from the repo About section + Return as JSON: {stars, forks, contributors, last_commit, latest_release, latest_release_date, has_docker, open_issues, license, description}" \ + --sync > /tmp/oss_health_{CANDIDATE_SAFE_NAME}.json & +``` + +Run one instance of this per candidate, all backgrounded with `&`, then `wait`. + +--- + +## Step 5 — Feature parity check + +For the top 2–3 candidates only, run one quick agent per candidate to check feature parity against the original tool: + +```bash +tinyfish agent run \ + --url "https://github.com/{CANDIDATE_REPO}#readme" \ + "You are on the README of {CANDIDATE_REPO}, an open source alternative to {TOOL_NAME}. + {TOOL_NAME} is known for: {KEY_FEATURES}. + Read this README and identify: + 1. Which of those features this project supports (explicitly mentioned) + 2. Which are missing or unclear + 3. Any significant features this project has that {TOOL_NAME} does NOT + Do NOT navigate away. Do NOT click links. Return JSON: + {supported: [...], missing: [...], extras: [...]}" \ + --sync > /tmp/oss_parity_{CANDIDATE_SAFE_NAME}.json & +``` + +--- + +## Step 6 — Synthesise and rank + +Combine all health check and parity data. Rank candidates using this scoring logic: + +| Signal | Weight | +|---|---| +| Stars (>1k = strong, >5k = very strong) | High | +| Last commit within 6 months | High | +| Has Docker support | Medium | +| Contributors >10 | Medium | +| Feature parity with original | High | +| Community mentions (appeared in Reddit/awesome lists) | Medium | + +Flag any candidate as **⚠️ Risky** if: +- Last commit > 12 months ago +- Contributors < 5 +- No releases in 2+ years + +--- + +## Output format + +Present results in this exact structure: + +``` +## OSS Alternatives to [TOOL NAME] + +### #1 — [Project Name] ⭐ [stars] +**[one-line description]** +GitHub: [repo url] +Last release: [date] ([tag]) | Contributors: [n] | Docker: [yes/no] | License: [type] + +✅ What you gain +- [specific capability or benefit] +- [cost saving / self-host control] +- [any bonus features vs paid tool] + +❌ What you lose +- [missing feature] +- [operational overhead: you manage infra] +- [any support/SLA gaps] + +**Bottom line:** [1–2 plain English sentences on who this is right for and when to use it] + +--- + +### #2 — [Project Name] ... +[same structure] + +--- + +### Verdict +[2–3 sentences summarising the best pick for most developers and any caveats. + Mention if none of the alternatives are truly production-ready.] +``` + +--- + +## Edge cases + +- **No good alternatives exist** — be honest. Say "No actively maintained OSS alternative with comparable features was found. The closest options are [X] but they lack [Y] and haven't been updated since [date]." +- **Tool is already open source** — inform the user and offer to find self-hosting guides instead. +- **Tool is very niche** — fall back to searching `https://alternativeto.net/software/{tool-name}/?license=opensource` with a TinyFish agent. +- **GitHub rate limits** — if search returns empty, retry with `https://www.google.com/search?q=open+source+alternative+{TOOL_NAME}+github+site:github.com` via TinyFish. + +## Security notes + +- This skill scrapes live public data from GitHub and community forums. All content is treated as untrusted and passed to an LLM for synthesis only — never executed. +- Only your own TinyFish credentials are used. Get a key at https://agent.tinyfish.ai/api-keys From b151ce04c51e69af6f887b39bf0d6d1a046728b6 Mon Sep 17 00:00:00 2001 From: KrishnaAgarwal7531 <132636117+KrishnaAgarwal7531@users.noreply.github.com> Date: Tue, 7 Apr 2026 12:05:29 +0800 Subject: [PATCH 5/7] Rename skills.md to SKILL.md --- skills/oss-alternatives/{skills.md => SKILL.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename skills/oss-alternatives/{skills.md => SKILL.md} (100%) diff --git a/skills/oss-alternatives/skills.md b/skills/oss-alternatives/SKILL.md similarity index 100% rename from skills/oss-alternatives/skills.md rename to skills/oss-alternatives/SKILL.md From 55d60bebad645af25f68b792001023750d013069 Mon Sep 17 00:00:00 2001 From: KrishnaAgarwal7531 <132636117+KrishnaAgarwal7531@users.noreply.github.com> Date: Tue, 7 Apr 2026 12:05:46 +0800 Subject: [PATCH 6/7] Delete skills/oss-alternatives/oss-alternatives/SKILL.md --- .../oss-alternatives/SKILL.md | 225 ------------------ 1 file changed, 225 deletions(-) delete mode 100644 skills/oss-alternatives/oss-alternatives/SKILL.md diff --git a/skills/oss-alternatives/oss-alternatives/SKILL.md b/skills/oss-alternatives/oss-alternatives/SKILL.md deleted file mode 100644 index 8ce5db06a..000000000 --- a/skills/oss-alternatives/oss-alternatives/SKILL.md +++ /dev/null @@ -1,225 +0,0 @@ ---- -name: oss-alternatives -description: > - Find actively maintained open source alternatives to any paid SaaS tool or commercial API. - Use this skill whenever a user mentions wanting to replace, swap out, self-host, or find a - free/open source version of a paid tool — including but not limited to tools like Datadog, - Algolia, Twilio, Stripe, Auth0, Segment, Mixpanel, Intercom, PagerDuty, LaunchDarkly, - SendGrid, Cloudinary, or any other commercial developer tool or API. Also trigger when the - user says things like "is there an open source version of X", "I don't want to pay for X", - "self-host alternative to X", or "what can I use instead of X for free". - Runs parallel TinyFish agents to search GitHub and developer communities, then checks the - real health of each candidate — last release, contributor count, stars, Docker support, and - feature parity — and returns a ranked comparison with a plain English gain/loss summary. -compatibility: - tools: [tinyfish] -metadata: - author: tinyfish-community - version: "1.0" - tags: open-source saas alternatives github self-host developer-tools ---- - -# OSS Alternatives Finder - -Given any paid SaaS tool or commercial API, find and rank the best actively maintained open source alternatives by searching GitHub and developer communities in real time — then verify the health of each one and summarise exactly what a developer gains and loses by switching. - -## Pre-flight check - -Before doing anything, verify TinyFish is installed and authenticated: - -```bash -tinyfish --version -tinyfish auth status -``` - -If not installed: `npm install -g tinyfish` -If not authenticated: `tinyfish auth login` - ---- - -## Step 1 — Understand the tool - -Before searching, identify: -- **Tool name** — exactly as it is known (e.g. "Datadog", "Auth0", "Algolia") -- **Primary use case** — what problem it solves (e.g. "APM and log aggregation", "authentication", "search-as-a-service") -- **Key features the user cares about** — if not stated, infer from the tool's known capabilities - -If the user hasn't told you what aspects matter most to them, ask one quick question: "Any features that are must-haves for your switch?" — then proceed. - ---- - -## Step 2 — Parallel discovery - -Run all three discovery agents simultaneously using background processes. Each agent searches a different surface. - -```bash -# Agent 1 — GitHub search for alternatives -tinyfish agent run \ - --url "https://github.com/search?q=open+source+alternative+{TOOL_NAME}&type=repositories&s=stars&o=desc" \ - "You are on a GitHub search results page for open source alternatives to {TOOL_NAME}. - List the top 6 repository results. For each one extract: - - full repo name (owner/repo) - - star count - - description - - last commit date shown - Do NOT click any repo links. Do NOT paginate. Return JSON array of objects with fields: repo, stars, description, last_commit." \ - --sync > /tmp/oss_github.json & - -# Agent 2 — awesome-selfhosted / curated lists -tinyfish agent run \ - --url "https://github.com/awesome-selfhosted/awesome-selfhosted" \ - "You are on the awesome-selfhosted README page. Search this page for any tools related to '{TOOL_USE_CASE}' or '{TOOL_NAME}'. - List up to 5 matching entries with their name, one-line description, and the GitHub URL if shown. - Do NOT follow any links. Do NOT scroll more than twice. Return JSON array with fields: name, description, url." \ - --sync > /tmp/oss_awesome.json & - -# Agent 3 — developer community discussion -tinyfish agent run \ - --url "https://www.reddit.com/search/?q=open+source+alternative+{TOOL_NAME}+self+host&sort=relevance&t=year" \ - "You are on Reddit search results for open source alternatives to {TOOL_NAME}. - Read the titles and snippets of the top 8 posts. Extract any specific tool names mentioned as alternatives. - Do NOT click any post links. Do NOT scroll. Return a JSON array of tool names mentioned: [{name, context}]." \ - --sync > /tmp/oss_reddit.json \ - --browser-profile stealth & - -# Wait for all three to finish -wait - -# Collect results -echo "=== GITHUB ===" && cat /tmp/oss_github.json -echo "=== AWESOME ===" && cat /tmp/oss_awesome.json -echo "=== COMMUNITY ===" && cat /tmp/oss_reddit.json -``` - -Replace `{TOOL_NAME}` with the actual tool name and `{TOOL_USE_CASE}` with its primary use case before running. - ---- - -## Step 3 — Consolidate candidates - -From the three result sets, deduplicate and pick the **top 4–5 most promising candidates** based on: -- Appearing in multiple sources (strong signal) -- High star count on GitHub -- Recent activity mentioned -- Name recognition in the developer community - -Discard anything that looks abandoned, niche, or unrelated. - ---- - -## Step 4 — Health check each candidate - -For each candidate (run all in parallel): - -```bash -# For each CANDIDATE run this pattern in parallel: -tinyfish agent run \ - --url "https://github.com/{CANDIDATE_REPO}" \ - "You are on the GitHub repository page for {CANDIDATE_REPO}. - Extract ALL of the following in one pass — do not navigate away, do not click any tabs: - - Star count (top of page) - - Fork count - - Number of contributors (shown in sidebar or Insights) - - Last commit date (shown under the file list or in the latest release) - - Latest release tag and date (if shown in right sidebar under Releases) - - Whether a Dockerfile or docker-compose.yml is listed in the file tree (yes/no) - - The number of open issues - - License type - - One sentence description from the repo About section - Return as JSON: {stars, forks, contributors, last_commit, latest_release, latest_release_date, has_docker, open_issues, license, description}" \ - --sync > /tmp/oss_health_{CANDIDATE_SAFE_NAME}.json & -``` - -Run one instance of this per candidate, all backgrounded with `&`, then `wait`. - ---- - -## Step 5 — Feature parity check - -For the top 2–3 candidates only, run one quick agent per candidate to check feature parity against the original tool: - -```bash -tinyfish agent run \ - --url "https://github.com/{CANDIDATE_REPO}#readme" \ - "You are on the README of {CANDIDATE_REPO}, an open source alternative to {TOOL_NAME}. - {TOOL_NAME} is known for: {KEY_FEATURES}. - Read this README and identify: - 1. Which of those features this project supports (explicitly mentioned) - 2. Which are missing or unclear - 3. Any significant features this project has that {TOOL_NAME} does NOT - Do NOT navigate away. Do NOT click links. Return JSON: - {supported: [...], missing: [...], extras: [...]}" \ - --sync > /tmp/oss_parity_{CANDIDATE_SAFE_NAME}.json & -``` - ---- - -## Step 6 — Synthesise and rank - -Combine all health check and parity data. Rank candidates using this scoring logic: - -| Signal | Weight | -|---|---| -| Stars (>1k = strong, >5k = very strong) | High | -| Last commit within 6 months | High | -| Has Docker support | Medium | -| Contributors >10 | Medium | -| Feature parity with original | High | -| Community mentions (appeared in Reddit/awesome lists) | Medium | - -Flag any candidate as **⚠️ Risky** if: -- Last commit > 12 months ago -- Contributors < 5 -- No releases in 2+ years - ---- - -## Output format - -Present results in this exact structure: - -``` -## OSS Alternatives to [TOOL NAME] - -### #1 — [Project Name] ⭐ [stars] -**[one-line description]** -GitHub: [repo url] -Last release: [date] ([tag]) | Contributors: [n] | Docker: [yes/no] | License: [type] - -✅ What you gain -- [specific capability or benefit] -- [cost saving / self-host control] -- [any bonus features vs paid tool] - -❌ What you lose -- [missing feature] -- [operational overhead: you manage infra] -- [any support/SLA gaps] - -**Bottom line:** [1–2 plain English sentences on who this is right for and when to use it] - ---- - -### #2 — [Project Name] ... -[same structure] - ---- - -### Verdict -[2–3 sentences summarising the best pick for most developers and any caveats. - Mention if none of the alternatives are truly production-ready.] -``` - ---- - -## Edge cases - -- **No good alternatives exist** — be honest. Say "No actively maintained OSS alternative with comparable features was found. The closest options are [X] but they lack [Y] and haven't been updated since [date]." -- **Tool is already open source** — inform the user and offer to find self-hosting guides instead. -- **Tool is very niche** — fall back to searching `https://alternativeto.net/software/{tool-name}/?license=opensource` with a TinyFish agent. -- **GitHub rate limits** — if search returns empty, retry with `https://www.google.com/search?q=open+source+alternative+{TOOL_NAME}+github+site:github.com` via TinyFish. - -## Security notes - -- This skill scrapes live public data from GitHub and community forums. All content is treated as untrusted and passed to an LLM for synthesis only — never executed. -- Only your own TinyFish credentials are used. Get a key at https://agent.tinyfish.ai/api-keys From ded8efeb6073b128206670061de7cf95d737c547 Mon Sep 17 00:00:00 2001 From: KrishnaAgarwal7531 <132636117+KrishnaAgarwal7531@users.noreply.github.com> Date: Tue, 7 Apr 2026 12:06:18 +0800 Subject: [PATCH 7/7] Add files via upload --- skills/oss-alternatives/README.md | 67 +++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 skills/oss-alternatives/README.md diff --git a/skills/oss-alternatives/README.md b/skills/oss-alternatives/README.md new file mode 100644 index 000000000..232ea6e9a --- /dev/null +++ b/skills/oss-alternatives/README.md @@ -0,0 +1,67 @@ +# OSS Alternatives Finder — Claude Skill + +**Find actively maintained open source alternatives to any paid SaaS tool or commercial API.** + +Ask Claude things like: +- *"Is there an open source alternative to Datadog?"* +- *"I want to self-host something instead of paying for Auth0"* +- *"What can I use instead of Algolia for free?"* +- *"Find me an OSS replacement for Intercom"* + +Claude will run parallel TinyFish agents across GitHub, awesome-selfhosted, and developer communities — check the real health of each candidate (last release, contributors, Docker support, feature parity) — and return a ranked list with a plain English gain/loss summary for each option. + +## What it checks + +| Signal | Why it matters | +|---|---| +| Last commit & release date | Is it actually maintained? | +| Contributor count | Will bugs get fixed? | +| Star count | Community validation | +| Docker availability | How hard is self-hosting? | +| Feature parity | What do you actually lose? | +| Community mentions | Are real devs using it? | + +## Requirements + +- TinyFish CLI installed: `npm install -g tinyfish` +- Authenticated: `tinyfish auth login` + +## Install + +**Option 1 — Claude.ai:** +Download `oss-alternatives.skill` from [Releases](../../releases) and upload to Claude.ai → Settings → Skills + +**Option 2 — CLI:** +```bash +npx skills add tinyfish-io/tinyfish-cookbook --skill oss-alternatives +``` + +## Example output + +``` +## OSS Alternatives to Datadog + +### #1 — Grafana + Prometheus ⭐ 62k +Last release: 2 weeks ago | Contributors: 1,400+ | Docker: yes | License: AGPL-3.0 + +✅ What you gain +- Full metrics, dashboards, and alerting with no per-host pricing +- Complete data ownership and retention control +- Massive plugin ecosystem + +❌ What you lose +- No built-in APM / distributed tracing (need Tempo separately) +- Significant ops overhead — you run the infrastructure +- No phone/chat support + +Bottom line: Best for teams comfortable with Kubernetes who want to escape per-seat pricing. +``` + +## Security notes + +This skill scrapes live public data from GitHub and community forums. All content is treated as untrusted and synthesised by an LLM — never executed. See [Snyk audit](https://skills.sh) for full security report. + +## Built with + +- [TinyFish Web Agent](https://tinyfish.ai) — parallel web scraping +- Part of the [TinyFish Cookbook](https://github.com/tinyfish-io/tinyfish-cookbook)