원클릭으로
issue-workflow
OpenClaw-native GitHub issue implementation and PR comment resolution workflow with persistent worktrees
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
OpenClaw-native GitHub issue implementation and PR comment resolution workflow with persistent worktrees
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | issue-workflow |
| version | 2.0.0 |
| description | OpenClaw-native GitHub issue implementation and PR comment resolution workflow with persistent worktrees |
| triggers | [{"command":"/feature-from-issue"},{"command":"/fix-issue"},{"command":"/address-pr-comments"},{"command":"/fix-pr-comments"},{"command":"/resolve-comments"}] |
| permissions | ["filesystem:read","filesystem:write","bash:execute","network:outbound"] |
OpenClaw-native workflow for implementing GitHub issues and resuming work on PR comments.
This skill does not rely on helper scripts. OpenClaw owns the workflow, the main prompt, worktree lifecycle, and verification.
/feature-from-issue <issue-id> <repo>
/fix-issue <issue-id> <repo>
/address-pr-comments <pr-number> <repo>
/fix-pr-comments <pr-number> <repo>
/resolve-comments <pr-number> <repo>
claude.claude is unavailable, fall back to opencode.Store workflow state under a skill-managed root:
~/.openclaw/issue-workflow/
Use this structure:
~/.openclaw/issue-workflow/
metadata.json
worktrees/
<repo-owner>/
<repo-name>/
issue-<id>/
metadata.json must track at least:
repoissue_numberbranch_nameworktree_pathpr_number when knownpr_url when knownlast_synced_atBranch naming must be deterministic and reusable. Use:
issue-<id>
When invoked with /feature-from-issue or /fix-issue:
gh issue view <issue-id> --repo <repo> --json number,title,body,url
metadata.json and check whether a worktree already exists for this issue.issue-<id>git fetch origin
git checkout issue-<id>
git pull --ff-only origin issue-<id>
If the remote branch does not exist yet, continue on the local branch without pulling.claude, or to opencode if claude is unavailable.When invoked with /address-pr-comments, /fix-pr-comments, or /resolve-comments:
gh pr view <pr-number> --repo <repo> --json number,title,url,headRefName,baseRefName
git fetch origin
git checkout <head-branch>
git pull --ff-only origin <head-branch>
gh pr view <pr-number> --repo <repo> --json comments,reviews,reviewRequests
gh api graphql -f query='
query($owner: String!, $repo: String!, $number: Int!) {
repository(owner: $owner, name: $repo) {
pullRequest(number: $number) {
reviewThreads(first: 100) {
nodes {
isResolved
isOutdated
path
line
comments(first: 100) {
nodes {
author { login }
body
createdAt
url
}
}
}
}
}
}
}' -F owner=<owner> -F repo=<repo-name> -F number=<pr-number>
Include both the gh pr view payload and the review thread payload in the delegated context.claude, or to opencode if claude is unavailable.For delegated runs, OpenClaw must tell the coding CLI:
OpenClaw should prefer claude for delegated execution. If claude is unavailable, use opencode with the same behavioral contract.
Do not trust delegated output alone. OpenClaw must verify with direct commands.
Issue runs are complete only when:
PR comment runs are complete only when:
main or master.When the workflow is fully verified, output:
<promise>DONE</promise>