Loading...
Loading...
Compare original and translation side by side
list_prsget_pr_commentsghglabazlist_prsget_pr_commentsghglabazcompletedcompleted@skills/prune-workflows/SKILL.mdexarchos_orchestrate prune_stale_workflowscompletedcancelled@skills/prune-workflows/SKILL.mdexarchos_orchestrate prune_stale_workflowscompletedcancelled/cleanup/cleanupmcp__exarchos__exarchos_workflow({ action: "get", featureId: "<id>" })mcp__exarchos__exarchos_view({ action: "pipeline" })mcp__exarchos__exarchos_workflow({ action: "get", featureId: "<id>" })mcp__exarchos__exarchos_view({ action: "pipeline" })exarchos_orchestrate({ action: "list_prs", state: "merged" })exarchos_orchestrate({ action: "get_pr_comments", prId: "<number>" })prUrlmergedBranchesreferences/merge-verification.mdexarchos_orchestrate({ action: "list_prs", state: "merged" })exarchos_orchestrate({ action: "get_pr_comments", prId: "<number>" })prUrlmergedBranchesreferences/merge-verification.mdexarchos_orchestrate({
action: "check_post_merge",
featureId: "<id>",
prUrl: "<url>",
mergeSha: "<sha>"
})exarchos_orchestrate({
action: "check_post_merge",
featureId: "<id>",
prUrl: "<url>",
mergeSha: "<sha>"
})mcp__exarchos__exarchos_workflow({
action: "cleanup",
featureId: "<id>",
mergeVerified: true,
prUrl: "<url-or-array>",
mergedBranches: ["branch1", "branch2"]
})synthesis.prUrlsynthesis.mergedBranchesapprovedcompletedworkflow.cleanupmcp__exarchos__exarchos_workflow({
action: "cleanup",
featureId: "<id>",
mergeVerified: true,
prUrl: "<url-or-array>",
mergedBranches: ["branch1", "branch2"]
})synthesis.prUrlsynthesis.mergedBranchesapprovedcompletedworkflow.cleanupundefinedundefined
Handle gracefully if worktrees are already removed.
如果工作树已被移除,需优雅处理。git fetch --prune
git branch -d <merged-branch-1> <merged-branch-2> ...git fetch --prune
git branch -d <merged-branch-1> <merged-branch-2> ...undefinedundefinedundefinedundefineddryRun: truemcp__exarchos__exarchos_workflow({
action: "cleanup",
featureId: "<id>",
mergeVerified: true,
dryRun: true
})dryRun: truemcp__exarchos__exarchos_workflow({
action: "cleanup",
featureId: "<id>",
mergeVerified: true,
dryRun: true
})| Error | Cause | Resolution |
|---|---|---|
| STATE_NOT_FOUND | Invalid featureId | Check pipeline view for active workflows |
| ALREADY_COMPLETED | Workflow already done | No action needed |
| INVALID_TRANSITION | Workflow is cancelled | Cannot cleanup cancelled workflows |
| GUARD_FAILED | mergeVerified is false | Verify PRs are merged before cleanup |
| 错误 | 原因 | 解决方法 |
|---|---|---|
| STATE_NOT_FOUND | 无效的featureId | 检查流水线视图中的活跃工作流 |
| ALREADY_COMPLETED | 工作流已完成 | 无需操作 |
| INVALID_TRANSITION | 工作流已取消 | 无法清理已取消的工作流 |
| GUARD_FAILED | mergeVerified为false | 清理前验证所有PR已合并 |
| Don't | Do Instead |
|---|---|
| Use cleanup as escape hatch during implementation | Only use after PRs are merged |
| Skip merge verification | Always verify via GitHub API |
| Manually navigate HSM guards post-merge | Use /cleanup |
| Leave worktrees after cleanup | Include worktree removal in process |
| 请勿 | 建议做法 |
|---|---|
| 在实现过程中将cleanup作为逃避方式 | 仅在PR合并后使用 |
| 跳过合并验证 | 始终通过GitHub API进行验证 |
| 合并后手动导航HSM防护 | 使用/cleanup命令 |
| 清理后保留工作树 | 在流程中包含工作树移除步骤 |
workflow.cleanupworkflow.cleanup