github-issue-solve
npx skills add https://github.com/holon-run/holon --skill github-issue-solve
Agent 安装分布
Skill 文档
GitHub Issue Solve Skill
Automation skill for solving GitHub issues by implementing solutions and creating pull requests.
Purpose
This skill helps you:
- Analyze GitHub issues and understand requirements
- Implement features or fixes in the codebase
- Create feature branches and commit changes
- Create pull requests with proper descriptions
Prerequisites
This skill depends on:
github-context: For collecting issue metadata and commentsgithub-publish: For creating pull requests
Environment Variables
GITHUB_OUTPUT_DIR: Output directory for artifacts- Default:
/holon/outputwhen the path exists; otherwise a temp dir under/tmp/holon-ghissue-*
- Default:
GITHUB_CONTEXT_DIR: Directory for collected GitHub context- Default:
${GITHUB_OUTPUT_DIR}/github-context
- Default:
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
-
${GITHUB_OUTPUT_DIR}/summary.md: Human-readable summary- Issue reference and description
- Implementation details
- 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"], "pr_number": 123 }
Optional Outputs
${GITHUB_OUTPUT_DIR}/publish-intent.json: PR creation intent (forgithub-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 detailsgh issue comment <number>– Comment on issuesgh pr create– Create pull requests (or usegithub-publishskill)
Important Notes
- You are running HEADLESSLY – do not wait for user input or confirmation
- Create feature branches following the pattern
feature/issue-<number>orfix/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.