Igor
Incremental AI worker that chips away at large projects
PowerShell (Windows)
irm https://raw.githubusercontent.com/marshellis/ai-foundry/main/rigs/igor/install.ps1 | iexBash (macOS / Linux)
curl -fsSL https://raw.githubusercontent.com/marshellis/ai-foundry/main/rigs/igor/install.sh | bashAbout
A GitHub Action that automatically makes incremental progress on large projects by working through tracking issues with task checklists. Create a tracking issue with a checklist, and Igor picks up the next unchecked task each day -- reading context, implementing the change, and opening a PR.
What It Does
Once installed, Igor monitors your GitHub repository for issues labeled 'claude-incremental'. Each issue should contain a checklist of tasks. Every day at 2 AM UTC (or when triggered manually), Igor picks the next unchecked task, reads your codebase for context, implements the change on a new branch, opens a pull request, and checks off the task. You review and merge the PR like any other contribution. Over time, Igor chips away at large projects one task at a time.
Use Cases
- Migrate JS files to ES modules
- Add TypeScript types across a codebase
- Refactor a large module piece by piece
- Any project that can be broken into independent tasks
What the Installer Does
For transparency, here is exactly what the installer does:
- 1
Check prerequisites
Verifies that git and the GitHub CLI (gh) are installed and that you are authenticated with gh.
- 2
Detect target repository
Reads your git remote to detect the GitHub repo, or prompts you to enter one. Verifies the repo exists and is accessible.
- 3
Download workflow file
Downloads claude-incremental.yml from ai-foundry (generic for Node/JS/TS projects) and places it at .github/workflows/claude-incremental.yml.
- 4
Install issue template
Asks where to install the issue template. Option 1 (recommended): .github/ISSUE_TEMPLATE/ so it appears in GitHub's 'New Issue' picker. Option 2: .igor/ as a local reference copy. Option 3: skip.
- 5
Set ANTHROPIC_API_KEY secret
Prompts for your Anthropic API key and stores it as a GitHub Actions secret using the gh CLI. You can skip this and set it manually later. The key is sent directly to GitHub -- it is not stored locally.
- 6
Create 'claude-incremental' label
Creates a GitHub label called 'claude-incremental' on your repo. Igor uses this label to find tracking issues to work on.
- 7
Configure Actions permissions
Uses the GitHub API to set workflow permissions to read-write and allow GitHub Actions to create pull requests. This is required for Igor to push branches and open PRs.
- 8
Optionally create a sample issue
Asks if you want to create a sample tracking issue with the correct format so you can see how Igor works right away.
Verifying It Works
After installation, follow these steps to confirm everything is working:
- 1
Go to your repo's Actions tab on GitHub and confirm the 'Igor' workflow is listed
Expected: You should see 'Igor' (or 'claude-incremental') in the left sidebar of the Actions page. If it does not appear, make sure you committed and pushed the workflow file.
- 2
Create a test issue with the 'claude-incremental' label and a simple one-item checklist
Expected: The issue should appear in your repo with the label. Use the format: '- [ ] Add a comment to the top of README.md' as a simple test task.
- 3
Trigger the workflow manually: Actions > Igor > Run workflow
Expected: The workflow run should appear in the Actions tab. Click into it to watch the logs in real time.
- 4
Wait for the workflow to complete and check for a new pull request
Expected: Igor should create a new branch, push a commit implementing the task, and open a pull request. The checklist item in the tracking issue should be checked off automatically.
- 5
Review the pull request
Expected: The PR should contain a focused change matching the task description. If everything looks good, merge it. Igor will pick up the next unchecked task on the next run.
GitHub Repository
A public or private GitHub repo where you want Igor to work
An API key from Anthropic for Claude access
Used by the installer to configure secrets, labels, and permissions
One-command installer for Windows (PowerShell)
One-command installer for macOS/Linux (Bash)
The GitHub Actions workflow that powers Igor (generic for Node/JS/TS, maintained by ai-foundry)
Installs to: .github/workflows/claude-incremental.yml
GitHub issue template that appears in the 'New Issue' picker (recommended)
Installs to: .github/ISSUE_TEMPLATE/igor-tracking-issue.yml
Plain markdown reference template (alternative to GitHub issue template)
Installs to: .igor/issue-template.md