Key Takeaways
- Stop manually prompting AI agents for every code change. Alessio Finelli argues for a shift from being an "agent prompter" to an "agent manager," overseeing a workflow that autonomously transforms engineering tasks into code.
- Your project management tool, like Linear, becomes the “single source of truth” for managing autonomous coding agents. Moving a task in Linear is the signal for OpenAI Symphony to kick off an agent's work.
- A well-defined
workflow.mdfile within Symphony is crucial. It acts as the agent's playbook, instructing it on task execution, acceptance criteria, and validation steps, shaping its context for effective work. - Tracking token usage isn't just for billing; it's a key metric for understanding and optimizing agent performance. Finelli's system allows founders to pinpoint exactly where an agent might be inefficient or getting stuck.
- The entire process is structured around the OpenAI Symphony + Linear Autonomous Coding Workflow, offering a full history of each task from initial spec to final merge.
The OpenAI Symphony + Linear Autonomous Coding Workflow
This method details a structured, agent-driven approach to software development, ensuring clarity, traceability, and autonomous execution.
- 1. Task Creation: Create a new task in Linear as the initial specification.
- 2. Assign to Agent: Move the task to "To Do" in Linear, signaling Symphony to begin work.
- 3. Agent Plan Generation: Symphony creates a Codex workpad where the agent makes a plan, including acceptance criteria and different validations.
- 4. Workflow Definition: A
workflow.mdfile within Symphony explains what the agent should do for this task. - 5. Execution & Human Review: The agent works on the task, then moves it to "Human Review" in Linear.
- 6. Review on GitHub: Review the generated code on GitHub, adding comments (e.g., "This is too long").
- 7. Rework Cycle: Move the task to "Rework" in Linear. Symphony then creates a rework checklist, addressing comments line by line.
- 8. Completion: Move the task from "Rework" to "Done" once the changes are merged.
When This Works (and When It Doesn't)
This framework shines for founders managing coding tasks that benefit from structured, repeatable processes. It excels at providing a complete history of each task, including original specs, workpads, and reworks, which is invaluable for debugging and understanding how issues developed. Alessio Finelli notes it's especially good for shaping context and effectively directing coding agents, even without adding new capabilities directly.
However, this workflow may hit snags with highly ambiguous or exploratory tasks where the problem definition evolves rapidly. It assumes a relatively clear initial specification and a predictable rework cycle. If a task requires extensive human creativity, abstract problem-solving, or frequent, unstructured human-agent dialogue, the rigid Linear-driven cycle could add overhead rather than reduce it. It's also likely overkill for trivial, one-line code changes where a developer could implement and push faster than setting up the agent workflow.
What to Do With This
Pick a small, well-defined coding task in your backlog this week. Let's say you need to add a new utm_source parameter to all outbound links from your blog posts. Apply Finelli's workflow:
1. Task Creation: Create a Linear task: "Add utm_source=blog to all external links in blog posts." Outline the expected behavior and acceptance criteria in the task description.
2. Assign to Agent: Move this task to "To Do" in Linear, signaling your Symphony instance (or similar agent orchestrator) to pick it up.
3. Agent Plan Generation: The agent will then generate a plan in a workpad, detailing how it will identify external links, modify the href attributes, and validate the changes (e.g., using regex, testing links).
4. Workflow Definition: Ensure your workflow.md is set up to guide the agent on modifying HTML/Markdown content and pushing a pull request.
5. Execution & Human Review: The agent pushes a branch to GitHub, and the Linear task moves to "Human Review." Review the PR on GitHub, noticing perhaps that it missed links in image captions.
6. Review on GitHub: Add a comment on GitHub: "Please also check image caption links for external URLs."
7. Rework Cycle: Move the Linear task to "Rework." The agent sees your comment, creates a checklist to address it, and pushes an updated commit.
8. Completion: Once the changes are merged and verified, move the Linear task to "Done."
This hands-on approach shifts your focus from writing the code to managing the process of code creation, giving you a taste of being an "agent manager" this week.