diff --git a/.claude/commands/oncall-triage-ci.md b/.claude/commands/oncall-triage-ci.md deleted file mode 100644 index 1ed316db52..0000000000 --- a/.claude/commands/oncall-triage-ci.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -allowed-tools: Bash(./scripts/gh.sh:*), Bash(./scripts/edit-issue-labels.sh:*), TodoWrite -description: Triage GitHub issues for oncall attention (CI workflow version) ---- - -You're an oncall triage assistant for GitHub issues. Your task is to identify critical issues that require immediate oncall attention. - -Important: Don't post any comments or messages to the issues. Your only action should be to apply the "oncall" label to qualifying issues. - -$ARGUMENTS - -TOOLS: -- `./scripts/gh.sh` — wrapper for `gh` CLI. Example commands: - - `./scripts/gh.sh issue list --state open --label bug --limit 100` — list open bugs - - `./scripts/gh.sh issue view 123` — view issue details - - `./scripts/gh.sh issue view 123 --comments` — view with comments - - `./scripts/gh.sh search issues "query" --limit 10` — search for issues -- `./scripts/edit-issue-labels.sh --issue NUMBER --add-label LABEL` — add labels to an issue - -Task overview: - -1. Fetch all open issues updated in the last 3 days: - - Use `./scripts/gh.sh issue list --state open --limit 100` to get issues - - This will give you the most recently updated issues first - - For each page of results, check the updatedAt timestamp of each issue - - Add issues updated within the last 3 days (72 hours) to your TODO list as you go - - Once you hit issues older than 3 days, you can stop fetching - -2. Build your TODO list incrementally as you fetch: - - As you fetch each page, immediately add qualifying issues to your TODO list - - One TODO item per issue number (e.g., "Evaluate issue #123") - - This allows you to start processing while still fetching more pages - -3. For each issue in your TODO list: - - Use `./scripts/gh.sh issue view ` to read the issue details (title, body, labels) - - Use `./scripts/gh.sh issue view --comments` to read all comments - - Evaluate whether this issue needs the oncall label: - a) Is it a bug? (has "bug" label or describes bug behavior) - b) Does it have at least 50 engagements? (count comments + reactions) - c) Is it truly blocking? Read and understand the full content to determine: - - Does this prevent core functionality from working? - - Can users work around it? - - Consider severity indicators: "crash", "stuck", "frozen", "hang", "unresponsive", "cannot use", "blocked", "broken" - - Be conservative - only flag issues that truly prevent users from getting work done - -4. For issues that meet all criteria and do not already have the "oncall" label: - - Use `./scripts/edit-issue-labels.sh --issue --add-label "oncall"` - - Do not post any comments - - Do not remove any existing labels - - Do not remove the "oncall" label from issues that already have it - -Important guidelines: -- Use the TODO list to track your progress through ALL candidate issues -- Process issues efficiently - don't read every single issue upfront, work through your TODO list systematically -- Be conservative in your assessment - only flag truly critical blocking issues -- Do not post any comments to issues -- Your only action should be to add the "oncall" label using ./scripts/edit-issue-labels.sh -- Mark each issue as complete in your TODO list as you process it - -5. After processing all issues in your TODO list, provide a summary of your actions: - - Total number of issues processed (candidate issues evaluated) - - Number of issues that received the "oncall" label - - For each issue that got the label: list issue number, title, and brief reason why it qualified - - Close calls: List any issues that almost qualified but didn't quite meet the criteria (e.g., borderline blocking, had workarounds) - - If no issues qualified, state that clearly - - Format the summary clearly for easy reading diff --git a/.claude/commands/oncall-triage.md b/.claude/commands/oncall-triage.md deleted file mode 100644 index 979bdfe6e2..0000000000 --- a/.claude/commands/oncall-triage.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -allowed-tools: Bash(gh issue list:*), Bash(gh issue view:*), Bash(gh issue edit:*), TodoWrite -description: Triage GitHub issues and label critical ones for oncall ---- - -You're an oncall triage assistant for GitHub issues. Your task is to identify critical issues that require immediate oncall attention and apply the "oncall" label. - -Repository: anthropics/claude-code - -Task overview: - -1. First, get all open bugs updated in the last 3 days with at least 50 engagements: - ```bash - gh issue list --repo anthropics/claude-code --state open --label bug --limit 1000 --json number,title,updatedAt,comments,reactions | jq -r '.[] | select((.updatedAt >= (now - 259200 | strftime("%Y-%m-%dT%H:%M:%SZ"))) and ((.comments | length) + ([.reactions[].content] | length) >= 50)) | "\(.number)"' - ``` - -2. Save the list of issue numbers and create a TODO list with ALL of them. This ensures you process every single one. - -3. For each issue in your TODO list: - - Use `gh issue view --repo anthropics/claude-code --json title,body,labels,comments` to get full details - - Read and understand the full issue content and comments to determine actual user impact - - Evaluate: Is this truly blocking users from using Claude Code? - - Consider: "crash", "stuck", "frozen", "hang", "unresponsive", "cannot use", "blocked", "broken" - - Does it prevent core functionality? Can users work around it? - - Be conservative - only flag issues that truly prevent users from getting work done - -4. For issues that are truly blocking and don't already have the "oncall" label: - - Use `gh issue edit --repo anthropics/claude-code --add-label "oncall"` - - Mark the issue as complete in your TODO list - -5. After processing all issues, provide a summary: - - List each issue number that received the "oncall" label - - Include the issue title and brief reason why it qualified - - If no issues qualified, state that clearly - -Important: -- Process ALL issues in your TODO list systematically -- Don't post any comments to issues -- Only add the "oncall" label, never remove it -- Use individual `gh issue view` commands instead of bash for loops to avoid approval prompts diff --git a/.github/workflows/oncall-triage.yml b/.github/workflows/oncall-triage.yml deleted file mode 100644 index 2d7842b26a..0000000000 --- a/.github/workflows/oncall-triage.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: Oncall Issue Triage -description: Automatically identify and label critical blocking issues requiring oncall attention -on: - push: - branches: - - add-oncall-triage-workflow # Temporary: for testing only - schedule: - # Run every 6 hours - - cron: '0 */6 * * *' - workflow_dispatch: # Allow manual trigger - -jobs: - oncall-triage: - runs-on: ubuntu-latest - timeout-minutes: 25 - permissions: - contents: read - issues: write - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Run Claude Code for Oncall Triage - timeout-minutes: 20 - uses: anthropics/claude-code-action@v1 - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - GH_REPO: ${{ github.repository }} - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - allowed_non_write_users: "*" - prompt: "/oncall-triage-ci REPO: ${{ github.repository }}" - anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}