Community研究&データ分析github.com

ComposioHQ/issue-triage

Composio CLI を使って Linear や Jira のバックログをトリアージし、バグスイープを実行します。課題を一括取得、重複排除、ラベル再設定、再割り当て、サマリー投稿まで、UI を操作せずにシェルからすべて行えます。

issue-triage とは?

このスキルは、Linear や Jira の課題管理システムにおけるトリアージセッションやバグスイープを、Composio CLI 経由で自動化するためのものです。週次トリアージ(未アサイン、古い課題、優先度未設定の抽出)や、リリース後のバグスイープ(P1/P2 バグのクラスタリング、重複排除、担当者割り当て)を、すべてシェル上で実行できます。Composio (composio.dev) が提供する CLI ツールを利用し、`composio execute` コマンドで各ツール(Linear, Jira)のアクションを呼び出します。事前に CLI のインストールとログイン、該当サービスの連携(`composio link`)が必要です。重複課題のクラスタリングはエージェントがタイトルの類似度やラベルからローカルで行い、更新は一括適用されます。また、Slack へのダイジェスト投稿や、Sentry などの外部ツールと連携したクロスツールワークフローもサポートされています。トラブルシューティングのガイドも含まれており、フィールド名の確認方法やレート制限対策などが説明されています。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ComposioHQ/awesome-codex-skills/tree/main/issue-triage

Installed? Explore more 研究&データ分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Issue Triage (Linear / Jira)

Composio CLI を使って、Linear または Jira でトリアージセッションとバグスイープを実行します。バックログを取得し、重複をクラスタリングし、ラベルを適用し、クリーンなリストをチームに引き渡します。

使用するタイミング

  • 週次トリアージ: 「未アサイン、長期放置、優先度未設定の課題は?」
  • リリース後のバグスイープ: 「すべての P1/P2 バグをクラスタリングし、重複排除し、担当者を割り当てる。」
  • クロスツール同期: Sentry → Linear、PagerDuty → Jira

前提条件

curl -fsSL https://composio.dev/install | bash
composio login
composio link linear        # または: composio link jira

ツールの確認

composio search "list issues" --toolkits linear
composio search "search issues" --toolkits jira
composio tools list linear
composio tools list jira

よく使うスラッグ(--get-schema で確認してください):

Linear

  • LINEAR_LIST_ISSUES
  • LINEAR_CREATE_ISSUE
  • LINEAR_UPDATE_ISSUE
  • LINEAR_CREATE_COMMENT

Jira

  • JIRA_SEARCH_FOR_ISSUES_USING_JQL
  • JIRA_CREATE_ISSUE
  • JIRA_EDIT_ISSUE
  • JIRA_ADD_COMMENT
  • JIRA_ASSIGN_ISSUE

トリアージのワークフロー

  1. バックログの一部を取得:
    # Linear
    composio execute LINEAR_LIST_ISSUES -d '{
      "filter": { "state": { "type": { "eq": "unstarted" } }, "assignee": { "null": true } },
      "first": 100
    }'
    
    # Jira
    composio execute JIRA_SEARCH_FOR_ISSUES_USING_JQL -d '{
      "jql": "project = APP AND statusCategory != Done AND assignee is EMPTY ORDER BY updated DESC",
      "maxResults": 100,
      "fields": ["summary","priority","labels","updated","reporter"]
    }'
    
  2. クラスタリング: タイトルの類似性とラベルに基づいて、エージェントがローカルで重複をグループ化します。
  3. 更新を一括適用(ラベル、優先度、担当者):
    composio execute LINEAR_UPDATE_ISSUE -d '{
      "id":"abc-123","priority":2,"labelIds":["label-bug","label-p1"],"assigneeId":"user-42"
    }'
    
    composio execute JIRA_EDIT_ISSUE -d '{
      "issueIdOrKey":"APP-482",
      "fields":{"priority":{"name":"High"},"labels":["bug","p1"]}
    }'
    
  4. 重複をリンク: 正規の課題を参照するコメントを追加します。
  5. 変更内容のダイジェストを Slack に投稿: チームがスイープ結果を確認できるようにします。

