django-ticket-triage
DjangoのTracチケットを分析し、トリアージの推奨レポートを自動生成するSkill。
📜 元の英語説明(参考)
Analyze a Django Trac ticket and produce a triage recommendation report.
🇯🇵 日本人クリエイター向け解説
DjangoのTracチケットを分析し、トリアージの推奨レポートを自動生成するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
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
$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. 下の青いボタンを押して
django-ticket-triage.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
django-ticket-triageフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
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: ソースコード分析用)。
開始する前に、python3 と gh が利用可能であることを確認してください。gh が見つからない場合は、インストールリンクを表示して停止します。
django/ ディレクトリが見つからない場合は、ユーザーに警告し、ステップ5 (ソースコードの閲覧) をスキップします。
引数:
$ARGUMENTS: Tracチケット番号 (必須、例:36812,2750)
重要:
- GitHubのURLにはWebFetchやFetchを使用しないでください。常に
ghCLIコマンドを使用してください。 - コミットの場合:
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). Rungh auth loginto authenticate.- Django source code —
git clone https://github.com/django/django.gitin 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
ghCLI command instead. - For commits:
gh api repos/<owner>/django/commits/<sha> - For PRs:
gh pr view <number> --repo django/djangoorgh api repos/django/django/pulls/<number> - See
references/gh-examples.mdfor 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>.pyto find files by name - Use the Grep tool with pattern
<class or function name>indjango/to search code
Find related tests:
- Use the Glob tool with pattern
tests/**/test_*.pyto find test files - Use the Grep tool with pattern
<related keyword>intests/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.