Show HN: Forkwatch – Discover meaningful patches hiding in GitHub forks
Hey HN,

I had Claude build a CLI tool that analyzes GitHub forks to surface changes that haven't been submitted as PRs.

The core idea is convergence: when multiple independent forks touch the same file and make the same change, that's a strong signal something needs fixing upstream.

Example: I ran forkwatch against a Ruby API client library and found 11 independent forks all upgrading the same stale dependency. 4 of them made byte-for-byte identical changes to another file.

$ forkwatch analyze maximadeka/convertkit-ruby

convertkit-ruby.gemspec (11 forks converge here)

  WebinarGeek +1 -2 — Change gitspec faraday version
    -  spec.add_runtime_dependency "faraday", "~> 1.0"
    -  spec.add_runtime_dependency "faraday_middleware", "~> 1.0"
    +  spec.add_runtime_dependency "faraday", '>= 2.0'
  ...
lib/convertkit/connection.rb (4 forks converge here)

  Most common change pattern:
      require "faraday"
     -require "faraday_middleware"
      require "json"
  WebinarGeek, chaiandconversation, alexbndk, excid3
It filters out noise (dependabot, lock files, CI config), groups forks by files changed, and deduplicates identical patches. There's a --json flag for scripting/AI and a --patch flag that outputs a unified diff you can pipe to git apply.

Uses the GitHub CLI for auth and one API call per fork. Written in Go.

https://github.com/stympy/forkwatch

This is cool, I’ve spent time picking through forks looking for high signal options.

It would be cool if this was paired with a skill to assist in interpreting results and separate out bug fixes from features.

Yeah, I should add that! Here's a prompt I gave Claude:

"Based on the output of running forkwatch against the maximadeka/convertkit-ruby repo, what would you suggest for a PR to that repo?"

That resulted in Claude forking the repo, applying patches from the forks and offering to open this PR: https://github.com/maximadeka/convertkit-ruby/pull/41