← all repositories
kxxt/chatgpt-action

ChatGPT as your junior code reviewer, with all the reliability that implies

A GitHub Action that feeds your PR diffs to ChatGPT and posts its commentary back, because manual review is tedious and automated hallucination is apparently the alternative.

572 stars JavaScript Coding Assistants
chatgpt-action
Velocity · 7d
+0.4
★ / day
Trend
steady
star history

What it does

This action grabs a pull request’s diff, ships it to ChatGPT via a session token, and posts the model’s response as a PR comment. You configure it in a workflow file, pick “YOLO mode” (everything at once) or an experimental split-by-file mode, and let the LLM do the talking.

The interesting bit

The author is admirably upfront about the whole thing being experimental and not production-ready — a rarity in the “slap GPT on it and ship” ecosystem. The split feature, which chunks large diffs per-file to dodge 403 errors, exists but the README warns it “produces very bad results” with too many changed files. There’s even a linked example of the meltdown.

Key highlights

  • Requires a CHATGPT_SESSION_TOKEN secret — you’re essentially handing your ChatGPT session to CI
  • Two modes: “yolo” (monolithic prompt) or split: true (per-file, unstable)
  • Will 403 if prompts get too long or trigger some opaque “attack” heuristic
  • Author explicitly flags misleading comments as a risk to contributor sanity
  • Future ideas include VS Code extension and suggested changes as commits — neither implemented

Caveats

  • Code quality is self-described as “experimental”
  • ChatGPT’s reviews can be confidently wrong, which is worse than no review
  • The split feature’s instability is documented with a real failure example

Verdict

Worth a look if you want to prototype LLM-assisted review in a low-stakes repo. Skip it if you need reliable feedback, care about contributor trust, or lack patience for debugging why your CI just gaslit a junior dev about a nonexistent bug.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.