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.
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
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.
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.
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.
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.Related agents
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