Nigel banner
cdlewis cdlewis

Nigel

Development community

Description

A CLI tool for automating iterative code improvements with Claude Code.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

Nigel is a tool for automating iterative code improvements using an AI coding agent such as Claude Code or Codex. You specify a task and a set of candidates. Nigel works through the task with appropriate success/failure handling, logging, guardrails, etc.

Nigel was developed as part of my work on the [Snowboard Kids 2 Decompilation](https://github.com/cdlewis/snowboardkids2-decomp) but I have split it off into its own project so that I can use it elsewhere. You can still find [real-world examples](https://github.com/cdlewis/snowboardkids2-decomp/tree/main/task-runner) of Nigel in that project.

How It Works

  1. Runs your candidate source to identify tasks to run
  2. Selects the first unprocessed candidate
  3. Sends candidate details to the configured agent with your templated prompt
  4. Runs your verify command (e.g. cargo check)
  5. Checks if the candidate is still present in the source
  6. Commits successful tasks or resets the project on failure
  7. Repeats until done or limit reached

A task is only considered successful if the candidate disappears from the source. This can be relaxed with `accept_best_effort: true` if you want to keep partial improvements.

Why Nigel?

Nigel may be a good fix for you if you need to run a large number of long-running tasks, which in turn may need to be tuned/customised over time.

I love Nigel because:

  • Tasks are expressed via configuration: it is to experiment with new ideas by copying an existing task and tweaking it;
  • Candidate sources are just the JSON / newline delimited output of shell commands so it's easy to drop in existing scripts or write new ones. There's no special schema.
  • Agent output is streamed and presented to you like a normal session despite you running in non-interactive mode. This is far nicer than seeing a blank screen for an hour while the agent churns through a particularly gnarly task!
  • You can tell Nigel to