jpskill.com
🛠️ 開発・MCP コミュニティ

django-ticket-triage

DjangoのTracチケットを分析し、トリアージの推奨レポートを自動生成するSkill。

📜 元の英語説明(参考)

Analyze a Django Trac ticket and produce a triage recommendation report.

🇯🇵 日本人クリエイター向け解説

一言でいうと

DjangoのTracチケットを分析し、トリアージの推奨レポートを自動生成するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o django-ticket-triage.zip https://jpskill.com/download/6590.zip && unzip -o django-ticket-triage.zip && rm django-ticket-triage.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/6590.zip -OutFile "$d\django-ticket-triage.zip"; Expand-Archive "$d\django-ticket-triage.zip" -DestinationPath $d -Force; ri "$d\django-ticket-triage.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して django-ticket-triage.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → django-ticket-triage フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-17
取得日時
2026-05-17
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

[スキル名] django-ticket-triage Djangoのチケットを分析し、トリアージの推奨事項を提供します。

前提条件:

  • python3 (標準ライブラリのみ。追加のPythonパッケージは不要です)
  • gh — GitHub CLI (インストール)。gh auth login を実行して認証してください。
  • Djangoソースコード — 作業ディレクトリに git clone https://github.com/django/django.git を実行してください (ステップ5: ソースコード分析用)。

開始する前に、python3gh が利用可能であることを確認してください。gh が見つからない場合は、インストールリンクを表示して停止します。 django/ ディレクトリが見つからない場合は、ユーザーに警告し、ステップ5 (ソースコードの閲覧) をスキップします。

引数:

  • $ARGUMENTS: Tracチケット番号 (必須、例: 36812, 2750)

重要:

  • GitHubのURLにはWebFetchやFetchを使用しないでください。常に gh CLIコマンドを使用してください。
  • コミットの場合: gh api repos/<owner>/django/commits/<sha>
  • PRの場合: gh pr view <number> --repo django/django または gh api repos/django/django/pulls/<number>
  • その他の例については、references/gh-examples.md を参照してください。

: ./scripts/ のパスは、このSKILL.mdファイルからの相対パスです。実行時には実際の解決済みパスを使用してください。


ステップ1: チケット詳細の取得

python3 ./scripts/trac.py get $ARGUMENTS

以下を特定してください:

  • 基本情報: 要約、報告者、担当者、コンポーネント、バージョン
  • ステータス: ステータス、解決策、トリアージ段階、パッチの有無
  • キーワード: キーワードフィールドから主要な用語を抽出
  • チケットタイプ: バグレポート / 機能リクエスト / ドキュメント / クリーンアップ
  • 履歴: 以前の議論、関連するPR、以前のパッチ試行についてコメントを確認

ステップ2: 重複チケットと関連チケットの検索

2-1. Trac検索 (少なくとも2-3クエリ)

# 主要キーワードで検索
python3 ./scripts/trac.py search "<key keywords>"

# エラーメッセージまたはクラス/関数名で検索
python3 ./scripts/trac.py search "<error message or class name>"

# コンポーネントとキーワードの組み合わせで検索
python3 ./scripts/trac.py search "<component> <keyword>"

2-2. 関連する可能性のあるチケットの確認

見つかった関連チケットの詳細を取得します (上位3-5件):

python3 ./scripts/trac.py get <related_ticket_id>

ステップ3: 関連PRの検索 (GitHub)

チケットにリンクされているPRを見つけます:

# タイトル/本文でチケット番号に言及しているPRを検索
gh search prs "Fixed #$ARGUMENTS" --repo django/django --limit 10
gh search prs "#$ARGUMENTS" --repo django/django --limit 10

# またはTracチケットURLで検索
gh search prs "code.djangoproject.com/ticket/$ARGUMENTS" --repo django/django --limit 10

関連するPRが存在する場合は、詳細を確認します:

