Cook: A simple CLI for orchestrating Claude Code

(rjcorwin.github.io)

220 points | by staticvar 9 hours ago

26 comments

  • vadepaysa 6 hours ago
    I did a Show HN[0] a few days back with my CLI agent called cook[1] and for a moment I was ecstatic my tool made it to the front page. haha.

    [0]: https://news.ycombinator.com/item?id=47262711 [1]: https://getcook.dev

    • staticvar 1 hour ago
      Oh haha, small world! Maybe I should add cook (agent) support for cook (orchestration) and then we'll have cook manage subagents via cook!
    • catlifeonmars 5 hours ago
      [dead]
  • maCDzP 2 hours ago
    I dunno. I just let Claude build a python script that calls Claude code though subprocess.run().

    I recently made a sort of Autoresearch with that approach. The script calls Claude Code to create a hyphotesis, then code based on that, evaluate- rinse and repeat. I am still trying to figure out if I am actually on to something or just burning tokens. Jury is still out.

    • scrappyjoe 7 minutes ago
      I went quite far down this approach last year; you're welcome to take what you want from my repo -

      https://github.com/riazarbi/way

    • dgb23 50 minutes ago
      I think you're onto something, but I would add that it's sort of like a live REPL that has an integrated agent but with extra steps.

      I haven't used python much but I wouldn't be surprised if you can set up a sufficiently powerful REPL with it. I know Julia can do it very well and it's a very similar language. Obviously there are powerful Lisps that do this very well as well.

    • staticvar 1 hour ago
      That's totally a valid approach! Especially for a very specific workflow you are looking for. For the cases I cover in cook, I had done those patterns enough times that I figured it was time to build a tool/skill for Claude so that I didn't have to explain it as much and also not have to wait for claude to code it up, and possibly interpret me wrong. Now ask claude to "/cook race 3 of foo plan with review, pick the best" and it knows what to do.
    • jamiemallers 2 hours ago
      [dead]
  • rc_kas 8 hours ago
    Can someone explain what this is to my n00b brain. I don't get what claude-cli is missing that this adds in?
    • beshrkayali 7 hours ago
      IMO the raw Claude CLI is great for one-off interactive sessions, but as soon as you want repeatable multi-step workflows you’re either copy-pasting prompts forever or hacking your own solution manually. That’s exactly the gap these tools fill.

      My take on a solution for this is https://ossature.dev — .smd spec markdown files + ossature audit / build that gives you DAG orchestration, SHA-traced increments, and tiny focused contexts.

      • eloisius 6 hours ago
        Isn’t a repeatable, multi-step workflow exactly what a script or Makefile does?
        • beshrkayali 4 hours ago
          Yeah bash scripts start clean but the sprawl kicks in quick as the workflow and project becomes more complex. Prompts get copied, deps turn manual, and maintenance of your workflow itself becomes the chore.

          Ossature swaps that for structured SMDs and optional AMDs. Multiple specs build a clean DAG that drops into an editable plan.toml so everything stays traceable without the mess.

          Feel free to check the example projects on https://github.com/ossature/ossature-examples

          • wiseowise 3 hours ago
            > Yeah bash scripts start clean but the sprawl kicks in quick as the workflow and project becomes more complex.

            Then just use Python.

      • isodev 6 hours ago
        I use bash scripts. Both Claude and Vibe support all kinds of arguments if you need a prompt to “become a task”. Bash is also deterministic and easy to read and debug.
        • Yiin 4 hours ago
          can you elaborate on "easy to read and debug", because in my experience it is anything but
          • isodev 4 hours ago
            Compared to a random tool someone vibecoded?
            • petcat 1 hour ago
              what about a random bash script that somebody vibe coded
      • je42 5 hours ago
        Had a quick look. Stumbled upon the markdown format smd.

        Was wondering if using front-matter instead of a "custom" encoding for parseble data was considered?

    • sghiassy 7 hours ago
      As a prerequisite you’d want to understand the purpose of Ralph Wiggum Loops

      But in general this is meta to the CLI agent.

      So if you were to use the CLI to perform a review of some code. This tool would allow you to loop the output of the code review 5 times onto itself.

      • exolab 4 hours ago
        > So if you were to use the CLI to perform a review of some code. This tool would allow you to loop the output of the code review 5 times onto itself.

        Claude already does that if you ask nicely.

        • staticvar 1 hour ago
          To a certain extent, yes it does! For my cases, I'm often running 3 parallel implementations that get 10 to 20 iterations deep, and then Claude has to sort out the pros and cons of the options and also take the best bits of each. Easy to hit the context window with Claude just running those on its own, so giving `/cook` to Claude, it can offload a bit more via cook and stay higher level.
    • transitorykris 8 hours ago
      Maybe not adds in, but wraps around. You could accomplish much of this with fairly simply bash scripts.
      • esperent 7 hours ago
        You could accomplish all of it with claude -p (headless mode).
        • transitorykris 7 hours ago
          Admittedly I might be missing a flag or two with claude, but how are multiple loops and comparisons of solutions done with just headless mode?
        • brcmthrowaway 7 hours ago
          Indeed.

          Where are people finding time for these sort of projects.

          • injidup 2 hours ago
            They bootstrap a workflow with a prompt then build an orchestrator off that then prompt it to be converted to an opencode plugin and then prompt a website to be generated advertising it and then prompt a tool that reviews hacker news feedback and automatically incorporates feedback into next generation of the tool. At the end of the week they go to their manager and complain they are out of tokens for the actual job they are being paid for.
            • staticvar 57 minutes ago
              Haha, not far off. Only difference is I'm not spending my tokens at work. I use this on a side project video game that I'm developing.
  • sbinnee 7 hours ago
    There is a skill installation option. The skill markdown has 180 lines [1].

    My take? I like it. It's concise enough for me to try it out. And I love the webpage.

    [1] https://github.com/rjcorwin/cook/blob/main/no-code/SKILL.md

    • staticvar 1 hour ago
      Nice! You found the no-code option that just has the outer agent perform the duties of the workflows that cook describes. It's a bit experimental (the whole thing is really), but it would be nice to get some folks impressions of whether this works well as a pure skill or if y'all find the deterministic nature of the cook script improves reliability.
    • oefrha 5 hours ago
      Given that subagents have different thinking/effort behavior from the main agent and very limited control on that front (I’m not completely sure about this but see https://github.com/anthropics/claude-code/issues/14321 and I’ve also noticed very different behavior when the same prompt is used in the main agent or passed to a subagent), I’m not sure this skill will be the same.
  • jemmyw 5 hours ago
    Looks pretty nice. I think a lot of devs have been making similar tools, I've written my own thing that does a work review loop. I like the interface you've made. I'll probably give it a go, but I'm also reluctant to relinquish the control I have when it's my own code doing orchestration.
    • staticvar 1 hour ago
      Oh ya, lots of tools out there orchestrating these days, and just writing a script is a valid option. On the control bit, note that if you `cook init` in your project, it generates a COOK.md that lets you template the meta prompt. Claude could probably take a look at how you've been doing it and port it over to COOK.md so it's similar to the prompts you've been using.
  • smarx007 2 hours ago
    A noob question: is there a tool that automatically instructs Claude Code to "continue" when the token quota is reset after 5h? I am interested in that more than some rather fancy loops.
    • staticvar 1 hour ago
      This is a fantastic idea and I'll add it!
  • kasperstorgaard 4 hours ago
    How heavy on tokens is this? I don't use these style workflows and am fairly new to claude code, so I assume it's better than 3x tokens when doing 3 passes?
    • hasperdi 4 hours ago
      It's not 3x because of 3 runs; can be more token, can be less.

      The way of thinking it is, telling Claude to tackle the problem 3 times, each time it may or may not use different approach, fix or improve on things it did previously.

  • genthree 2 hours ago
    Semi-on-topic: Anyone know a way to get a good alternative UI on top of Cursor?

    My company’s tracking how much we use the damn thing (its autocomplete is literally less-useful than standard VSCode, only time it’s consistently good is when it sees me do one thing to a line, sees repeated similar lines after that, and suggests I do it on the next one too, one at a time, and that’s only useful to me because I’ve never actually bothered to learn how to properly use a text editor) so I can’t avoid it, but even on codebases in the hundreds of lines it’s OOM killing things on my 16GB laptop (it, plus goddamn Teams, were eating half the memory by themselves the other day… with Cursor sitting at almost 6GB alone. JFC. On the plus side if this is what software from a company that should be full of experts at using these things looks like, guess our jobs are safe from them… though not from recession and ZIRP unwinding)

  • NetOpWibby 5 hours ago
    Dull colors and a display font used for copy makes this website incredibly unpleasant to read.
    • staticvar 1 hour ago
      Ah sorry about that. I have weird tastes in design. The README.md is less detailed but covers the basics: https://github.com/rjcorwin/cook/
    • hmokiguess 27 minutes ago
      Two types of people eh, I thought it was quite enjoyable! Reminded me of a SNES game
  • khazhoux 6 hours ago
    How does this handle when Claude needs user input? To choose an option, grant tool permission, clarify questions…
    • staticvar 1 hour ago
      On asking for user input during implementation, it's best to use this when you have a plan sufficiently written up that you can point it to. To prep that plan, you can also use cook to iterate on the plan for you. Having Claude Code use `/cook` directly is nice because it watches what the subagents are up to and can speak for them, although Claude can't speak to the subagents running through cook.

      On permissions, by default, when it runs instances of Claude they will inherit your Claude's permissions. So if there is no permission to `rm -rf /`, Claude will just get denied and move on. Using the docker sandbox option (see bottom of page), then it runs inside that `--dangerously-skip-permissions` and get more stuff done (my preferred option). The hard part about that is it means you need to set up the Docker sandbox with any dependencies your project needs. Run `cook init` and edit the `.cook/Dockerfile` to set those up.

      • trumbitta2 21 minutes ago
        Re: So if there is no permission to `rm -rf /`, Claude will just get denied and move on.

        Until it doesn't and it finds a way to work around the restriction. Lots of stories around about that.

    • neilbb 3 hours ago
      If you impl this as a backend and connect to Telegram bots, agents can just do `$ ask "Should I do this?"` for agent→human and `$ alert "this thing blocked me"` for coder→planner. That's what I'm actually doing — I have 1 manager + 3 designers + 1 researcher + 2 debugger + 1 communicator + any number of temporal coders/reviewers in my setup, all connected to taskwarrior for task-driven-dev
    • facorreia 6 hours ago
      It seems to be in the spirit of automated vibecoding. I assume it skips all permission checks.
      • staticvar 1 hour ago
        By default it's locked down to the permissions you have granted in your Claude config. If you use the docker sandbox mode, then you can really let it fly as it can issue more commands in a safer environment.
  • nurettin 6 hours ago
    claude> "We want to add a title section that shows what page we are currently on, use cook to manage the development process"

    * coolers whirring, gpus on fire, tokens flying, investors happy, developer goes for 6th break of the day

  • viditraj 1 hour ago
    can we integrate it with Devin too? seems like it doable
  • derodero24 16 minutes ago
    [dead]
  • BANRONFANTHE 2 hours ago
    [dead]
  • perfmode 7 hours ago
    [dead]
  • eddie-wang 7 hours ago
    [dead]
  • shablulman 8 hours ago
    [dead]
  • erdmozkn62 2 hours ago
    [dead]
  • fortylove 8 hours ago
    [dead]
  • NikitaCometa65 6 hours ago
    [dead]
  • panditaditya21 7 hours ago
    [dead]
  • pissedoffadmin 7 hours ago
    [dead]
  • rafaamaral 8 hours ago
    [flagged]
    • cheriot 6 hours ago
      If this was human written sarcasm, bravo.
    • Yiin 8 hours ago
      just use 200usd plan, I forgot what limits are.
      • tmatsuzaki 6 hours ago
        Do you hit the limit pretty quickly on the Pro plan these days? Im thinking about subscribing for video editing, but Im still not sure.
      • croes 7 hours ago
        You'll remember it soon
        • weird-eye-issue 7 hours ago
          Do you often hit the limits recently on the $200 plan? I don't even come close
          • dionian 7 hours ago
            i used to, its much better now. opus 4.6 has been great on tokens
            • weird-eye-issue 7 hours ago
              Yes, quite a while back, they used to charge a lot more for the Opus tokens
        • anonzzzies 6 hours ago
          Have not hit limits for 2 months now and I use it a lot. I have 200 max as well.
  • xiaolu627 7 hours ago
    [flagged]