issue-intake

CAPHTECH's avatarfrom CAPHTECH

Issueの初期トリアージスキル。Issueを受け取り、標準化された分析結果(分類・深刻度・影響スコープ・不確実性・次アクション参照)を生成する。GitHub/Jira/Linear等のトラッカーからissue_payload形式で受け取る。トリガー条件:- 「Issue #N を分析して」「このIssueの深刻度は?」「このバグはCritical?」- 「Issue本文を初期トリアージして」「Issueを取り込んで」- 新しいIssueを受け取り、最初の分類・判断が必要な時注意: 根本原因の断定、修正案の確定、優先度の最終決定は行わない(材料提供まで)

0stars🔀0forks📁View on GitHub🕐Updated Jan 4, 2026

When & Why to Use This Skill

The Issue Intake skill is an automated triage assistant designed to streamline the initial processing of software development issues. By analyzing data from platforms like GitHub, Jira, and Linear, it generates standardized reports that include severity scoring, impact scope, and uncertainty flags. This skill helps engineering teams quickly identify critical bugs, assess risks, and determine the next steps in the development lifecycle without manual intervention.

Use Cases

  • Automated Bug Prioritization: Instantly analyze incoming bug reports to assign severity scores and classifications (Critical, Major, Minor), allowing teams to focus on high-impact issues first.
  • Standardizing Multi-Platform Inputs: Consolidate issue data from various trackers like GitHub and Jira into a uniform analysis format, ensuring consistency across different project management tools.
  • Identifying Information Gaps: Automatically detect missing reproduction steps, logs, or environment details in user-submitted issues, flagging them for immediate follow-up to reduce resolution time.
  • Risk and Impact Assessment: Evaluate the potential data risks and user impact of an issue, providing a rationale for whether an emergency or standard workflow should be triggered.
nameissue-intake
description|
注意根本原因の断定、修正案の確定、優先度の最終決定は行わない(材料提供まで)

Issue Intake(初期トリアージ)

Issueを受け取り、標準化された初期トリアージ結果を生成する。

Non-Goals(このスキルがやらないこと)

  • 根本原因の断定(可能性の列挙は可、確定口調は禁止)
  • 修正案の確定
  • 優先度の最終決定(材料の提供まで)

入力

必須(いずれか)

issue_ref形式:

issue_ref:
  repo: "owner/repo"
  number: 123

issue_payload形式:

issue_payload:
  id: "#123"           # 任意
  url: "https://..."   # 任意
  title: "..."         # 必須
  body: "..."          # 必須
  labels: ["bug"]      # 任意
  comments: [...]      # 任意
  created_at: "..."    # 任意
  updated_at: "..."    # 任意

オプション

service_context:
  environments: ["prod", "stg", "dev"]
  critical_user_flows: ["login", "checkout"]
  data_sensitivity_notes: "PII/決済/監査対象など"

taxonomy:
  module_map: {"auth": ["login", "oauth"], "session": ["cookie", "token"]}

出力

issue_intake:
  id: "#123"
  title: "..."
  type: "bug"                    # bug/feature/question/task/unknown
  classification: "Major"        # Critical/Major/Minor/Enhancement/NeedsInfo
  severity_score: "7/10"         # 1-10。根拠弱ければ下げる
  confidence: "0.55"             # 0-1(情報充足度と矛盾の少なさ)
  severity_rationale:
    - "根拠1"
    - "根拠2"
  scope:
    modules: ["auth", "session"] # 不明なら ["unknown"]
    user_impact:
      breadth: "unknown"         # unknown/some/many/all
      segment: "unknown"         # 例: iOSのみ, SSO利用者のみ
    environments: ["unknown"]    # prod/stg/dev/unknown
    data_risk: "none"            # none/possible/certain
    estimated_files: "5-10"      # レンジ。根拠薄い場合は "unknown"
  uncertainty_flags:
    - "missing_repro_steps"
    - "missing_environment"
  suspected_categories:
    - "auth_failure"             # 分類タグ
  recommended_workflow: "standard" # emergency/standard/lightweight
  next_actions:
    - "/resolving-uncertainty"
    - "/eld-sense-activation"