gh pr view <pr_number> --repo django/django --json title,state,body,comments

ステップ4: Djangoフォーラムの検索

チケットに関連するフォーラムの議論を確認します:

# チケット番号で検索
python3 ./scripts/forum.py ticket $ARGUMENTS

# 結果がない場合、キーワードでinternalsカテゴリを検索
python3 ./scripts/forum.py search "<key keywords>" --category=internals

ステップ5: 関連するソースコードの閲覧 (該当する場合)

コード変更が必要なチケットの場合、django/ ディレクトリ内の関連コードを確認します:

関連ファイルの検索:

  • Globツールをパターン django/**/<relevant_file>.py とともに使用して、ファイル名でファイルを検索します
  • Grepツールをパターン <class or function name> とともに django/ 内で使用して、コードを検索します

関連テストの検索:

  • Globツールをパターン tests/**/test_*.py とともに使用して、テストファイルを検索します
  • Grepツールをパターン <related keyword> とともに tests/ 内で使用して、テストコードを検索します

以下を特定してください:

  • 問題のあるコードの場所
  • 既存のテストカバレッジ
  • 必要な変更の範囲

ステップ6: 有効性の評価

バグレポートの場合

チェック 質問
再現性 再現手順は明確ですか?最小限の再現コードはありますか?
バージョン 最新バージョン (mainブランチ) で発生しますか?
Djangoの責任 これはDjangoのバグですか、それともユーザーコード/設定の問題ですか?
意図された動作 ドキュメント化された動作と異なりますか?設計によるものですか?
サポートされているバージョン これはサポートされているDjangoバージョンですか?
セキュリティ これはセキュリティ問題ですか? (Tracに掲載すべきではありません)

機能リクエストの場合

チェック 質問
一般性 これは十分な数のユーザーにとって有用ですか?
Djangoの哲学 Djangoの設計哲学と一致していますか?
代替案 サードパーティパッケージで解決できますか?
後方互換性 既存のコードを破壊しますか?
複雑さ メンテナンスの負担は価値に見合っていますか?
DEPの必要性 これはDEPを必要とする大規模な変更ですか?

レッドフラグ (無効である可能性が高い)

  • 公開Tracで報告されたセキュリティ問題 (security@djangoproject.com に送るべきです)
  • サポートされていないDjangoバージョンのみに影響する
  • 「私だけが必要」タイプの機能
  • ドキュメント通りに動作する (ユーザーの誤解)
  • Djangoコアではなく、サードパーティパッケージの問題

ステップ7: トリアージの決定

段階の定義と重複の基準については、references/triage-stages.md をお読みください。


ステップ8: レポートの保存と要約の出力

8-1. 完全なレポートをファイルに保存

必要に応じてディレクトリを作成し、完全なレポートを保存します:

mkdir -p triage-reports

references/report-template.md を読み、それをレポート形式として使用します。Writeツールを使用して、完全なレポートを triage-reports/<ticket_id>.md に書き込みます。

8-2. 要約をターミナルに出力

references/report-template.md からターミナル要約形式を読み取り、簡単な要約を出力します。

📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Analyze Django ticket and provide triage recommendations.

Prerequisites:

  • python3 (standard library only; no extra Python packages required)
  • gh — GitHub CLI (install). Run gh auth login to authenticate.
  • Django source code — git clone https://github.com/django/django.git in the working directory (for Step 5: source code analysis)

Before starting, verify python3 and gh are available. If gh is missing, show the install link and stop. If django/ directory is missing, warn the user and skip Step 5 (source code browsing).

Arguments:

  • $ARGUMENTS: Trac ticket number (required, e.g., 36812, 2750)

IMPORTANT:

  • DO NOT use WebFetch or Fetch for GitHub URLs. ALWAYS use the gh CLI command instead.
  • For commits: gh api repos/<owner>/django/commits/<sha>
  • For PRs: gh pr view <number> --repo django/django or gh api repos/django/django/pulls/<number>
  • See references/gh-examples.md for more examples.

