Post Automation Agent

September 2025 - September 2025

A post automation to automatically extract content from my blog and obsidian to turn them into complete posts for LinkedIn and X, along with a peer review agent.

Python
Langgraph
Agents
Post Automation Agent
Problems Solved
  • Manual content repurposing is time-consuming and repetitive
  • Maintaining consistent quality across multiple platforms
  • Lack of automated validation and peer review for social posts
Unique Solution

Built with LangGraph as a stateful multi-agent system orchestrating 13+ specialized agents. Implements self-evaluation and recovery logic with automated peer review loop, integrating Obsidian research notes directly into content generation workflow.

Impact
75%
Time Saved per Post
3
Platforms Automated
Automated
Quality Checks

Overview

The workflow turns a rough idea into ready-to-publish posts for LinkedIn and X, using your existing research notes and a sequence of AI-driven agents. It is designed to remove the repetitive parts of content distribution so you can focus on writing high-value technical content.

Core Ideas

  • Capture ideas once, reuse them many times.

  • Ground posts in prior research (notes, highlights, references).

  • Automatically generate:

    • Blog drafts
    • Teaser posts
    • Final LinkedIn and X posts
  • Run validation and review steps before anything is published.

post automation flow

Features

  • Idea capture and research integration (e.g. Obsidian notes).

  • Blog planning and outline generation.

  • Optional teaser post generation.

  • Long-form blog drafting.

  • Blog scraping and summarization after publishing.

  • Platform-specific post generation for:

    • LinkedIn
    • X / Twitter
  • Automated validation and peer review loop.

  • Self-evaluation and recovery logic to avoid broken runs.

Architecture

At the core is a LangGraph StateGraph that wires together the full pipeline:

  • capture_idea
  • obsidian_research
  • planner_agent
  • teaser_generator
  • blog_drafter
  • scraper
  • summarizer
  • final_post_generator
  • x_generator
  • validator
  • peer_reviewer
  • content_improver
  • self_evaluator
  • recovery_agent

Conditional edges control whether the workflow should:

  • Generate a teaser
  • Move into blog drafting
  • Scrape the published blog
  • Validate and improve posts
  • Exit early or recover from errors

Getting Started

  1. Clone the repository:

    git clone https://github.com/capybara-brain346/post-automation.git
    cd post-automation
  2. Create and activate a virtual environment:

    python -m venv .venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  3. Install dependencies:

    pip install -r requirements.txt
  4. Configure environment variables (for example):

    • LLM / API provider credentials
    • Paths to your notes or Obsidian vault
    • Any keys or settings required for LinkedIn / X integrations
  5. Run the workflow entry script (example):

    python main.py

    Adjust the entry point according to the actual script layout in this repository.

Workflow Overview

High-level flow:

  1. Capture a raw idea.

  2. Enrich it with research notes.

  3. Plan the blog and optionally generate a teaser post.

  4. Draft the blog (or skip if already published).

  5. Scrape the final blog and summarize it.

  6. Use the summary to create:

    • LinkedIn posts
    • X posts
  7. Validate style, tone, citations, and structure.

  8. Loop through peer review and content improvement when needed.

  9. Self-evaluate, recover from errors if possible, and then finish with ready-to-publish posts.

Notes

  • The automation is meant to keep a human in the loop where needed, especially for:

    • Sensitive topics
    • Ambiguous claims
    • Posts that may require manual context or judgment
  • You can adapt individual agents or swap models to fit your stack and preferences.