
jira-crash
by XuNeo
SKILL.md
name: jira-crash description: "Fetch crash information from Jira issues, extract crash platform links from comments, download ELF/coredump/log files using playwright browser automation, and organize files for GDB debugging. Supports multiple cores (ap, cp, sensor, audio) and auto-detects latest crash from tool comments." license: Apache-2.0 compatibility: "Requires Jira MCP server, playwright MCP server with proxy for internal network access. Optional: executor MCP for GDB sessions."
jira-crash
Fetch crash information from Jira issues and download debug files from crash analysis platform using playwright browser automation.
When to Use
- Analyze crash issues from Jira
- Download ELF, coredump, and log files from crash analysis platform
- Fetch crash files for multiple cores (ap, cp, sensor, audio)
Prerequisites
Required:
- Jira MCP server - Fetch Jira issue information
- Playwright MCP server - Browser automation for crash platform access
Playwright configuration (with proxy if needed):
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest", "--proxy-server", "http://127.0.0.1:7890"]
}
Workflow
Step 1: Fetch Jira Issue Basic Information
Use mcp_mi_jira_jira_get_issue to get issue details:
issue_key: "PROJECT-XXXXX"
fields: "summary,description,status,assignee,reporter,issuetype,created,priority,labels"
comment_limit: 20
Extract key information:
- summary: Issue title
- description: Issue description containing crash report link
- status: Current status
- labels: Label information
Step 2: Extract Crash Platform Link
From description:
Crash report link format: http://crash.example.internal/crash_report?id=XXXXXX
From comments (important):
Tools automatically comment new identical crash information to Jira. Check recent comments:
- If multiple crashes are auto-commented by tools, get the crash link from the latest comment
- If no tool comments exist, use crash information from the main issue description
Identifying tool auto-comment characteristics:
- Comment content contains
crash_report?id=link - Comment format is typically structured crash information
Step 3: Access Crash Platform Using Playwright
mcp_playwright_browser_navigate: http://crash.example.internal/crash_report?id={crash_id}
Authentication handling:
- First access may redirect to SSO login page
- If intermediate page appears, click "Continue to access"
- Use
mcp_playwright_browser_take_screenshotto capture QR code for user scanning with authenticator app
Step 4: Extract Download Links
Identify available core types from page (via tab labels):
- ap - Application Processor (most common)
- cp - Communication Processor
- sensor - Sensor Hub
- audio - Audio DSP
- tee - Trusted Execution Environment
URL patterns:
ELF: https://storage.example.internal/crash-logs/{crash_id}/{core}/firmware_{core}.elf
Dump: https://storage.example.internal/crash-logs/{crash_id}/{core}/*.bin
Log: https://storage.example.internal/crash-logs/{crash_id}/{core}/full_run.log
Step 5: Download Files to Local Directory
Directory structure:
./crash-{crash_id}/
├── ap/
│ ├── firmware_ap.elf
│ ├── 0-0x40000000.bin
│ └── full_run.log
├── cp/
│ ├── firmware_cp.elf
│ ├── *.bin
│ └── full_run.log
├── sensor/
│ └── ...
└── audio/
└── ...
Download commands:
mkdir -p ./crash-{crash_id}/{core}
curl -L -o ./crash-{crash_id}/{core}/firmware_{core}.elf "{elf_url}"
curl -L -o ./crash-{crash_id}/{core}/{dump_filename} "{dump_url}"
curl -L -o ./crash-{crash_id}/{core}/full_run.log "{log_url}"
Output
After successful execution:
- Downloaded file paths
- Crash basic information (product, branch, crash type)
- Command hints for GDB analysis
If any download fails: STOP and ask user - do not proceed Never use existing local files or files from other directories
Examples
Example 1: Standard Jira Crash Analysis
User request:
Analyze crash issue PROJECT-12345
Execution flow:
- Get Jira issue:
mcp_mi_jira_jira_get_issue(issue_key="PROJECT-12345", fields="summary,description,status", comment_limit=20)
-
Extract crash_id from description or latest comment:
303533 -
Access crash platform:
mcp_playwright_browser_navigate(url="http://crash.example.internal/crash_report?id=303533")
- Get page snapshot to extract download links:
mcp_playwright_browser_snapshot()
- Download AP core files:
mkdir -p ./crash-303533/ap
curl -L -o ./crash-303533/ap/firmware_ap.elf "https://storage.example.internal/crash-logs/303533/ap/firmware_ap.elf"
curl -L -o ./crash-303533/ap/0-0x40000000.bin "https://storage.example.internal/crash-logs/303533/ap/0-0x40000000.bin"
curl -L -o ./crash-303533/ap/full_run.log "https://storage.example.internal/crash-logs/303533/ap/full_run.log"
Example 2: Multi-Core Crash
Scenario: Jira comments contain multiple crashes, need to download files for multiple cores
Execution:
# Download all available cores
for core in ap cp sensor audio; do
mkdir -p ./crash-{crash_id}/$core
curl -L -f -o ./crash-{crash_id}/$core/firmware_$core.elf \
"https://storage.example.internal/crash-logs/{crash_id}/$core/firmware_$core.elf" || true
done
Example 3: Get Latest Crash from Tool Auto-Comments
Scenario: Jira has multiple tool auto-commented crashes
Processing logic:
- Get recent 20 comments
- Filter comments containing
crash_report?id= - Take crash_id from the latest matching comment
- Download files for that crash
Error Handling
Login Issues
If redirected to SSO login page:
- Screenshot to display QR code
- User scans with authenticator app
- Continue after successful login
File Not Found
Some cores may not have crash files, use curl -f to ignore 404 errors:
curl -L -f -o file.elf "url" || echo "File not found, skipping"
Incomplete Coredump
Page may show "coredump incomplete, requires manual analysis":
- Still download available dump files
- Analyze with
full_run.log
Integration
After download, use crash-analysis skill or gdb-start skill for debugging:
# Start GDB
gdb-multiarch ./crash-{crash_id}/ap/firmware_ap.elf
# Import nxgdb
(gdb) py import nxgdb
# Load dump
(gdb) target nxstub --rawfile ./crash-{crash_id}/ap/0-0x40000000.bin:0x40000000
URL Patterns
| Resource Type | URL Pattern |
|---|---|
| Crash Report Page | http://crash.example.internal/crash_report?id={crash_id} |
| ELF File | https://storage.example.internal/crash-logs/{crash_id}/{core}/firmware_{core}.elf |
| Coredump | https://storage.example.internal/crash-logs/{crash_id}/{core}/*.bin |
| Run Log | https://storage.example.internal/crash-logs/{crash_id}/{core}/full_run.log |
Notes
- Generally prioritize analyzing ap core crash data
- Dump filename format
{offset}-{base_address}.bin, e.g.,0-0x40000000.binmeans base address0x40000000 - If multiple crashes are auto-commented to Jira by tools, default to getting the latest one
スコア
総合スコア
リポジトリの品質指標に基づく評価
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
レビュー
レビュー機能は近日公開予定です