Note: ./scripts/ paths are relative to this SKILL.md file. Use the actual resolved path when executing.


Step 1: Fetch Ticket Details

python3 ./scripts/trac.py get $ARGUMENTS

Identify the following:

  • Basic info: summary, reporter, owner, component, version
  • Status: status, resolution, triage_stage, has_patch
  • Keywords: Extract key terms from keywords field
  • Ticket type: Bug report / Feature request / Documentation / Cleanup
  • History: Review comments for previous discussions, related PRs, prior patch attempts

Step 2: Search for Duplicates and Related Tickets

2-1. Trac Search (at least 2-3 queries)

# Search by key keywords
python3 ./scripts/trac.py search "<key keywords>"

# Search by error message or class/function name
python3 ./scripts/trac.py search "<error message or class name>"

# Search by component + keyword combination
python3 ./scripts/trac.py search "<component> <keyword>"

2-2. Review Potentially Related Tickets

Fetch details for related tickets found (top 3-5):

python3 ./scripts/trac.py get <related_ticket_id>

Step 3: Search Related PRs (GitHub)

Find PRs linked to the ticket:

# Search PRs mentioning ticket number in title/body
gh search prs "Fixed #$ARGUMENTS" --repo django/django --limit 10
gh search prs "#$ARGUMENTS" --repo django/django --limit 10

# Or search by Trac ticket URL
gh search prs "code.djangoproject.com/ticket/$ARGUMENTS" --repo django/django --limit 10

If related PRs exist, review details:

gh pr view <pr_number> --repo django/django --json title,state,body,comments

Step 4: Search Django Forum

Check for forum discussions related to the ticket:

# Search by ticket number
python3 ./scripts/forum.py ticket $ARGUMENTS

# If no results, search internals category by keywords
python3 ./scripts/forum.py search "<key keywords>" --category=internals

Step 5: Browse Related Source Code (If Applicable)

For tickets requiring code changes, check related code in django/ directory:

Find related files:

  • Use the Glob tool with pattern django/**/<relevant_file>.py to find files by name
  • Use the Grep tool with pattern <class or function name> in django/ to search code

Find related tests:

  • Use the Glob tool with pattern tests/**/test_*.py to find test files
  • Use the Grep tool with pattern <related keyword> in tests/ to search test code

Identify:

  • Location of the problematic code
  • Existing test coverage
  • Scope of changes needed

Step 6: Validity Assessment

For Bug Reports

Check Question
Reproducibility Are reproduction steps clear? Is there minimal reproduction code?
Version Does it occur on latest version (main branch)?
Django's responsibility Is this a Django bug or user code/configuration issue?
Intended behavior Does it differ from documented behavior? Is it by design?
Supported version Is this a supported Django version?
Security Is this a security issue? (Should NOT be on Trac)

For Feature Requests

Check Question
Generality Is this useful to enough users?
Django philosophy Does it align with Django's design philosophy?
Alternatives Can this be solved with a third-party package?
Backwards compatibility Does it break existing code?
Complexity Is the maintenance burden worth the value?
DEP required Is this a large change requiring a DEP?

Red Flags (Likely Invalid)

  • Security issue reported on public Trac (should go to security@djangoproject.com)
  • Only affects unsupported Django versions
  • "Only I need this" type of feature
  • Works as documented (user misunderstanding)
  • Third-party package issue, not Django core

Step 7: Triage Decision

Read references/triage-stages.md for stage definitions and duplicate criteria.


Step 8: Save Report and Output Summary

8-1. Save Full Report to File

Create directory if needed and save the full report:

mkdir -p triage-reports

Read references/report-template.md and use it as the report format. Write the full report to triage-reports/<ticket_id>.md using the Write tool.

8-2. Output Summary to Terminal

Read the terminal summary format from references/report-template.md and output a brief summary.