一键导入
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 页面并帮你完成安装。
| 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>
基于 SOC 职业分类