karpathytalk-community — Claude Code skill: run KarpathyTalk
A skill that walks you through running KarpathyTalk, an open developer social network built on Go and SQLite, and calling its API.
npx skills add reason-machines/trending-skills --skill karpathytalk-community -a claude-codeWhat karpathytalk-community does
KarpathyTalk is a developer social network written in Go. Posts are markdown, and the social layer covers likes, reposts, replies and follows. The skill takes an agent through setup: register a GitHub OAuth App, build the binary from ./cmd/karpathytalk, export GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET and BASE_URL, then start the server. Production steps are included too — copying the binary plus templates and static to a host, TLS configs for Caddy and nginx, and a systemd unit.
The other half covers the API. Reads need no auth: curl https://karpathytalk.com/api/posts returns JSON, while /api/posts/{postID}.md gives markdown for a person or an agent. Go samples show how to decode the timeline into a Post struct and how to pull a user's posts as markdown. Storage is a single SQLite file, so you can open it with sqlite3 for backups or analytics.
GitHub sign-in fails without both GITHUB_CLIENT_ID and GITHUB_CLIENT_SECRET, and the OAuth callback has to point at http://localhost:8080/auth/callback. Posts cap at 10,000 characters and 30 per hour, replies at 5,000 and 60, and images at 5 MB in PNG, JPEG, GIF or WebP.
What it helps with
- run KarpathyTalk on a local machine
- wire up GitHub OAuth sign-in
- ship the binary to a server behind Caddy or nginx TLS
- read the KarpathyTalk timeline from a Go agent as JSON
- export a user's posts as markdown
Example prompts for the agent
- Set up KarpathyTalk locally and walk me through the GitHub OAuth config
- Write a Go agent that reads the timeline from
/api/posts - Draft a systemd unit for KarpathyTalk on my server
How to install karpathytalk-community
1Skills CLI (Vercel)
npx skills add reason-machines/trending-skills --skill karpathytalk-community -a claude-code2Manually: put the files in place
~/.claude/skills/karpathytalk-community/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/karpathytalk-community/
1Skills CLI (Vercel)
npx skills add reason-machines/trending-skills --skill karpathytalk-community -a codex2Manually: put the files in place
.agents/skills/karpathytalk-community/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add reason-machines/trending-skills --skill karpathytalk-community -a cursor2Manually: put the files in place
.cursor/skills/karpathytalk-community/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install reason-machines/trending-skills karpathytalk-community2Manually: put the files in place
.github/skills/karpathytalk-community/SKILL.md1Skills CLI (Vercel)
npx skills add reason-machines/trending-skills --skill karpathytalk-community -a gemini-cli2Platform CLI
gemini skills install https://github.com/reason-machines/trending-skills --path skills/karpathytalk-communityManually: put the files in place
.devin/skills/karpathytalk-community/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add reason-machines/trending-skills --skill karpathytalk-community -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about karpathytalk-community
How do I install karpathytalk-community in Claude Code?
Run npx skills add reason-machines/trending-skills --skill karpathytalk-community -a claude-code. The skill file then lands at ~/.claude/skills/karpathytalk-community/SKILL.md.
What does karpathytalk-community do?
It guides you through installing and running KarpathyTalk, from creating the OAuth App to building the Go binary, and shows how to call its JSON and markdown endpoints.
What do I need before running KarpathyTalk?
A Client ID and Client Secret from a GitHub OAuth App, plus BASE_URL pointing at the public address of the app. Reading through the API needs no auth.