A complete automation framework for GitHub issue planning and implementation using Claude Code. Convert GitHub issues into detailed implementation plans, review them through pull requests, and automatically implement approved plans.
- Automated Issue Planning - Automatically generates detailed implementation plans from GitHub issues
- Two-Stage Review Process - Plans are reviewed via PR before implementation begins
- Automated Implementation - Approved plans are automatically implemented
- GitHub Actions Integration - Fully integrated workflows for seamless automation
- Claude Code Integration - Uses
anthropics/claude-code-actionfor intelligent code generation - Configurable Triggers - Flexible label-based workflow triggering
GitHub Issue
│
▼
[Plan Generated] → Plan PR Created
│
▼
[Plan Reviewed & Merged]
│
▼
[Auto-Labeled "plan-approved"]
│
▼
[Implementation] → Implementation PR Created
│
▼
[Review & Merge]
- GitHub repository with the Claude GitHub App installed
- GitHub token with
repo,pull-request:write, andissues:writepermissions - Claude Code OAuth token
Choose one of the following setup methods:
This option allows you to use these workflows without copying files to your repository. The workflows remain in this repository and are called from your repository via GitHub's reusable workflow feature.
-
Make the workflows accessible:
- Star and fork this repository to your GitHub account, OR
- Create a copy in your organization
-
Copy the simplified wrapper workflows to your repository:
cp .github/wrappers/*.yml your-repo/.github/workflows/ -
Copy additional files to your repository:
# Copy Claude commands and settings cp -r .claude your-repo/ # Copy PR description template cp .github/pr-description-template.md your-repo/.github/
-
Configure secrets in your repository (Settings → Secrets and variables → Actions):
ANTHROPIC_AUTH_TOKEN- Your Claude Code OAuth token, ORANTHROPIC_API_KEY- Your Anthropic API key (one of the above is required)
-
Configure variables in your repository (Settings → Secrets and variables → Actions → Variables):
ANTHROPIC_BASE_URL- (Optional) Custom base URL for the Anthropic APIANTHROPIC_MODEL- (Optional) Specific model to use (e.g.,claude-sonnet-4-5-20250514)
-
Set up labels in your repository:
plan-needed- Triggers plan generationplan-approved- Triggers implementation
-
Copy the workflow files to your repository:
# Copy workflows cp -r .github/workflows/*.yml your-repo/.github/workflows/ # Copy Claude commands and settings cp -r .claude your-repo/ # Copy PR description template cp .github/pr-description-template.md your-repo/.github/
-
Configure secrets in your repository settings (Settings → Secrets and variables → Actions):
ANTHROPIC_AUTH_TOKEN- Your Claude Code OAuth token, ORANTHROPIC_API_KEY- Your Anthropic API key (one of the above is required)GITHUB_TOKEN- Automatically provided by GitHub Actions (no setup needed)
-
Configure variables in your repository (Settings → Secrets and variables → Actions → Variables):
ANTHROPIC_BASE_URL- (Optional) Custom base URL for the Anthropic APIANTHROPIC_MODEL- (Optional) Specific model to use (e.g.,claude-sonnet-4-5-20250514)
-
Set up labels using one of these methods:
- Manual: Create labels in your repository settings:
plan-needed- Triggers plan generationplan-approved- Triggers implementation
- Automatic: Run the
setup-labels.ymlworkflow manually from the Actions tab
- Manual: Create labels in your repository settings:
- Create an issue describing what you want to implement
- Wait for plan generation - A plan PR will be created automatically
- Review the plan - Add comments, request changes, or approve
- Merge the plan PR - This triggers implementation
- Review implementation - An implementation PR will be created
- Merge the implementation PR - Complete!
Plans are generated when:
- An issue is created with the
plan-neededlabel, OR - The
plan-neededlabel is added to an existing issue
Implementation starts when:
- The plan PR is merged (auto-adds
plan-approvedlabel to the original issue)
Edit the workflow files to customize behavior:
| Option | Default | Description |
|---|---|---|
trigger_label |
plan-needed |
Label that triggers plan generation |
approval_label |
plan-approved |
Label that triggers implementation |
max_turns |
100 | Maximum Claude Code turns per workflow |
allowed_tools |
see below | Tools Claude can use |
Plan PRs support interactive review. When you comment on a plan PR:
- Technical questions - Claude responds with explanations
- Change requests - Claude updates the plan accordingly
- Clarifications - Claude provides additional details
This is handled automatically by the claude-review.yml workflow.
By default, Claude can use:
Glob,Grep,Read,Write,Edit- File operationsBash(gh:*)- GitHub CLI commandsBash(git:*)- Git commandsBash(date:*)- Date/time commands
.github/
├── workflows/
│ ├── claude-plan.yml # Issue → Plan workflow (reusable)
│ ├── claude-implement.yml # Plan → Implementation workflow (reusable)
│ ├── claude-plan-merged.yml # Auto-label on plan merge (reusable)
│ ├── claude-review.yml # Respond to plan PR comments (reusable)
│ └── setup-labels.yml # Label setup workflow
├── wrappers/
│ ├── issue-to-plan.yml # Wrapper for plan generation
│ ├── plan-to-implement.yml # Wrapper for implementation
│ ├── plan-merged.yml # Wrapper for plan merge
│ └── plan-review.yml # Wrapper for plan review comments
└── pr-description-template.md # Implementation PR template
.claude/
├── commands/
│ ├── generate-plan.md # Plan generation command
│ ├── implement-plan.md # Implementation command
│ └── review-plan-comment.md # Review response command
└── settings.local.json # Claude settings
plans/ # Generated plan files
Edit .claude/commands/generate-plan.md and implement-plan.md to include:
- Code conventions (style, patterns)
- Testing guidelines
- Documentation standards
Edit .github/pr-description-template.md to customize the implementation PR description format.
Modify the label names in the workflow files to match your project's conventions.
MIT License - see LICENSE for details.