Skip to content
One Agent a DayIn → agent → out

Issue 39 · 13 Oct 2026 · Easy · Free

Roast My GitHub

Your GitHub profile is a museum of half-finished repos and a README that says 'passionate developer.' You want the joke, and then you want the one true thing.

Hand it a GitHub profile and get a sharp, affectionate roast of the work, plus one fix worth doing this week.

Category
Fun & Weird
Runs in
ChatGPT
Claude
Gemini

What you put in and what you get out

You put in

Pick the account. Use your own login, or any public account. Do not roast a private person who is not a public maintainer you would actually tease to their face.

Agent

Roast My GitHub

You get out

One serious fix. This week: write a four-line README on ai-saas-boilerplate that says what it is, who it is for, and how to run it. Pin that. Archive the todo app.

Sample you can paste

{
  "profile": {
    "login": "pixel-pat",
    "name": "Pat Nguyen",
    "bio": "Passionate full-stack ninja. Building the future.",
    "blog": "",
    "public_repos": 46,
    "followers": 12,
    "created_at": "2019-03-02"
  },
  "repos": [
    {"name": "my-portfolio", "description": "personal site", "language": "HTML", "stars": 0, "pushed_at": "2022-11-01", "archived": false},
    {"name": "ai-saas-boilerplate", "description": null, "language": "TypeScript", "stars": 1, "pushed_at": "2026-09-28", "archived": false},
    {"name": "todo-app-react", "description": "todo app", "language": "JavaScript", "stars": 0, "pushed_at": "2021-01-14", "archived": false},
    {"name": "awesome-prompts", "description": "prompts", "language": null, "stars": 3, "pushed_at": "2024-06-02", "archived": false}
  ]
}

Share this agent

Roast My GitHub — You put in {. You get out One serious fix. Free from One Agent a Day.

Share on XShare on LinkedIn

30-second demo

0:00

The bio writes itself

Pat's bio says 'full-stack ninja' and 'building the future.' The blog field is empty. 46 public repos, 12 followers.

How it works

This is a roast of the work, not of the person. It reads a public GitHub profile the way a blunt friend would: the bio, the empty blog link, the repos that have not moved since the pandemic, the one project that is actually alive.

It is not a security review and it does not browse private repos. It will not comment on appearance, identity, family, or anything that is not on the public profile you pasted.

Pull the brief

Set user and paste this in the browser console on github.com. Unauthenticated requests share a small rate limit, which is plenty for one profile.

const user = "octocat";
const headers = { Accept: "application/vnd.github+json" };
const [profile, repos] = await Promise.all([
  fetch(`https://api.github.com/users/${user}`, { headers }).then((r) => r.json()),
  fetch(`https://api.github.com/users/${user}/repos?per_page=100&sort=pushed`, { headers }).then((r) => r.json()),
]);
const brief = {
  profile: {
    login: profile.login,
    name: profile.name,
    bio: profile.bio,
    company: profile.company,
    blog: profile.blog,
    public_repos: profile.public_repos,
    followers: profile.followers,
    created_at: profile.created_at,
  },
  repos: (Array.isArray(repos) ? repos : [])
    .filter((repo) => !repo.fork)
    .sort((a, b) => b.stargazers_count - a.stargazers_count)
    .slice(0, 8)
    .map((repo) => ({
      name: repo.name,
      description: repo.description,
      language: repo.language,
      stars: repo.stargazers_count,
      pushed_at: repo.pushed_at ? repo.pushed_at.slice(0, 10) : "",
      archived: repo.archived,
    })),
};
copy(JSON.stringify(brief, null, 2));

If repos comes back as an error object, you are rate-limited. Wait, or paste the profile page by hand.

Use it

  1. Step 1

    Pick the account

    Use your own login, or any public account. Do not roast a private person who is not a public maintainer you would actually tease to their face.

  2. Step 2

    Pull a small JSON brief

    Open any GitHub page while logged in, open the console, and run the snippet on this page with the login filled in. It copies profile fields and the eight busiest original repos.

  3. Step 3

    Paste the prompt and the JSON

    New chat. Paste the prompt, then the JSON. If the API rate-limits you, paste the profile README and the pinned repo list instead.

  4. Step 4

    Keep the last line

    The roast is for sharing. The last section is a single fix. Do that one, or admit you will not.

Prompt

roast-my-github.prompt.txt

You roast public GitHub profiles. You are funny, specific, and on the person's side. You punch at the repositories, the README, and the commit habits. You never punch at the human's body, identity, family, nationality, disability, or anything they did not put on the public profile.

INPUT
A JSON brief with profile fields and up to 8 original repos, or a paste of the profile README plus pinned repo names. If a field is missing, do not invent it.

RULES
- Every joke must name a real repo, a real date, a real empty field, or a real phrase from the bio. No generic "touch grass."
- Do not claim you cloned the code or ran it. You only know what was pasted.
- If the profile is thin, roast the thinness in a few lines and stop. Do not pad.
- Keep it shareable. A colleague should be able to read it without wincing for the wrong reason.
- End with exactly one serious fix that can be done in under two hours this week. The fix must be concrete: a README section, an archive decision, a pin change, a description, or a dead link.

OUTPUT
## The roast
4 to 8 short lines. Line breaks are the joke timing. No hashtags.

## The one true thing
One sentence, not a joke, about what the profile is actually communicating.

## Do this this week
One action. Name the repo. Say what "done" looks like.
Was this useful?

A yes or no is enough. The note stays on this server's log.

Tomorrow's drop

Get the next agent in your inbox

One email when the drop goes up. No digest, no course. Unsubscribe whenever the provider lets you.

Pro and custom

€9/month when Pro opens

Early look at the next drop, a better archive, and the occasional agent that does not fit the public mix. The daily agent stays free. A custom build is €49–199. Nothing is charged from this form.

Join the Pro waitlist