バグスイープ(リリース後)

# Jira: 過去7日間に作成されたすべてのバグを重要度順に並べる
composio execute JIRA_SEARCH_FOR_ISSUES_USING_JQL -d '{
  "jql":"type = Bug AND created >= -7d ORDER BY priority DESC, created ASC",
  "fields":["summary","priority","labels","reporter","components"]
}' | jq -r '.issues[] | "\(.fields.priority.name)\t\(.key)\t\(.fields.summary)"'

ワークフローファイル

scripts/triage-linear.ts を作成し、composio run --file scripts/triage-linear.ts で実行します:

const { nodes: issues } = await execute("LINEAR_LIST_ISSUES", {
  filter: { state: { type: { eq: "unstarted" } }, assignee: { null: true } },
  first: 100
});

const stale = issues.filter(i => {
  const age = (Date.now() - new Date(i.updatedAt).getTime()) / 86400000;
  return age > 14;
});

for (const i of stale) {
  await execute("LINEAR_CREATE_COMMENT", {
    issueId: i.id,
    body: "Auto-triage: stale for 14+ days. Please assign or close."
  });
}

await execute("SLACK_SEND_MESSAGE", {
  channel: "triage",
  text: `Weekly triage: pinged ${stale.length} stale issues.`
});

クロスツール: Sentry → Linear

composio run '
  const hot = await execute("SENTRY_LIST_A_PROJECTS_ISSUES", {
    organization_slug:"acme", project_slug:"api",
    query:"is:unresolved", sort:"freq", limit:5
  });
  for (const s of hot) {
    await execute("LINEAR_CREATE_ISSUE", {
      teamId: "TEAM_ID",
      title: `[Sentry] ${s.title}`,
      description: `${s.permalink}\nCount: ${s.count}`,
      labelIds: ["label-bug","label-from-sentry"]
    });
  }
'

トラブルシューティング

  • フィールド名が不明な場合 → composio execute <SLUG> --get-schema で正確なフィルター構造を確認します(Linear はネストされたオブジェクト、Jira は JQL 文字列を使用)。
  • Linear で 403 エラー → 正しいワークスペースで composio link linear を再実行します。
  • Jira のカスタムフィールドが見つからない場合 → fields 配列に明示的に指定します。
  • 一括編集でレート制限にかかった場合 → composio run のループ内に 250ms のスリープを挿入し、--parallel は使用しないでください。

完全な CLI リファレンス: docs.composio.dev/docs/cli

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

ComposioHQ/-21risk-automation

Automate 21risk tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/-2chat-automation

Automate 2chat tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/ably-automation

Automate Ably tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/abstract-automation

Automate Abstract tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/abuselpdb-automation

Automate Abuselpdb tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/abyssale-automation

Automate Abyssale tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/accelo-automation

Automate Accelo tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/accredible-certificates-automation

Automate Accredible Certificates tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/acculynx-automation

Automate Acculynx tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/active-campaign-automation

Automate ActiveCampaign tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/addresszen-automation

Automate Addresszen tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/adobe-automation

Automate Adobe tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/adrapid-automation

Automate Adrapid tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/adyntel-automation

Automate Adyntel tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/aeroleads-automation

Automate Aeroleads tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/aero-workflow-automation

Automate Aero Workflow tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/affinda-automation

Automate Affinda tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/affinity-automation

Automate Affinity tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/agencyzoom-automation

Automate Agencyzoom tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/agent-deep-links

Build, validate, and troubleshoot deep links for Codex, Cursor, VS Code, Visual Studio, and similar tools. Use when users ask for clickable links (especially in Slack) that open threads, files, folders, or app settings.

関連スキル