github-issue-resolver

Autonomous GitHub Issue Resolver Agent with guardrails. Use when the user wants to discover, analyze, and fix open issues in GitHub repositories. Triggers on requests like "fix GitHub issues", "resolve issues in repo", "work on GitHub bugs", or when the user provides a GitHub repository URL and asks for issue resolution. Supports the full workflow from issue discovery to PR submission with safety guardrails preventing scope creep, unauthorized access, and dangerous operations.

3,891 stars

Best use case

github-issue-resolver is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Autonomous GitHub Issue Resolver Agent with guardrails. Use when the user wants to discover, analyze, and fix open issues in GitHub repositories. Triggers on requests like "fix GitHub issues", "resolve issues in repo", "work on GitHub bugs", or when the user provides a GitHub repository URL and asks for issue resolution. Supports the full workflow from issue discovery to PR submission with safety guardrails preventing scope creep, unauthorized access, and dangerous operations.

Teams using github-issue-resolver should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/github-issue-resolver/SKILL.md --create-dirs "https://raw.githubusercontent.com/openclaw/skills/main/skills/ashwinhegde19/github-issue-resolver/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/github-issue-resolver/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How github-issue-resolver Compares

Feature / Agentgithub-issue-resolverStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Autonomous GitHub Issue Resolver Agent with guardrails. Use when the user wants to discover, analyze, and fix open issues in GitHub repositories. Triggers on requests like "fix GitHub issues", "resolve issues in repo", "work on GitHub bugs", or when the user provides a GitHub repository URL and asks for issue resolution. Supports the full workflow from issue discovery to PR submission with safety guardrails preventing scope creep, unauthorized access, and dangerous operations.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# GitHub Issue Resolver

Autonomous agent for discovering, analyzing, and fixing open GitHub issues — with a 5-layer guardrail system.

## ⚠️ GUARDRAILS — Read First

**Every action goes through guardrails.** Before any operation:

1. Load `guardrails.json` config
2. Validate scope (repo, branch, path)
3. Check action gate (auto/notify/approve)
4. Validate command against allowlist
5. Log to audit trail

For guardrail details, see [references/guardrails-guide.md](references/guardrails-guide.md).

### Key Rules (Non-Negotiable)
- **Never touch protected branches** (main, master, production)
- **Never modify** .env, secrets, CI configs, credentials
- **Never force push**
- **Never modify dependency files** without explicit approval
- **Never modify own skill/plugin files**
- **One issue at a time** — finish or abandon before starting new
- **All dangerous actions require user approval** (write code, commit, push, PR)
- **Everything is logged** to `audit/` directory

---

## Workflow

### Phase 1 — Issue Discovery

**Trigger:** User provides a GitHub repository (`owner/repo`).

**Steps:**

1. **Validate repo** against guardrails:
   ```bash
   python3 scripts/guardrails.py repo <owner> <repo>
   ```
   If blocked, tell the user and stop.

2. **Fetch, score, and present issues** using the recommendation engine:
   ```bash
   python3 scripts/recommend.py <owner> <repo>
   ```
   This automatically fetches open issues, filters out PRs, scores them by severity/impact/effort/freshness, and presents a formatted recommendation.

   **Always use `recommend.py`** — never manually format issue output. The script ensures consistent presentation every time.

   For raw JSON (e.g., for further processing):
   ```bash
   python3 scripts/recommend.py <owner> <repo> --json
   ```

**⏹️ STOP. Wait for user to select an issue.**

---

### Phase 2 — Fixing

**Trigger:** User selects an issue.

**Steps:**

1. **Lock the issue** (one-at-a-time enforcement):
   ```bash
   python3 scripts/guardrails.py issue_lock <owner> <repo> <issue_number>
   ```

2. **Read full issue thread** including comments.

3. **Clone the repo** (Gate: `notify`):
   ```bash
   python3 scripts/sandbox.py run git clone https://github.com/<owner>/<repo>.git /tmp/openclaw-work/<repo>
   ```

