Skip to main content

Command Palette

Search for a command to run...

AI Workflow Update

Updated
•4 min read•View as Markdown
D
CEO of Delino. I created SWC, an open-source compiler project, and previously worked at Deno and Vercel.

In my previous post, I described how I used Labor0 and Codex to run dozens of tasks in parallel. My workflow has changed since then. I no longer use Labor0, and I now work with skills that I have made public.

The latest problem I solved was what happens after generating all those pull requests. Creating PRs was easy. Getting all of them merged took far too long.

The issue tracker is my prompt repository

I always use $add-issue to create detailed issues. In practice, I use the issue tracker as a repository of prompts.

The idea is simple: once I have concrete issues written down, processing them in parallel is easy. Each issue describes the work, so I can select a batch later and ask the agent to handle it.

But as I processed more work, another bottleneck appeared. With around 30 PRs open, merge conflicts kept coming up. Resolving conflicts and rebasing took too much time.

Labor0 handled this through dependency analysis, but I no longer use it. I initially tried running parallel sessions in Codex. That made it easy to produce PRs, but merging all of them still took too long.

Eventually, I found that stacked PRs worked better for this workflow. I turned that approach into a skill.

From dozens of issues to a stack of PRs

Now I create dozens of issues with a skill, select them using labels or other conditions, and run $slop-fix-batch. The skill processes the issues and creates stacked PRs.

In my open-source repository, delinoio/oss, I invoke it like this:

$slop-fix-batch sort:updated-desc is:issue state:open label:slop-batch author:kdy1

Creating the PRs does not finish the job. Review feedback still needs to be addressed, and CI failures still need to be fixed. For CI, my instruction was simply:

Fix all CI failures.

The stack containing PR #1726 is a concrete example. It contained 11 PRs. After a few rounds of addressing review feedback and fixing CI, I merged the entire stack at once.

There were still several iterations before the stack was ready. What changed was the merge process: I no longer had to spend ages resolving conflicts as I worked through the individual PRs.

These were the 11 PRs and their corresponding issues:

PR Change Issue
#1716 Apply Usage filters automatically #1698
#1717 Remove the global Search shortcut #1697
#1718 Run shortcuts from keyboard help #1696
#1719 Remember Runner choices across workflows #1695
#1720 Show subscription icons and saved quota #1694
#1721 Organize Usage details into tabs #1693
#1722 Add session row states and action menus #1692
#1723 Embed Network settings in Server preferences #1691
#1724 Correct when startup process indexes are created #1690
#1725 Remove Account storage presentation #1689
#1726 Show failure causes and recovery controls inline #1699

Run the batch before bed

I start batches whenever it seems like a good time. So far, running one before going to bed has worked best.

$slop-fix-batch uses subagents to fix issues in parallel, which consumes a lot of CPU and memory on the machine running it. I prefer to run it while I am not using that machine.

There is a downside: because this is a batch workflow, issues do not get fixed as soon as I discover them.

But it has solved the problem I was running into—creating a pile of PRs, then spending too much time resolving merge conflicts to get them all merged.

All of my skills are available in kdy1/kdy1-scripts.

B
Blaze3h ago

Using the issue tracker as a prompt repository is a smart idea. The stacked PR workflow also seems much easier to manage at scale.