gestrich/ClaudeChain
Automate code refactoring with AI using Claude Code. Creates incremental PRs for systematic codebase improvements.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Apr 13, 2026
- License
- MIT
Pinned Snippet
uses: gestrich/claude-chain@06d916bae97cb26acc34fcd84afb03b23d5a4343 # no releases — HEAD as of 2026-07-11tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| anthropic_api_key | Anthropic API key for Claude Code | yes | — |
| github_token | GitHub token for PR creation and API access | yes | ${{ github.token }} |
| project_name | Project folder name under /claude-chain directory. Falls back to github.event.inputs.project_name for workflow_dispatch. | no | — |
| default_base_branch | Default base branch if not specified in project config or event context. Defaults to main. | no | — |
| merged_pr_number | PR number that was just merged (for auto-detecting project from labels) | no | — |
| claude_model | Claude model to use (e.g., claude-sonnet-4-5) | no | claude-sonnet-4-5 |
| claude_allowed_tools | Comma-separated list of tools Claude can use. Defaults to minimal permissions: Read,Write,Edit,Bash(git add:*),Bash(git commit:*) | no | — |
| working_directory | Working directory for the action | no | . |
| add_pr_summary | Add AI-generated summary comment to PR (true/false) | no | true |
| slack_webhook_url | Slack webhook URL for PR notifications (optional) | no | "" |
| pr_label | Label to apply to ClaudeChain PRs | no | claudechain |
| pr_labels | Comma-separated list of additional labels to apply to PRs (optional) | no | "" |
Outputs
| name | description |
|---|---|
| skipped | Whether execution was skipped (true/false). Check skip_reason for details. |
| skip_reason | Reason for skipping if skipped (e.g., "No claudechain label", "PR not merged") |
| detected_projects | JSON array of all detected projects. Use with matrix strategy for parallel multi-project processing. |
| project_name | Detected/resolved project name |
| base_branch | Resolved base branch |
| pr_number | Number of created PR (empty if none created) |
| pr_url | URL of created PR (empty if none created) |
| assignee | First assigned GitHub username (empty if none). Kept for backward compatibility — prefer assignees. |
| assignees | Comma-separated list of assigned GitHub usernames (empty if none) |
| reviewers | Comma-separated list of reviewer GitHub usernames (empty if none) |
| task_completed | Task description that was completed (empty if none) |
| has_capacity | Whether project has capacity for a new PR (true/false) |
| all_tasks_done | Whether all tasks are complete (true/false) |
| claude_success | Whether Claude Code task completed successfully (true/false) |
| claude_error | Error message if Claude Code task failed (empty if successful) |