4. **Create a safe branch** (Gate: `auto`):
   ```bash
   python3 scripts/sandbox.py run git checkout -b fix-issue-<number>
   ```

5. **Explore codebase** — read relevant files. For each file:
   ```bash
   python3 scripts/guardrails.py path <file_path>
   ```

6. **Plan the fix** — explain approach to user:
   ```
   ## Proposed Fix
   - Problem: [root cause]
   - Solution: [what changes]
   - Files: [list of files and what changes in each]
   - Estimated diff size: [lines]
   ```

**⏹️ STOP. Wait for user to approve the plan before implementing.**

7. **Implement the fix** (Gate: `approve`):
   - Apply changes
   - Check diff size: `python3 scripts/guardrails.py diff <line_count>`
   - Log: `python3 scripts/audit.py log_action write_code success`

---

### Phase 3 — Testing

**After implementing:**

1. **Find and run tests** (Gate: `notify`):
   ```bash
   python3 scripts/sandbox.py run npm test   # or pytest, cargo test, etc.
   ```

2. **If tests fail AND `autoRollbackOnTestFail` is true:**
   - Revert all changes
   - Notify user
   - Suggest alternative approach

3. **If no tests exist**, write basic tests covering the fix.

4. **Report results** to user.

---

### Phase 4 — Draft PR for Review (Approval REQUIRED)

**⚠️ NEVER create PR automatically. Always ask first.**

**Do NOT dump full diffs in chat.** For any non-trivial project, push the branch
and let the user review on GitHub where they get syntax highlighting, file-by-file
navigation, and inline comments.

1. **Commit changes** (Gate: `approve`):
   ```bash
   python3 scripts/sandbox.py run git add .
   python3 scripts/sandbox.py run git commit -m "Fix #<number>: <title>"
   ```

2. **Show a change summary** (NOT the raw diff) — keep it concise:
   ```
   ## Changes
   - **src/models.py** — Added field validation (title length, enum checks)
   - **app.py** — Added validation to POST endpoint, 400 error responses
   - **tests/test_app.py** — 22 new tests covering validation rules
   - 4 files changed, ~100 lines of source + ~150 lines of tests
   - All tests passing ✅
   ```

3. **Ask explicitly:** "Ready to push and create a draft PR?"

