协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
django-ticket-triage【开发与工程】Analyze a Django Trac ticket and produce a triage recommendation report — duplicate search, related PRs, forum threads, and the affected source code. Use when the user gives a Django ticket number, or asks whether a ticket is valid, a duplicate, or ready for a triage stage.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Analyze a Django Trac ticket and recommend a triage stage.
Prerequisites:
python3 (standard library only; no extra Python packages required)gh — GitHub CLI (install). Run gh auth login to authenticate.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)GitHub access: use the gh CLI for every GitHub lookup, not WebFetch. gh goes through the authenticated API and returns structured JSON; fetching a github.com URL returns rendered HTML that has to be scraped and breaks whenever the page layout changes.
gh api repos/<owner>/django/commits/<sha>gh pr view <number> --repo django/django or gh api repos/django/django/pulls/<number>references/gh-examples.md for more examples.Note: ./scripts/ paths are relative to this SKILL.md file. Use the actual resolved path when executing.
python3 ./scripts/trac.py get $ARGUMENTS
Identify the following:
# 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>"
Fetch details for related tickets found (top 3-5):
python3 ./scripts/trac.py get <related_ticket_id>
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
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
For tickets requiring code changes, check related code in django/ directory:
Find related files:
django/**/<relevant_file>.py to find files by name<class or function name> in django/ to search codeFind related tests:
tests/**/test_*.py to find test files<related keyword> in tests/ to search test codeIdentify:
| 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) |
| 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? |
Read references/triage-stages.md for stage definitions and duplicate criteria.
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.
Read the terminal summary format from references/report-template.md and output a brief summary.