Slowing Down My Coding Agents to Get More Done

Your backlog is sitting idle waiting to get worked on, and it could be showing up pre-baked, ready for verification.

openclaw polls my Linear backlog every 30 minutes for tickets tagged openclaw. For each ticket, it creates a session and a git worktree of our our codebase if one doesn’t already exist, and the cron agent decides whether the subsession needs an update based on the contents of the current ticket.

flowchart LR
    L[Linear] -->|ticket info| O[Cron Orchestrator]
    O -->|create or update| S1[Sub-agent session: ticket A]
    O -->|create or update| S2[Sub-agent session: ticket B]
    O -->|create or update| S3[Sub-agent session: ticket C]

    classDef default fill:#fff,stroke:#333,stroke-width:1px,color:#000

That’s the whole system. Once openclaw is up and running with github and linear access, a 15–45 minute session is enough to teach it a workflow like this.

Poll vs Webhook

The natural way to build a Linear agent is event-based: a webhook hitting an internal endpoint with auth. Drop the real-time requirement and the webhook drops with it. Polling needs no route, no signed payload, no inbound auth. Just a Linear API key.

Why 30 Minutes, Not Real-Time

The 30-minute loop sets a different expectation around the interaction. Linear replies were never expected to be real-time anyway, so the slower cadence just matches the surface you’re already collaborating on. Slowing down the interaction is what makes higher throughput possible.

A Form Factor for Ralph-Loop and Autoresearch Tasks

You can assign openclaw a ralph-loop or autoresearch task and collaborate on it directly in Linear. This is basically how open source software has been developed forever. async, with no expectation of an immediate response. The new part is that the dev on the other end is a openclaw sub agent session instead of a person.

Go With the Flow

For the important but not-urgent work, lean into the async. My current loop is already a plate-spinning act of agents. I have now moved this into one of my plates to spin. I can drop this plate without caring because its my backlog. The async nature of these tasks means they don’t need my immediate attention. What has changed is that I can make small incremental progress on them as a part of my normal dev routine instead of them idling collecting dust. Given that the nature of this work is such that it normally rots, even having one of these land is a win for me.