From 5eb633902585d131856ae849f1648832f74c04dd Mon Sep 17 00:00:00 2001 From: Coco Sheng Date: Wed, 8 Apr 2026 14:05:03 -0400 Subject: [PATCH] feat(skills): update issue triage closed PR rule --- .../skills/builtin/github-issue-triage.skill | Bin 8829 -> 8870 bytes .../references/triage_rules.md | 21 +++++++++++------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/packages/core/src/skills/builtin/github-issue-triage.skill b/packages/core/src/skills/builtin/github-issue-triage.skill index d87a907d5716feefe1f7cbf77ac7cca550cbb258..56c7b954410aa2967498712cfbb84da27c1d7548 100644 GIT binary patch delta 4263 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 diff --git a/packages/core/src/skills/builtin/github-issue-triage/references/triage_rules.md b/packages/core/src/skills/builtin/github-issue-triage/references/triage_rules.md index 57f629edc9..134aa3cffe 100644 --- a/packages/core/src/skills/builtin/github-issue-triage/references/triage_rules.md +++ b/packages/core/src/skills/builtin/github-issue-triage/references/triage_rules.md @@ -25,14 +25,19 @@ If there is a cross-referenced PR in `cross_references` where `is_pr` is `true` 2. Check the comments to see if it was closed by an automated bot (e.g., `gemini-cli` bot closing it automatically due to missing labels like 'help wanted' after 14 days). 3. Analyze the PR's title, body, and comments to determine if it implements a valid and useful feature/fix and is worth resuming. - If it is worth resuming AND was closed by a bot: - a. Reopen the PR: `gh pr reopen ` - b. Assign the PR to the author: `gh pr edit --add-assignee ` - c. Assign the issue to the author: `gh issue edit --add-assignee ` - d. Add the help wanted label to the issue to prevent the bot from closing the PR again: `gh issue edit --add-label "help wanted"` - e. Comment on the issue: `gh issue comment --body "@, apologies! It looks like your PR was incorrectly closed by our bot. I have reopened it and assigned this issue to you. Would you like to continue working on it?"` - f. Comment on the PR: `gh pr comment --body "@, apologies for the bot closing this PR! We have reopened it. Please sync your branch to the latest \`main\` and we will have someone review it shortly."` - g. Execute `gh issue edit --remove-label "status/need-triage"` - h. **STOP EXECUTION**. + a. Determine if the issue should be **Maintainer-only** (epic, core architecture, sensitive fixes, internal tasks, or issues requiring deep investigation) or **Help-wanted** (good for community, general bugs, features, or tasks ready for external help). + b. If it should be **Maintainer-only**: + - Execute `gh issue edit --remove-label "status/need-triage" --add-label "🔒 maintainer only"` + - **STOP EXECUTION**. (Do not reopen the PR). + c. If it should be **Help-wanted**: + - Reopen the PR: `gh pr reopen ` + - Assign the PR to the author: `gh pr edit --add-assignee ` + - Assign the issue to the author: `gh issue edit --add-assignee ` + - Add the help wanted label to the issue to prevent the bot from closing the PR again: `gh issue edit --add-label "help wanted"` + - Comment on the issue: `gh issue comment --body "@, apologies! It looks like your PR was incorrectly closed by our bot. I have reopened it and assigned this issue to you. Would you like to continue working on it?"` + - Comment on the PR: `gh pr comment --body "@, apologies for the bot closing this PR! We have reopened it. Please sync your branch to the latest \`main\` and we will have someone review it shortly."` + - Execute `gh issue edit --remove-label "status/need-triage"` + - **STOP EXECUTION**. - If NOT met: Proceed to Step 1.5. ## Step 1.5: Pending Response Check