4. **Only after user says "yes"** (Gate: `approve`):
   ```bash
   python3 scripts/sandbox.py run git push -u origin fix-issue-<number>
   python3 scripts/sandbox.py run gh pr create --draft --title "..." --body "..."
   ```
   Note: PRs are always created as **draft** by default.
   The PR body should include a detailed description of all changes, test results,
   and link to the issue (Closes #N).

5. **Share the PR link** — user reviews on GitHub.

6. **Unlock the issue:**
   ```bash
   python3 scripts/guardrails.py issue_unlock
   ```

---

## Scripts Reference

| Script | Purpose | Run Without Reading |
|--------|---------|---------------------|
| `scripts/recommend.py` | **Primary entry point** — fetch, score, and present issues | ✅ |
| `scripts/fetch_issues.py` | Raw issue fetcher (used internally by recommend.py) | ✅ |
| `scripts/analyze_issue.py` | Deep analysis of single issue | ✅ |
| `scripts/create_pr.py` | PR creation wrapper | ✅ |
| `scripts/guardrails.py` | Guardrail enforcement engine | ✅ |
| `scripts/sandbox.py` | Safe command execution wrapper | ✅ |
| `scripts/audit.py` | Action logger | ✅ |

## References

- [references/quick-reference.md](references/quick-reference.md) — GitHub API reference, scoring rubric, test commands
- [references/guardrails-guide.md](references/guardrails-guide.md) — Full guardrails documentation and customization

Related Skills

clickhouse-github-forensics

3891
from openclaw/skills

Query GitHub event data via ClickHouse for supply chain investigations, actor profiling, and anomaly detection. Use when investigating GitHub-based attacks, tracking repository activity, analyzing actor behavior patterns, detecting tag/release tampering, or reconstructing incident timelines from public GitHub data. Triggers on GitHub supply chain attacks, repo compromise investigations, actor attribution, tag poisoning, or "query github events".

Security

github-tools

3891
from openclaw/skills

Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.

DevOps & Infrastructure

gitcode-issue-reply

3891
from openclaw/skills

Generate reply drafts for a single GitCode issue with similar-issue references; maintainer reviews before posting. Use when user asks to reply to or comment on an issue and provides a GitCode issue link; do not use when user only wants to fetch or query issue data. 针对单个 GitCode Issue 生成回复草稿(含相似 Issue 参考),维护者审阅后可发送评论;仅当用户要回复或评论且提供链接时使用,仅获取或查询 issue 信息时勿用。Python 3.7+ standard library only.

github-to-clawhub

3891
from openclaw/skills

将 GitHub 开源项目转化为 OpenClaw skill 并发布到 clawhub 的完整流程助手。 当用户说"把这个 GitHub 项目做成 skill"、"把 XX 发布到 clawhub"、"把这个项目封装成 skill"、 "把 GitHub 链接转成 skill 上传"、"GitHub 转 skill"等类似需求时触发。 支持从 GitHub URL 出发,自动完成:README 分析 → clawhub 查重 → SKILL.md 撰写 → 目录创建 → clawhub 发布。

github-analyzer

3891
from openclaw/skills

输入项目想法或 GitHub 链接,自动搜索相关开源项目,生成结构化分析报告(技术栈/优缺点/评分), 并可下载评分最高的前3名代码包。支持意图搜索和直链分析两种模式。

SkillForge - GitHub Automation Skill

3891
from openclaw/skills

> OpenClaw Skill for GitHub Automation

read-github

3891
from openclaw/skills

Read GitHub repos the RIGHT way - via gitmcp.io instead of raw scraping. Why this beats web search: (1) Semantic search across docs, not just keyword matching, (2) Smart code navigation with accurate file structure - zero hallucinations on repo layout, (3) Proper markdown output optimized for LLMs, not raw HTML/JSON garbage, (4) Aggregates README + /docs + code in one clean interface, (5) Respects rate limits and robots.txt. Stop pasting raw GitHub URLs - use this instead.

alon-github-security-audit

3891
from openclaw/skills

对 GitHub 仓库或本地目录进行全栈安全审计,检测恶意代码、后门和供应链攻击,生成报告写入本地审计目录。当用户说"审计下"、"审计一下"、"安全审计"、"检查下这个仓库"、"审计当前目录"、"审计本地项目"、"check repo"、"audit" 时立即触发。支持 GitHub URL 或本地目录。

github-intel

3891
from openclaw/skills

Analyze any GitHub repository in AI-friendly format. Convert entire repos to single markdown documents, generate architecture diagrams with Mermaid, inspect structure trees, language breakdowns, and recent activity. Includes GitHub URL tricks, API shortcuts, and advanced search techniques. Read-only analysis — never executes code from repositories. Built for AI agents — Python stdlib only, no dependencies. Use for repository analysis, code architecture review, open source research, GitHub intelligence, repo documentation, and codebase understanding.

epragma-redmine-issue

3891
from openclaw/skills

Read Redmine issues from any Redmine server via REST API with configurable URL and credentials. Use when you need to fetch a single issue, list/filter issues, or inspect issue fields for change planning; supports deployment to different Redmine instances via environment variables.

aj-github

3891
from openclaw/skills

Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.

9527-github-trending

3891
from openclaw/skills

每日自动获取 GitHub Trending 热门项目,推送通知。支持自定义语言、时间范围、推送渠道(Telegram/钉钉/企业微信)。零成本运行。