name: github_issue_bot description: GH webhook 收新 issue → claude 分析 → 自動留 comment + 加 label flow: - "input >> ON_SUCCESS >> analyze" - "analyze >> ON_SUCCESS >> add_comment" - "add_comment >> ON_SUCCESS >> add_labels" config: analyze: component: claude_api timeout_ms: 30000 _recipe_output_format: json _recipe_output_required_fields: - severity - category - first_response prompt: | 你是 GitHub issue 第一線分流員。對下列 issue 給出: - severity: "critical" | "high" | "medium" | "low" - category: "bug" | "feature" | "doc" | "question" | "other" - first_response: 一段 markdown,禮貌、有用、不假裝是真人 若是 bug,guide 用戶提供 reproduce steps;若 question 直接回答; 若 feature 引導去 discussion;若 doc 直接收。 Issue: Title: {{input.issue.title}} Body: {{input.issue.body}} add_comment: component: http_request url: "https://api.github.com/repos/{{input.repository.full_name}}/issues/{{input.issue.number}}/comments" method: POST headers: Authorization: "Bearer {{secret.GITHUB_BOT_TOKEN}}" Accept: "application/vnd.github+json" body_json: body: "{{analyze.first_response}}" add_labels: component: http_request url: "https://api.github.com/repos/{{input.repository.full_name}}/issues/{{input.issue.number}}/labels" method: POST headers: Authorization: "Bearer {{secret.GITHUB_BOT_TOKEN}}" body_json: labels: - "auto-triaged" - "severity:{{analyze.severity}}" - "type:{{analyze.category}}"