Skip to content

The duration comparison logic also depends on bc and could fail. The same dependency issue applies here - consider using the same fallback approach as suggested for the FPS calculation above. #406

The duration comparison logic also depends on bc and could fail. The same dependency issue applies here - consider using the same fallback approach as suggested for the FPS calculation above.

The duration comparison logic also depends on bc and could fail. The same dependency issue applies here - consider using the same fallback approach as suggested for the FPS calculation above. #406

name: Dotfiles Issue Triage
description: Automatically triage GitHub issues using Claude Code
on:
issues:
types: [opened]
jobs:
triage-issue:
# Gate: only run when Claude Code is explicitly enabled
# Enable by setting repo variable: CLAUDE_CODE_SUBSCRIPTION=active
# Note: Assumes CLAUDE_CODE_OAUTH_TOKEN secret is configured when enabled
if: ${{ vars.CLAUDE_CODE_SUBSCRIPTION == 'active' }}
runs-on: ubuntu-latest
timeout-minutes: 5
permissions:
contents: read
issues: write
id-token: write # Required for OIDC authentication
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Prepare prompt with issue details
id: prepare-prompt
run: |
ISSUE_AUTO_LABEL="${{ github.workspace }}/.github/workflow-prompts/issue-triage.md"
PROMPT_CONTENT=$(cat "$ISSUE_AUTO_LABEL" | \
sed "s|{{ REPO }}|${{ github.repository }}|g" | \
sed "s|{{ ISSUE_NUMBER }}|${{ github.event.issue.number }}|g")
echo "prompt<<EOF" >> $GITHUB_OUTPUT
echo "$PROMPT_CONTENT" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
# EXPERIMENT #1213: GitHub MCP Server temporarily disabled
# - name: Setup GitHub MCP Server
# run: |
# mkdir -p /tmp/mcp-config
# cat > /tmp/mcp-config/mcp-servers.json << 'EOF'
# {
# "mcpServers": {
# "github": {
# "command": "node",
# "args": ["${{ github.workspace }}/mcp/servers/github-mcp-server/dist/index.js"],
# "env": {
# "GITHUB_TOKEN": "${{ secrets.GITHUB_TOKEN }}"
# }
# }
# }
# }
# EOF
- name: Run Claude Code for Issue Triage
uses: anthropics/claude-code-base-action@beta
with:
prompt: ${{ steps.prepare-prompt.outputs.prompt }}
allowed_tools: "Bash(gh:*)"
timeout_minutes: "5"
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
model: claude-sonnet-4-5-20250929
claude_env: |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}