"The loop: from conversation to scheduled post"

"How the Forge + Claude setup creates a complete end-to-end developer pipeline from conversation to scheduled social posts - and why the humans are still in the loop at every step."

Every feature in Forge starts the same way: a conversation.

Not a ticket. Not a spec document. A conversation with an architect agent, Claude, where I describe what I want to build and why. The agent pushes back, asks about edge cases, catches blind spots I missed. Eventually we agree on an approach and it writes a prompt file. A second agent, corepilot, reads it, proposes an implementation plan, waits for my approval, and then writes the code.

That part alone changed how I work. But last week something clicked at the other end of the pipeline.

I published a devlog post about the audit trail we'd just shipped. Within seconds, Forge fired an AfterPublish signal. forge-agent, a small Go agent runtime we built on top of Forge's signal bus, picked it up. It called the MCP tools, read the post, and created two draft scheduled posts: one for LinkedIn, one for X. Not published. Drafts, waiting for me.

I reviewed them, adjusted the LinkedIn copy slightly, and scheduled both. Total time from publish to scheduled social: about two minutes. Most of that was me reading the drafts.

The loop looks like this:

Architect (strategy + planning)
  -> NEXT.md prompt to corepilot
    -> corepilot implements, opens PR
      -> Peter reviews + merges
        -> sitepilot publishes devlog
          -> AfterPublish signal fires
            -> forge-agent reads post via MCP
              -> creates scheduled_post drafts
                -> Peter schedules

What I find interesting about this setup is where the humans are in the loop. The architect agent never writes code - it plans and prompts. Corepilot never decides what to build - it implements what was agreed. The social agent never publishes - it drafts. Every handoff has a human review point.

This is what we mean by Authored AI. The machinery handles the parts that are mechanical: turning a decision into code, turning a published post into a social draft. The judgment calls - what to build, whether the plan makes sense, whether the draft is good - stay with me.

Forge's role in all of this is to be the typed, persistent state layer the agents operate on. The AfterPublish signal is not a webhook you configure per post. It fires for everything that gets published, every time, automatically. Agents subscribe to it. The content lifecycle is enforced by the framework, not by remembering to trigger a script.

I'm writing this post partly to test that the loop still works after we shipped forge-agent v0.3.5 yesterday - a bugfix for a subtle context cancellation issue that caused the agent to fail silently on signal-triggered MCP connections. If you're reading a scheduled tweet about this article, the fix worked.