GitHub Repository → Blog Post Generator
by: Tomás Ospina.
Overview
An agent that turns a GitHub repository into a publishable technical article. It pulls the repo’s metadata and README through the GitHub API, analyses what the project actually does, and has GPT-4 write the piece — rendered through a Jinja2 template with the Jekyll front matter already in place.


Problem & Solution
The work of writing up a project is mostly retrieval — what does it do, what is it built with, what is interesting about it — and that information already lives in the repository. The agent does the retrieval and the first draft; the human does the editing, which is the part that actually needs a human.
The generated posts target recruiters specifically, so the prompt asks for the impact and the stack up front rather than a commit-by-commit narrative.
Pipeline
GitHub Repository → Analysis → LLM (OpenAI) → Blog Post (Markdown)
github_client.py— fetches name, description, primary language, stars and README.analyzer.py— structures that raw data into the fields the prompt needs.llm_writer.py— GPT-4 generates the article.writer.py— renders the Jinja2 Jekyll template intooutput/.
Technical Specifications
| Item | Detail |
| ———– | ———————————————– |
| Language | Python 3.8+ |
| Model | GPT-4 family via the OpenAI API |
| Templating | Jinja2, customisable per blog engine |
| Output | Markdown with Jekyll front matter, ready to drop into _posts/ |
What I Learned
Templating the output was worth more than tuning the prompt. Once the front matter and structure were fixed by the template, the model only had to be good at prose — a much narrower job than “produce a valid Jekyll post”.
🔒 Private repository — happy to walk through the code on request.