How the ratings work

What RepoScout reads, what it asks, how a yes or a no is reached, and where it can be wrong.

The short version

RepoScout does not write an opinion about a repository. It asks a judgment model a fixed set of narrow yes-or-no questions about the repository and about you, gets a probability back for each, and then decides every action in plain code from those probabilities and a few facts GitHub states outright. You can open the Why panel on any verdict and see every number it rested on.

Three ideas carry the whole design. Each question asks one thing. Each answer is read in three bands, never as a coin flip. And the profile you wrote is sent as things you said about yourself, never as a conclusion about you.

What it reads

Everything comes from GitHub’s public API, straight from your browser. Nothing is read from a private repository: the page says whether the repository is public, and RepoScout checks that before reading anything.

Repository data is cached on your machine for 6 hours and answers for 7 days, so reopening a repository costs nothing. Editing your profile or criteria clears the answers for every open tab.

Who is asking

Your profile is three things: topics you care about, technologies you can work in, and what you would use a repository for. They go with every request, worded as stated interests, stated skills and stated use. The model is told they are things you typed and that they carry no claim about whether the repository suits you. That wording matters: a field named as a conclusion would answer the question before it was asked.

Without at least one topic or technology, RepoScout stays quiet. There is nothing to compare a repository against.

The engine, and what a percentage means

The engine is Jev, TypeSafe’s System One model, called with your own API key. It returns typed answers with probabilities rather than prose. RepoScout asks eleven yes-or-no questions, one multiple-choice question, and one yes-or-no question per open issue, all in a single request per repository.

Every yes-or-no answer is read in three bands. Above a threshold it is a yes. Below a lower threshold it is a no. Between the two it is unsettled: the repository does not say, and RepoScout shows that as its own outcome rather than rounding it either way. No threshold sits at 50 percent, because a probability near one half means the model does not know, not that the answer is medium.

The percentage beside an action is the probability of the side named. “88% yes” means the model put 88 percent on yes. “96% no” means it put 96 percent on no. An unsettled row shows the raw number with no side.

The thresholds shipped today are starting points, not measurements. Until they have been tuned on a set of real repositories, every verdict carries the line “thresholds not measured”. That line is honest and it will go away when the tuning is done.

The eleven questions

Each asks exactly one thing, and each is told what “there is nothing of this kind here” looks like, so a repository that says nothing gets a quiet no rather than a nervous maybe. In plain words:

No question asks two things at once. When an action needs two conditions, RepoScout asks two questions and combines them itself. A combined question is meaningless when half of it is absent, and a meaningless question lands near 50 percent, which a careless threshold would read as a finding.

How each action is decided

Every action is one or more of the questions above plus facts GitHub states outright, combined in code. For an action that needs everything to hold: any part that is a no makes the action a no; a part the repository does not settle leaves the action unsettled; a part that could not be read this time cannot push the action either way.

ActionWhat has to hold
StarThe subject overlaps your interests.
WatchThe subject overlaps your interests, and the repository is still moving: pushed within 6 months, or pull requests being merged.
ForkYour skills cover the stack, it is not archived, and the licence allows modification.
Clone and try locallyYour skills cover the stack, and the README says how to run it.
Use as a dependencyThe README presents an installable package, it is not archived, it was pushed within 12 months, and the licence does not pull against the use you stated. When it does, the row is capped at unsettled and a licence note explains why.
Use as a templateIt is presented as a starter, or GitHub marks it as a template, and the licence allows modification.
BookmarkThe README is reference reading.
Add to my curated listThe subject overlaps your interests, and it is a finished, usable project.
SponsorIt asks for sponsorship, the subject overlaps your interests, and it was pushed within 24 months. When there is no sponsorship ask at all, the row reads “not applicable” rather than no.
Potential to contributeSee the next section.
AvoidAny one of: archived on GitHub; no push for 18 months; one contributor holds 90 percent or more of the commits with at least 50 of them; the README says it is deprecated; the README warns against relying on it. The deprecation question is gated higher than the others, because a false “avoid” turns people away from a live project.
SkipNothing else applies. Decided in code, never asked.

Reporting an issue is not rated. RepoScout cannot know whether you hit a bug, so it offers a shortcut to the new-issue page and nothing more.

What the repository is

One multiple-choice question asks what the repository is: a library or package, an application or tool, a mobile app, a web app or service, a framework, a plugin or extension, a starter or template, reading material, data or a model, or unclear. The threshold for a multiple-choice answer is derived from the number of options, because ten options spread the probability thin and a top pick at 40 percent over ten is a strong answer, not a weak one.

Two kinds of “unclear” are shown differently. When the model spreads its probability across several real options, the line reads “could not tell what it is”. When it confidently picks unclear, the line reads “does not say what it is”. Those are opposite situations and they are never collapsed into one word.

What a plugin is for, or which language a framework serves, is not asked. It sits beside the answer, from the language and topics GitHub already states.

Potential to contribute

This one has three layers, and the first costs nothing.

The wording is deliberate. “Potential to contribute” means you have the skills and the repository is set up for newcomers. It never means you should contribute now: RepoScout knows nothing about your time.

Issues you could take

When potential to contribute is being judged, the newest 25 open issues go into the request as a list, and one yes-or-no question per issue asks whether someone with the technologies you listed could do the work that issue describes, going only by the technologies and the kind of change in its title, labels and opening lines. Documentation, examples, tests in a language you listed and reproducible bugs in your stack count as within reach; a question, a discussion or a tracking issue with nothing to do does not.

Issues that come back yes or unsettled are listed with links, confident ones first, then by probability, then the ones with the fewest comments first, since an issue nobody has commented on is the one nobody has claimed. Issues that come back no are dropped.

The first 25 go with the verdict. A “Judge 25 more” button fetches the next page and judges it, on your own GitHub quota and your own key, and keeps offering until a page comes back short. There is no cap. Every page is cached, so a reload and a second click cost nothing.

What this does not judge: how hard or how large an issue is, whether someone is already assigned, whether the maintainers want outside pull requests, or anything past the first 300 characters of the body. The comment count is only a proxy for “claimed”.

The licence note

The licence note is not a judgment call. It is a lookup from the SPDX identifier GitHub reports to a category, and a rule that compares the category with the use you stated. A strong or network copyleft licence against a proprietary use, a non-commercial licence against any commercial use, a source-available licence, or no licence at all against any use that relies on the code, each produces a note in “may” wording.

It only ever warns. It never says a repository cannot be used, because that is legal advice and this is a browser extension. When it fires, “use as a dependency” is capped at unsettled rather than turned into a no.

Where it can be wrong

What it never does

Last updated 2026-09-22.