github-issue-solve

📁 holon-run/holon 📅 8 days ago
1
总安装量
1
周安装量
#50913
全站排名
安装命令
npx skills add https://github.com/holon-run/holon --skill github-issue-solve

Agent 安装分布

junie 1

Skill 文档

GitHub Issue Solve Skill

Automation skill for solving GitHub issues by implementing solutions and creating pull requests.

Purpose

This skill helps you:

  1. Analyze GitHub issues and understand requirements
  2. Implement features or fixes in the codebase
  3. Create feature branches and commit changes
  4. Create pull requests with proper descriptions

Prerequisites

This skill depends on:

  • github-context: For collecting issue metadata and comments
  • github-publish: For creating pull requests

Environment Variables

  • GITHUB_OUTPUT_DIR: Output directory for artifacts
    • Default: /holon/output when the path exists; otherwise a temp dir under /tmp/holon-ghissue-*
  • GITHUB_CONTEXT_DIR: Directory for collected GitHub context
    • Default: ${GITHUB_OUTPUT_DIR}/github-context
  • GITHUB_TOKEN / GH_TOKEN: GitHub authentication token (required for publishing)

Workflow

1. Context Collection

If context is not pre-populated, collect it using the github-context skill:

# The github-context skill should be invoked with the issue reference
# Context will be available at ${GITHUB_CONTEXT_DIR}/github/

2. Analyze Issue

Read the collected context:

  • ${GITHUB_CONTEXT_DIR}/github/issue.json: Issue metadata (title, body, labels, assignees)
  • ${GITHUB_CONTEXT_DIR}/github/comments.json: Discussion comments

Understand:

  • What feature or fix is requested
  • Any specific requirements or constraints
  • Related issues or PRs mentioned

3. Implement Solution

Create a feature branch and implement the solution:

# Create feature branch
git checkout -b feature/issue-<number>

# Make your changes to the codebase
# ... implement the feature or fix ...

# Commit changes
git add .
git commit -m "Feature: <description>"

# Push to remote
git push -u origin feature/issue-<number>

4. Generate Artifacts

Create the required output files:

${GITHUB_OUTPUT_DIR}/summary.md

Human-readable summary of your work:

  • Issue reference and description
  • What was implemented
  • Key changes made
  • Testing performed

${GITHUB_OUTPUT_DIR}/manifest.json

Execution metadata:

{
  "provider": "github-issue-solve",
  "issue_ref": "holon-run/holon#502",
  "branch": "feature/issue-502",
  "status": "completed|failed",
  "commits": ["abc123", "def456"]
}

5. Create Pull Request

Use the github-publish skill to create a PR:

Create ${GITHUB_OUTPUT_DIR}/publish-intent.json:

{
  "actions": [
    {
      "type": "create_pr",
      "base": "main",
      "head": "feature/issue-502",
      "title": "Fix: <issue title>",
      "body": "Closes #502\n\n<description of changes>",
      "draft": false
    }
  ]
}

Then invoke the publish script (or let the skill runner handle it).

Output Contract

Required Outputs

  1. ${GITHUB_OUTPUT_DIR}/summary.md: Human-readable summary

    • Issue reference and description
    • Implementation details
    • Changes made
    • Testing performed
  2. ${GITHUB_OUTPUT_DIR}/manifest.json: Execution metadata

    {
      "provider": "github-issue-solve",
      "issue_ref": "holon-run/holon#502",
      "branch": "feature/issue-502",
      "status": "completed|failed",
      "commits": ["abc123"],
      "pr_number": 123
    }
    

Optional Outputs

  1. ${GITHUB_OUTPUT_DIR}/publish-intent.json: PR creation intent (for github-publish)

Git Operations

You are responsible for all git operations:

# Create feature branch
git checkout -b feature/issue-<number>

# Stage changes
git add .

# Commit with descriptive message
git commit -m "Feature: <description>"

# Push to remote
git push -u origin feature/issue-<number>

GitHub CLI Operations

You MAY use these commands:

  • gh issue view <number> – View issue details
  • gh issue comment <number> – Comment on issues
  • gh pr create – Create pull requests (or use github-publish skill)

Important Notes

  • You are running HEADLESSLY – do not wait for user input or confirmation
  • Create feature branches following the pattern feature/issue-<number> or fix/issue-<number>
  • Write clear commit messages describing what was changed
  • Include “Closes #” in PR body to auto-link the issue
  • Run tests if available before creating the PR

Reference Documentation

See references/issue-solve-workflow.md for detailed workflow guide.