{
  "id": 13713379,
  "title": "I gave my blog an agent: auto topic ideas every week",
  "url": "https://urgent.news/2026/10/11/i-gave-my-blog-an-agent-auto-topic-ideas-every-week",
  "topic": "ai",
  "section": "AI",
  "published": "2026-10-11T12:30:03.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/zishuowang696/i-gave-my-blog-an-agent-auto-topic-ideas-every-week-540o"
  },
  "original_language": "en",
  "account": "Writing blog posts can be challenging, particularly when it comes to determining which topics to cover. It often involves guesswork and consumes valuable time. To alleviate this issue, I created an automated agent that reads my published posts every Monday and suggests five new topics. This agent is powered by GitHub Actions, which is free, scheduled, and does not require a server. The essence of the agent remains the same: a loop that involves calling an API to query the model, running the tool, and feeding the result back into the system.\n\nThe agent uses a single tool, which reads the existing post titles to avoid duplicating content. The model used for the agent is DeepSeek, which is compatible with OpenAI. The loop consists of two functions: one for reading the existing titles and another for running the tool. The agent's output is saved as a Markdown file in a weekly folder.\n\nThe beauty of this system lies in its simplicity. It eliminates the need for a complex framework, focusing solely on a loop that generates topics and drafts without human intervention. By utilizing GitHub Actions, the agent runs weekly without any server hosting requirements. Additionally, the agent can commit the generated topics back to the repository.\n\nWhen the agent was first deployed, it analyzed 17 published posts and provided an initial set of five topics, which primarily focused on low-level build and framework internals. Among these topics, \"running an agent on an edge device\" stood out as a unique gap that could be explored further. The agent then presented five topics and a scheduling plan for lead generation, conversion, and building a moat.\n\nThe agent's primary role is to handle the \"dirty work\" of generating topics and drafts, while the human remains responsible for making the final decisions on which topics to publish and how to write them. By keeping the agent's code open-source, I have ensured that the framework remains transparent, while sensitive data, such as prompts, keyword lists, and business strategies, remain private. This approach allows for a reusable template that can be easily adapted for future projects.\n\nIn the future, I plan to add a tool that reads Google Search Console (GSC) exports, providing topics with impressions but no clicks. Additionally, I intend to incorporate a \"draft agent\" for generating first-pass drafts to streamline the writing process further. However, publishing decisions will always be made by the human, ensuring that the agent serves as a valuable tool in the content creation process without replacing the human's judgment and expertise.",
  "summary": "The annoying part of running a blog isn't writing — it's picking topics . What do I write today? It's guesswork, and it eats time. So I gave it an agent : every Monday it reads my published posts (to avoid repeats) and proposes 5 new topics . It runs on GitHub Actions — free, scheduled, no server . And the essence never changes: an agent is a loop — call the API to ask the model → run the tool →…",
  "key_points": [
    "Automated agent generates five blog topics weekly",
    "GitHub Actions powers the agent without server hosting",
    "Agent uses DeepSeek model and commits topics back to repo"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}