処理フロー

Step 1: Issue解析(parse_issue)

Issue本文から以下を抽出:

項目 説明 不在時のフラグ
symptoms 発生している症状 -
expected_behavior 期待される動作 missing_expected_vs_actual
actual_behavior 実際の動作 missing_expected_vs_actual
repro_steps 再現手順 missing_repro_steps
environment 環境情報 missing_environment
logs_or_errors ログ/エラーメッセージ missing_logs
frequency 発生頻度 missing_frequency
workaround 回避策 -
regression_hint 回帰の兆候 -
security_signal セキュリティ関連の兆候 -

Step 2: タイプ分類(classify_type)

type 判定条件
bug 実際の挙動が期待から逸脱
feature 新規要求/改善要求
question 質問/サポート
task 作業依頼(バグでも機能でもない)
unknown 判定不能

Step 3: 深刻度スコアリング(severity_scoring)

詳細は references/scoring-rules.md を参照。

ベーススコア:

  • Security疑い(credential/権限/データ露出): base 9
  • データ損失/破損の可能性: base 8
  • 主要機能が成立しない可能性: base 7
  • 性能劣化/部分機能不全: base 4-6
  • UI崩れ/軽微: base 1-3
  • Enhancement: base 1-2

修正子(Modifiers):

  • +1: prod影響が明記
  • +1: 多数ユーザー/広範囲が明記
  • +1: 回避策なし
  • +1: 回帰(以前は動いた)が明記
  • -1: 影響が限定的
  • -1: 回避策あり
  • -1: 再現性が低い/断片的

不確実性ポリシー:

  • 不確実性フラグが多いほど confidence を下げる
  • severity_score は上限側に寄せない(過剰確信禁止)
  • セキュリティ疑いのみ例外で高めに保持

Step 4: 分類マッピング(classification_mapping)

classification 条件
Critical severity >= 9 または security_signal が強い
Major severity 6-8
Minor severity 3-5
Enhancement type=feature かつ severity <= 2
NeedsInfo 本文が極端に不足し、分類に必要な最小情報が欠落

Step 5: ワークフロー推奨(workflow_recommendation)

workflow 条件
emergency Critical または security_signal 強 / outage疑い
standard Major または 不確実性が中程度以上
lightweight Minor/Enhancement かつ 不確実性が低い

Step 6: 次アクション選択(next_actions_selection)

next_actions は別スキル参照のみ。理由は severity_rationale 側に記載。

デフォルト:

  • /resolving-uncertainty
  • /eld-sense-activation

条件分岐:

条件 追加アクション
security_signal == true /security-observation
missing_repro_steps in flags 再現手順の追加依頼を検討
missing_logs in flags ログ取得依頼を検討
missing_environment in flags 環境情報の追加依頼を検討

ガードレール

  1. 過剰確信の禁止: 情報不足時は confidence を下げ、NeedsInfo を積極的に使う
  2. 断定口調の禁止: 「〜である」ではなく「〜の可能性がある」「〜が示唆される」
  3. セキュリティ例外: セキュリティ疑いは軽視より重視側に倒す
  4. 根拠の明示: severity_rationale に判断根拠を必ず記載

出力例

issue_intake:
  id: "#123"
  title: "認証エラーが発生する"
  type: "bug"
  classification: "Major"
  severity_score: "7/10"
  confidence: "0.50"
  severity_rationale:
    - "認証は主要導線であり、失敗が継続すると利用が成立しなくなる可能性がある"
    - "再現条件・影響範囲が未記載のため、Critical まで断定できない"
  scope:
    modules: ["auth", "session"]
    user_impact:
      breadth: "unknown"
      segment: "unknown"
    environments: ["unknown"]
    data_risk: "none"
    estimated_files: "5-10"
  uncertainty_flags:
    - "missing_repro_steps"
    - "missing_environment"
    - "missing_impact_breadth"
  suspected_categories:
    - "auth_failure"
  recommended_workflow: "standard"
  next_actions:
    - "/eld-sense-activation"
    - "/resolving-uncertainty"

リファレンス