Turn a week of GitHub activity into a blog post

Posted on Mar 27 • Edited on Mar 29. Task: The author built DevNotion, a 3-agent pipeline using Mastra to automate weekly content creation. It harvests GitHub activity (commits, PRs, issues) via GraphQL, narrates it into a blog post using Gemini, and publishes to Notion and DEV.to. The workflow runs automatically every Sunday via GitHub Actions, with the author reviewing the DEV.to drafts before final publication.; tools: custom-built or unnamed agent. Human role: The original post does not say how a person stayed involved.; limitations: Prerequisites include GitHub, Notion, and DEV.to API tokens, plus a Mastra/Gemini setup. Notion's API rate limit (3 req/s) requires strict throttling using p-queue and p-retry. The LLM narration step is non-deterministic and may fail, though a fallback ensures a basic post is always generated. Model IDs must be configurable to avoid breakage when Gemini versions retire..

Tools

custom-built or unnamed agent

Published on Agent Work Atlas:

Overview

Posted on Mar 27 • Edited on Mar 29

Workflow

The author built DevNotion, a 3-agent pipeline using Mastra to automate weekly content creation. It harvests GitHub activity (commits, PRs, issues) via GraphQL, narrates it into a blog post using Gemini, and publishes to Notion and DEV.to. The workflow runs automatically every Sunday via GitHub Actions, with the author reviewing the DEV.to drafts before final publication.

Reported result

The system successfully generates weekly blog drafts and Notion planner pages from raw GitHub data. The author reports that the pipeline eliminates 'Monday amnesia' by providing a structured recap of work. However, no specific metrics on engagement or time saved are provided, and the author notes that Gemini's output length can be limited when including complex tables and code blocks.

Human role

The original post does not say how a person stayed involved.

Limitations

Prerequisites include GitHub, Notion, and DEV.to API tokens, plus a Mastra/Gemini setup. Notion's API rate limit (3 req/s) requires strict throttling using p-queue and p-retry. The LLM narration step is non-deterministic and may fail, though a fallback ensures a basic post is always generated. Model IDs must be configurable to avoid breakage when Gemini versions retire.

Try it

Build a weekly GitHub-to-blog automation pipeline. 1. Create a GitHub Action that runs every Sunday. 2. Use a script to fetch your GitHub activity (commits, PRs, issues) for the past week via GraphQL. 3. Send this data to an LLM (e.g., Gemini) with a prompt to write a first-person blog post summarizing the work. 4. Implement a fallback: if the LLM fails, generate a basic summary from the raw data. 5. Publish the result to Notion as a structured page and to DEV.to as a draft. 6. Ensure you manually review the DEV.to draft before publishing. Test with one week of data first to verify formatting and tone.

Original source

Source reports are not independently verified. Publication date is the catalog publication date, not the original article date.

More cases · Content & creative