How the ranking works

Viral Agent ranks momentum, not size. A small project that doubled its following this week beats a giant that grew by a fraction of a percent. This page lists every rule, so you can check our work.

Where the data comes from

  • GitHub. We search for repositories under agent-related topics and keywords, and record star and fork counts for every tracked project once a day. GitHub stars are how developers bookmark projects, so a burst of new stars is a good early sign of attention.
  • Hacker News. Stories, points, and comments from the Hacker News search API. This is the main signal for products without a public code repository.
  • The official MCP Registry. New and updated MCP servers. MCP (Model Context Protocol) is a standard way to connect AI apps like Claude to other tools. The registry has no popularity numbers, so it is used to find projects, not to rank them.
  • npm and PyPI. Weekly download counts for packages we can confirm belong to a project, because the package points back to the same repository.
  • Hugging Face Spaces. Apps that run in the browser, with their like counts.
  • GitHub code search for Claude skills and plugin collections.

We do not use Product Hunt, Reddit, or X. Their terms or prices do not allow this kind of use.

Our search vocabulary updates itself. Once a month we look at which GitHub topics appear most often on relevant agents and add new ones that mostly lead to agent projects. Every change is logged.

Who gets tracked

A GitHub project is tracked once it passes one of these bars, has been updated in the last 180 days, and is not archived or a fork:

  • 100 stars, or 25 stars if it is under 90 days old
  • 50 stars for MCP servers and Claude skills or plugins
  • 10 stars if a Hacker News story about it reached 50 points

Products without a repository are tracked when a Show HN or Launch HN post about them reaches 50 points, or when their makers submit them.

The momentum score

Each tracked project gets a score for the week from four parts:

  1. Star gain, scaled by size. New stars this week divided by the square root of the stars it started the week with (plus 500, so tiny projects cannot win on a handful of stars). A 2,000-star project that gains 1,000 stars scores about 20. A 300,000-star project that gains 2,000 scores about 3.6. Hugging Face likes are treated the same way, with 50 in place of 500.
  2. Hacker News attention. 1.5 times the natural log of (1 + points + comments) for stories posted that week.
  3. Download growth. For packages above 1,000 weekly downloads: 2 times the number of times downloads doubled from the week before, capped at 3 doublings.
  4. Acceleration. This week's gain compared with last week's, as a base-2 log ratio (with 25 added to both, and clamped between -1 and 2). It moves the score up or down by 15% per step, so a project that is speeding up beats one that is slowing down.

To rank in a week, a project needs at least 50 new stars, 20 new likes, a Hacker News story with 50 points, or real download growth.

Guarding against bought stars

Fake GitHub stars are for sale, and agent projects are a common target. We discount a score, without removing the project, when we see these patterns:

  • More than 80 stars per fork on a project with over 1,000 stars. Real projects get forked; bought stars do not. Score times 0.7.
  • A single contributor and a sudden spike of 500+ stars, more than 4 times the previous week. Score times 0.85.
  • An owner account younger than 60 days. Score times 0.7.
  • At least 70% of a week's 500+ new stars arriving on a single day, with no Hacker News story of 100+ points to explain it. Real attention builds over several days; bought stars tend to land at once. Score times 0.6.

None of these is proof of wrongdoing, which is why they reduce a score instead of removing a listing. GitHub stopped publishing who starred a repo in 2026, so we can no longer inspect the accounts behind a burst of stars; the checks above use counts only.

When things update

  • Every day: new data is collected, new projects are added and described, and the Rising list is recalculated.
  • Every Monday: the leaderboard for the week that just ended (Monday to Sunday, UTC) is frozen. Frozen weeks never change, so a badge that says "#3 in week 44" stays true.
  • Every month: the search vocabulary is reviewed, inactive projects are marked, and a sample of summaries is checked for drift.

Rising uses the same parts as the weekly score, over the last three days, compared with the project's average three-day pace over the two weeks before. The bar is lower: 20 new stars, 10 likes, or a 30-point story.

If the data on a page is more than 3 days old, the page says so at the top.

How summaries are written

The plain-English summaries are written by an AI model (Claude Haiku, from Anthropic) using only each project's own text: its description, README, and website. The model is told to say "not stated" rather than guess, to never invent features or prices, and to follow our copy rules. Every summary is checked by a script before it is saved. Each one records the version of the instructions that produced it, and we re-check a random sample every month.

Each summary also gets a confidence rating. Low-confidence summaries carry a note, and pages for projects that never ranked and have low confidence are hidden from search engines.

Setup difficulty uses five fixed levels:

  1. Works in your browser or phone. Nothing to install. Open a website or app and start.
  2. Adds to an AI app you already use. Connects to Claude, ChatGPT, or a similar app you already have, usually through a settings screen.
  3. Install a desktop app or browser extension. Download and install it like any other app or extension.
  4. Guided command-line setup. You copy and paste commands into a terminal by following the instructions. Comfortable territory for vibe coders.
  5. Requires programming. You need to write code to use it.

The main leaderboard shows levels 1 to 4. Level 5, and frameworks for developers, are in Builder tools.

Cost is recorded only when the project states it: free and open source, free tier plus paid plans, or paid. Otherwise it says "not stated".

Pages and listings

  • Audience and task pages are published once at least 5 agents qualify for them.
  • Curated lists, tutorials, and courses are never ranked.
  • When a project is archived or disappears, its page stays up with a note and it leaves the rankings. After 180 days we ask search engines to stop showing the page.
  • Submissions from makers are listed if they pass the same checks as everything else. Submissions, badges, and links never affect rank. Rank comes from public data only.

Known limits

  • Products without a public code repository have fewer signals, so they rank less often than their real popularity might deserve.
  • Stars measure developer attention, which leans toward developer tools. That is one reason every entry is labeled with setup difficulty.
  • Some sites are built entirely in JavaScript, so our badge checker cannot see a badge on them. Makers should place the badge in their page's HTML, for example in the footer.

Changes to the method

  • v1 (Oct 28, 2026): First version.

The full dataset is public. See open data and API.