Skip to content
aiagentsetups.com

Setups

flori.dev's /orchestrate skill

Florian van der Galiën (flori.dev) · Catalog date October 17, 2026

Florian van der Galiën describes a Claude Code skill, /orchestrate, on flori.dev. The session he talks to never writes code. It plans, runs git, and opens a merge request. A Claude reviewer and a Codex reviewer review in parallel. Fixes stop after one round, and the skill tells the agent not to merge. The author says it has shipped well over a hundred merge requests.

Evidence. Author's own post

Goal
Turn a task description into a reviewed merge request without the agent merging
Use
Software
Platforms
Claude Code, Codex
Crew size
Multiple agents

Roles

The post's role table has six rows: Orchestrator, Judgment, Implementer / fixer, Reviewer A + triage, Reviewer B, and Simplifier. It does not give a process count. Reviewer A + triage is described as fresh workflow agents, plural. Parallel tasks can add implementers in separate worktrees. The post does not name the models, the three flags, or the AI review bot used at work.

  • Orchestrator

    Owns. The current Claude Code session. It plans, hands out work, and runs git. The post says it never reads 40 files itself, so it still remembers the original task an hour later.

    Constraints specific to this role

    • The post says this session never writes code.
    • It does not work on the default branch.
    • The skill says to report the merge request URL and not merge it.
  • Judgment

    Owns. The strongest model available, used for decisions such as a new table versus a new column. The orchestrator batches those into one call. The post does not name the model. An unnamed flag can put this model on review for risky changes.

    Constraints specific to this role

    • The post says nobody needs this model to run git push.
  • Implementer / fixer

    Owns. A strong coding model, run as a workflow agent, writes the code and applies the one round of fixes. The post does not name the model.

  • Reviewer A + triage

    Owns. A Claude model, run as fresh workflow agents, reviews in parallel with Reviewer B. The post does not say how the triage half of this row differs from the review, or whether it is the fresh agent that later merges findings.

    Constraints specific to this role

    • The post says nobody edits files until both reviewers are done.
  • Reviewer B

    Owns. Reviews the same task and the same working tree through the Codex CLI, using a current OpenAI model. The post does not name the model. It says a reviewer from another vendor disagrees in more useful ways than a second Claude reviewer.

    Constraints specific to this role

    • The post says nobody edits files until both reviewers are done.
  • Simplifier

    Owns. The built-in /simplify skill. It runs with the repository's checks before review.

Routines

  • Orchestrate a task

    Most non-trivial tasks. The author says he has run it for a few months. No clock time or timezone is stated.

    Plan, implement, simplify, review with the Claude and Codex reviewers, apply one fix round, push, and open a pull request or merge request.

Guardrails

  • The orchestrator never writes code. It plans, hands out work, and runs git.
  • Never touch the default branch. The orchestrator creates a feature branch, then reads the name back with git rev-parse --abbrev-ref HEAD.
  • AskUserQuestion is the only planned interactive gate. Everything else is decided from the code.
  • Independent tasks can run in parallel worktrees only when they do not share files, interfaces, or config.
  • Both reviewers get the original task and the same working tree. Nobody edits files until both are done.
  • Stop after one fix round. A fresh agent merges the findings, because a reviewer will defend its own findings. Leftover findings go in the merge request description. The post says two models will always find something, so without the cap the review never ends.
  • Report the merge request URL and do not merge it.

Handoffs

The orchestrator plans and assigns work. The implementer writes the code. /simplify and the repository checks run before review. Reviewer A and Reviewer B then review in parallel. A fresh agent, not one of the reviewers, returns approved and fixTasks. Fixes are applied, both reviewers run once more, and whatever remains goes in the merge request description. The orchestrator writes a conventional commit, pushes, and opens a pull request or merge request depending on the remote. At work it waits up to two minutes for an AI review bot the post does not name, and summarizes that bot's comments for the human reviewer. The skill then says to report the URL and not merge. The post says the skill has nine steps, describes rules 1 through 6, and groups steps 7 through 9. It does not name steps 7, 8, and 9 separately.

Recorded handoff
  • Orchestrator
  • Judgment
  • Implementer / fixer
  • Reviewer A + triage
  • Reviewer B
  • Simplifier

Human operator

The orchestrator plans and assigns work. The implementer writes the code. /simplify and the repository checks run before review. Reviewer A and Reviewer B then review in parallel. A fresh agent, not one of the reviewers, returns approved and fixTasks. Fixes are applied, both reviewers run once more, and whatever remains goes in the merge request description. The orchestrator writes a conventional commit, pushes, and opens a pull request or merge request depending on the remote. At work it waits up to two minutes for an AI review bot the post does not name, and summarizes that bot's comments for the human reviewer. The skill then says to report the URL and not merge. The post says the skill has nine steps, describes rules 1 through 6, and groups steps 7 through 9. It does not name steps 7, 8, and 9 separately.

Results

What worked
The author says he has been running the skill for a few months and that it has shipped well over a hundred merge requests. He also says that when he comes back there is usually a merge request waiting. Both are the author's claim.
Lessons
The post's list is to keep the main session out of implementation, get the second opinion from a different model family, cap the fix loop at one round and then hand it to a human, never let the agent merge, and add a line to the skill when a run goes wrong. The post does not describe a specific run that went wrong.

Prompts

  • Example invocation

    /orchestrate add rate limiting to the login endpoint

    The post says most non-trivial tasks now start like this. It is an example invocation, not the skill file. The post does not include SKILL.md, and the author says not to copy the skill as-is.

  • Do not merge

    Report its URL; do not merge it.

    The post quotes this as the line the skill ends on after the merge request is opened.

  • Codex review command

    printf '%s\n' \
      "Review the uncommitted changes in this repository: staged, unstaged, and untracked files. Ignore committed history." \
      "Task these changes implement: <task description>" \
      "List blocking issues first, then nitpicks, each with file:line and supporting detail." \
    | codex review \
        -c 'model="<model>"' \
        -c 'review_model="<model>"' \
        -c 'model_reasoning_effort="medium"' \
        - 2>"${TMPDIR:-/tmp}/codex-review.log"
    

    Shown in the post as the Codex call. <task description> and <model> are placeholders printed in the post, not model names. The post says the prompt goes in on stdin, review_model overrides model, reasoning effort is medium, and stderr goes to that log. It does not name the Codex version last tested.

Source

Notes

The catalog date is the day this entry was drafted. The article is dated October 1, 2026. It has no byline. The page footer copyright reads Florian van der Galiën.

The post says a Claude Code skill is a folder with a SKILL.md, and that his skills live in ~/.agents/skills/ and are symlinked into ~/.claude/skills/. It does not include that file. There are three flags, and the post describes them without names: one runs in a separate git worktree, one puts the strongest model on review for risky changes, and one stops after the commit. A run that stops after the commit does not open a merge request. The post does not say which flag is the default.

The earlier failure he describes is the reason for the skill, not a logged /orchestrate incident: a same-session self-review found two small things, said the work looked great, and he then found an issue in the diff. The post does not say what broke on a run of /orchestrate. It mentions a Python-to-Bun migration only as the experience that showed parallel agents need clear boundaries. That other page was not used as a source. The employer behind "at work" is not named.