Gh Fix Issue
Overview
Use gh to inspect a GitHub Issue and:
- Fetch issue metadata (title, body, state, labels, assignees)
- Fetch all comments
- Fetch linked PRs via timeline events
- Extract error messages, stack traces, file references, code blocks, and cross-references
- Classify issue type (BUG / FEATURE / ENHANCEMENT / DOCUMENTATION / QUESTION)
- Search the codebase for relevant files
- Propose a fix plan with confidence levels
Then produce a structured Issue Analysis Report, post progress to the issue, and implement fixes after explicit approval.
- Depends on the
plan skill for drafting and approving the fix plan.
Prereq: ensure gh is authenticated (for example, run gh auth login once), then run gh auth status with escalated permissions (include repo scope) so gh commands succeed.
Analysis Report Anti-Patterns
Prohibited Language
| Prohibited |
Required Alternative |
| "We should look into..." |
"Edit path/file.ts:42 to..." |
| "There seem to be some issues" |
"3 actionable items detected" |
| "This might be causing..." |
"Root cause: <error from issue>" |
| "Consider fixing..." / "It looks like..." |
"Action: Fix <what> in <where>" |
| "Various errors are reported" |
"2 error messages extracted: <msg1>, <msg2>" |
| "Some files are involved" |
"3 file references: src/a.ts:42, src/b.rs:10, src/c.py" |
| "I'll try to fix this" |
"Action: <specific fix>" |
Structural Prohibitions
- Prose paragraphs for reporting — use A1/I1 item format exclusively.
- Omitting the Evidence field in any ACTIONABLE item.
- Combining multiple independent problems into a single item.
- Omitting file paths or line numbers when the script output contains them.
Issue/PR Comment Formatting (must follow)
- Final comment text must not contain escaped newline literals such as
\n.
- Use real line breaks in comment bodies. Do not rely on escaped sequences for formatting.
- Before posting (
gh issue comment), verify the final body does not accidentally include escaped control sequences (\n, \t).
- If a raw escape sequence must be shown for explanation, include it only inside a fenced code block and clarify it is intentional.
Issue Progress Comment Template (required)
When posting progress updates to the issue, use this template:
Progress
- ...
Done
- ...
Next
- ...
- Post updates at least when starting work, after meaningful progress, and when blocked/unblocked.
- In
Next, explicitly state blockers or the immediate next action.
Inputs
repo: path inside the repo (default .)
issue: Issue number or URL (required)
focus: codebase search narrowing (optional; e.g., src/lib/components)
max-comment-length: max characters per comment body (0 = unlimited)
gh authentication for the repo host
Quick start
# Inspect issue (text output)
python3 "${CLAUDE_PLUGIN_ROOT}/github/skills/gh-fix-issue/scripts/inspect_issue.py" --repo "." --issue "<number>"
# Inspect issue by URL
python3 "${CLAUDE_PLUGIN_ROOT}/github/skills/gh-fix-issue/scripts/inspect_issue.py" --repo "." --issue "https://github.com/org/repo/issues/123"
# With focus area
python3 "${CLAUDE_PLUGIN_ROOT}/github/skills/gh-fix-issue/scripts/inspect_issue.py" --repo "." --issue "<number>" --focus "src/lib"
# JSON output
python3 "${CLAUDE_PLUGIN_ROOT}/github/skills/gh-fix-issue/scripts/inspect_issue.py" --repo "." --issue "<number>" --json
# Limit comment length
python3 "${CLAUDE_PLUGIN_ROOT}/github/skills/gh-fix-issue/scripts/inspect_issue.py" --repo "." --issue "<number>" --max-comment-length 500
Workflow
Verify gh authentication.
- Run
gh auth status in the repo with escalated scopes (repo).
- If unauthenticated, ask the user to log in before proceeding.
Resolve the Issue.
- Accept issue number or full URL.
- Validate that the issue exists and is accessible.
Run inspect_issue.py to fetch and parse data.
- Fetch issue metadata, comments, and linked PRs.
- Parse body and comments for error messages, stack traces, file references, code blocks, sections, and cross-references.
- Classify the issue type.
- Check file existence for extracted file references.
Classify the Issue.
- Use labels (highest priority) and body/title heuristics.
- Classification: BUG, FEATURE, ENHANCEMENT, DOCUMENTATION, QUESTION, UNCLASSIFIED.
- BUG issues proceed to fix planning; FEATURE/ENHANCEMENT proceed to implementation planning.
Search the codebase for relevant context.
- Use extracted file references as starting points.
- Search for error messages and symbols mentioned in the issue.
- If
--focus is provided, restrict search to that area.
- Use Grep/Glob to find related files and definitions.
Produce Issue Analysis Report (mandatory format).
Output MUST use this exact structure:
## Issue Analysis Report: #<number>
**Issue Type:** BUG | FEATURE | ENHANCEMENT | DOCUMENTATION | QUESTION | UNCLASSIFIED
**Title:** <issue title>
**State:** OPEN | CLOSED
**Labels:** <label1>, <label2>, ...
**Assignees:** <assignee1>, <assignee2>, ...
Actionable items: <N>
---
### EXTRACTED CONTEXT
#### Error Messages
- `<error message 1>`
- `<error message 2>`
#### Stack Traces
File References
path/to/file.ext:42 [EXISTS]
path/to/other.ext:10 [NOT FOUND]
Repro Steps
Expected vs Actual
CODEBASE MATCHES
M1.
- Path:
path/to/file.ext:line
- Relevance: Why this file matters
M2.
...
ACTIONABLE
A1. [CATEGORY] <1-line title>
- What: Factual statement (no speculation)
- Where: file_path:line_number
- Evidence: Verbatim quote from issue or codebase
- Action: Specific fix (file path, command, or code change)
- Confidence: High | Medium | Low
A2. [CATEGORY] <1-line title>
...
INFORMATIONAL
I1. [CATEGORY] <1-line title>
LINKED CONTEXT
Linked PRs
Cross-references
Comments Summary
- comments from authors
- Key points: ...
Summary: actionable items, informational items, codebase matches.
**Category labels:** `CODE-FIX`, `CONFIG-FIX`, `TEST-FIX`, `DEPENDENCY`, `DOCUMENTATION`, `DESIGN-DECISION`, `INVESTIGATION`
**Confidence judgment:**
- **High** — Clear error with obvious fix location, stack trace points to exact line
- **Medium** — Error pattern matches but fix location needs investigation
- **Low** — Requires design decision or the root cause is unclear
Decide execution path based on Confidence.
- If ALL actionable items have Confidence: High → display report, propose plan, proceed after approval.
- If ANY actionable item has Confidence: Low → request user guidance for low-confidence items before planning.
- For FEATURE/ENHANCEMENT types → always create a plan and request approval.
Post progress comment to the Issue.
- Use the Issue Progress Comment Template.
- Include analysis summary and planned actions.
- Command:
gh issue comment <number> -b "<body>"
Implement fixes after approval.
- Apply the approved fixes, summarize diffs/tests.
- After applying fixes, commit changes and push.
- Create or update a PR linking to the issue (e.g.,
Fixes #<number>).
- Post a final progress comment to the issue.
Bundled Resources
scripts/inspect_issue.py
GitHub Issue inspection and analysis tool. Fetches issue data, parses error context, classifies the issue, and checks file existence.
Arguments:
| Argument |
Default |
Description |
--repo |
. |
Path inside the target Git repository |
--issue |
(required) |
Issue number or URL |
--focus |
(none) |
Codebase search narrowing area |
--max-comment-length |
0 (unlimited) |
Max characters per comment body |
--json |
false |
Emit JSON output |
Exit codes:
0: Success
1: Error occurred
Features
Issue Data Fetching
Fetches comprehensive issue data:
- Title, body, state, labels, assignees, author
- All comments (with optional length truncation)
- Linked PRs via GraphQL timeline events (CrossReferencedEvent, ConnectedEvent)
Error Context Extraction
Parses issue body and comments for:
- Error messages (
Error:, TypeError:, panicked at, etc.)
- Stack traces (
at , Traceback, thread '...' panicked, etc.)
- File path references (
path/to/file.ext:123 format)
- Fenced code blocks
- Well-known sections (Steps to Reproduce, Expected Behavior, Actual Behavior)
- Cross-references (
#123, org/repo#123)
Issue Classification
Classifies based on labels (highest priority) and body/title heuristics:
- BUG:
bug, defect, regression, crash, error labels or error indicators in body
- FEATURE:
feature, feature-request labels or feature request language
- ENHANCEMENT:
enhancement, improvement labels
- DOCUMENTATION:
documentation, docs labels
- QUESTION:
question, help, support labels or question language
- UNCLASSIFIED: No matching signals
File Existence Check
Validates extracted file references against the repository:
- Checks if files exist at the referenced paths
- Reports
[EXISTS] or [NOT FOUND] status
Output Examples
Text Output
Issue #42: TypeError when clicking save button
============================================================
State: OPEN
Type: BUG
Labels: bug, ui
Assignees: developer1
Author: @reporter1
URL: https://github.com/org/repo/issues/42
BODY
------------------------------------------------------------
When I click the save button on the settings page, I get this error:
TypeError: Cannot read properties of undefined (reading 'name')
at SaveHandler (src/components/Settings.tsx:42)
at onClick (src/components/Button.tsx:15)
### Steps to Reproduce
1. Open Settings page
2. Change any setting
3. Click Save
### Expected Behavior
Settings should be saved successfully.
### Actual Behavior
TypeError is thrown and settings are not saved.
EXTRACTED SECTIONS
------------------------------------------------------------
[Steps To Reproduce]
1. Open Settings page
2. Change any setting
3. Click Save
[Expected]
Settings should be saved successfully.
[Actual]
TypeError is thrown and settings are not saved.
ERROR MESSAGES (1)
------------------------------------------------------------
[1] TypeError: Cannot read properties of undefined (reading 'name')
STACK TRACES (1)
------------------------------------------------------------
[1]
at SaveHandler (src/components/Settings.tsx:42)
at onClick (src/components/Button.tsx:15)
FILE REFERENCES (2)
------------------------------------------------------------
src/components/Settings.tsx:42 [EXISTS]
src/components/Button.tsx:15 [EXISTS]
COMMENTS (1)
------------------------------------------------------------
@maintainer1 (2025-01-20):
This might be related to the recent refactor in #38.
LINKED PULL REQUESTS (1)
------------------------------------------------------------
PR #45: Fix settings save handler [OPEN]
https://github.com/org/repo/pull/45
============================================================
JSON Output
{
"issue": {
"number": 42,
"title": "TypeError when clicking save button",
"body": "...",
"state": "OPEN",
"labels": [{"name": "bug"}, {"name": "ui"}],
"assignees": [{"login": "developer1"}],
"author": {"login": "reporter1"},
"url": "https://github.com/org/repo/issues/42"
},
"issueType": "BUG",
"comments": [
{
"id": 123456,
"author": "maintainer1",
"body": "This might be related to the recent refactor in #38.",
"createdAt": "2025-01-20T12:00:00Z"
}
],
"linkedPRs": [
{
"number": 45,
"title": "Fix settings save handler",
"state": "OPEN",
"url": "https://github.com/org/repo/pull/45"
}
],
"parsed": {
"errorMessages": [
"TypeError: Cannot read properties of undefined (reading 'name')"
],
"stackTraces": [
"at SaveHandler (src/components/Settings.tsx:42)\n at onClick (src/components/Button.tsx:15)"
],
"fileReferences": [
"src/components/Settings.tsx:42",
"src/components/Button.tsx:15"
],
"codeBlocks": ["TypeError: Cannot read properties of undefined..."],
"sections": {
"steps_to_reproduce": "1. Open Settings page\n2. Change any setting\n3. Click Save",
"expected": "Settings should be saved successfully.",
"actual": "TypeError is thrown and settings are not saved."
},
"crossReferences": [
{"repo": "", "number": 38, "ref": "#38"}
]
},
"fileChecks": [
{"reference": "src/components/Settings.tsx:42", "path": "src/components/Settings.tsx", "exists": true},
{"reference": "src/components/Button.tsx:15", "path": "src/components/Button.tsx", "exists": true}
]
}
1---2name: gh-fix-issue3description: Analyze a GitHub Issue to extract error context, stack traces, file references, and cross-references. Classify the issue, search the codebase for relevant files, produce a structured Issue Analysis Report, and propose a concrete fix plan. Post progress updates to the issue.4---56# Gh Fix Issue78## Overview910Use gh to inspect a GitHub Issue and:1112- Fetch issue metadata (title, body, state, labels, assignees)13- Fetch all comments14- Fetch linked PRs via timeline events15- Extract error messages, stack traces, file references, code blocks, and cross-references16- Classify issue type (BUG / FEATURE / ENHANCEMENT / DOCUMENTATION / QUESTION)17- Search the codebase for relevant files18- Propose a fix plan with confidence levels1920Then produce a structured Issue Analysis Report, post progress to the issue, and implement fixes after explicit approval.2122- Depends on the `plan` skill for drafting and approving the fix plan.2324Prereq: ensure `gh` is authenticated (for example, run `gh auth login` once), then run `gh auth status` with escalated permissions (include repo scope) so `gh` commands succeed.2526## Analysis Report Anti-Patterns2728### Prohibited Language2930| Prohibited | Required Alternative |31|---|---|32| "We should look into..." | "Edit `path/file.ts:42` to..." |33| "There seem to be some issues" | "3 actionable items detected" |34| "This might be causing..." | "Root cause: `<error from issue>`" |35| "Consider fixing..." / "It looks like..." | "Action: Fix `<what>` in `<where>`" |36| "Various errors are reported" | "2 error messages extracted: `<msg1>`, `<msg2>`" |37| "Some files are involved" | "3 file references: `src/a.ts:42`, `src/b.rs:10`, `src/c.py`" |38| "I'll try to fix this" | "Action: \<specific fix\>" |3940### Structural Prohibitions4142- Prose paragraphs for reporting — use A1/I1 item format exclusively.43- Omitting the Evidence field in any ACTIONABLE item.44- Combining multiple independent problems into a single item.45- Omitting file paths or line numbers when the script output contains them.4647## Issue/PR Comment Formatting (must follow)4849- Final comment text must not contain escaped newline literals such as `\n`.50- Use real line breaks in comment bodies. Do not rely on escaped sequences for formatting.51- Before posting (`gh issue comment`), verify the final body does not accidentally include escaped control sequences (`\n`, `\t`).52- If a raw escape sequence must be shown for explanation, include it only inside a fenced code block and clarify it is intentional.5354## Issue Progress Comment Template (required)5556When posting progress updates to the issue, use this template:5758```markdown59Progress60- ...6162Done63- ...6465Next66- ...67```6869- Post updates at least when starting work, after meaningful progress, and when blocked/unblocked.70- In `Next`, explicitly state blockers or the immediate next action.7172## Inputs7374- `repo`: path inside the repo (default `.`)75- `issue`: Issue number or URL (required)76- `focus`: codebase search narrowing (optional; e.g., `src/lib/components`)77- `max-comment-length`: max characters per comment body (0 = unlimited)78- `gh` authentication for the repo host7980## Quick start8182```bash83# Inspect issue (text output)84python3 "${CLAUDE_PLUGIN_ROOT}/github/skills/gh-fix-issue/scripts/inspect_issue.py" --repo "." --issue "<number>"8586# Inspect issue by URL87python3 "${CLAUDE_PLUGIN_ROOT}/github/skills/gh-fix-issue/scripts/inspect_issue.py" --repo "." --issue "https://github.com/org/repo/issues/123"8889# With focus area90python3 "${CLAUDE_PLUGIN_ROOT}/github/skills/gh-fix-issue/scripts/inspect_issue.py" --repo "." --issue "<number>" --focus "src/lib"9192# JSON output93python3 "${CLAUDE_PLUGIN_ROOT}/github/skills/gh-fix-issue/scripts/inspect_issue.py" --repo "." --issue "<number>" --json9495# Limit comment length96python3 "${CLAUDE_PLUGIN_ROOT}/github/skills/gh-fix-issue/scripts/inspect_issue.py" --repo "." --issue "<number>" --max-comment-length 50097```9899## Workflow1001011. **Verify gh authentication.**102 - Run `gh auth status` in the repo with escalated scopes (repo).103 - If unauthenticated, ask the user to log in before proceeding.1041052. **Resolve the Issue.**106 - Accept issue number or full URL.107 - Validate that the issue exists and is accessible.1081093. **Run inspect_issue.py to fetch and parse data.**110 - Fetch issue metadata, comments, and linked PRs.111 - Parse body and comments for error messages, stack traces, file references, code blocks, sections, and cross-references.112 - Classify the issue type.113 - Check file existence for extracted file references.1141154. **Classify the Issue.**116 - Use labels (highest priority) and body/title heuristics.117 - Classification: BUG, FEATURE, ENHANCEMENT, DOCUMENTATION, QUESTION, UNCLASSIFIED.118 - BUG issues proceed to fix planning; FEATURE/ENHANCEMENT proceed to implementation planning.1191205. **Search the codebase for relevant context.**121 - Use extracted file references as starting points.122 - Search for error messages and symbols mentioned in the issue.123 - If `--focus` is provided, restrict search to that area.124 - Use Grep/Glob to find related files and definitions.1251266. **Produce Issue Analysis Report (mandatory format).**127128 Output MUST use this exact structure:129130 ```text131 ## Issue Analysis Report: #<number>132133 **Issue Type:** BUG | FEATURE | ENHANCEMENT | DOCUMENTATION | QUESTION | UNCLASSIFIED134 **Title:** <issue title>135 **State:** OPEN | CLOSED136 **Labels:** <label1>, <label2>, ...137 **Assignees:** <assignee1>, <assignee2>, ...138 Actionable items: <N>139140 ---141142 ### EXTRACTED CONTEXT143144 #### Error Messages145 - `<error message 1>`146 - `<error message 2>`147148 #### Stack Traces149 ```150 <stack trace>151 ```152153 #### File References154 - `path/to/file.ext:42` [EXISTS]155 - `path/to/other.ext:10` [NOT FOUND]156157 #### Repro Steps158 <extracted Steps to Reproduce section>159160 #### Expected vs Actual161 - **Expected:** <extracted expected behavior>162 - **Actual:** <extracted actual behavior>163164 ---165166 ### CODEBASE MATCHES167168 #### M1. <file or symbol>169 - **Path:** `path/to/file.ext:line`170 - **Relevance:** Why this file matters171172 #### M2. <file or symbol>173 ...174175 ---176177 ### ACTIONABLE178179 #### A1. [CATEGORY] <1-line title>180 - **What:** Factual statement (no speculation)181 - **Where:** file_path:line_number182 - **Evidence:** Verbatim quote from issue or codebase183 - **Action:** Specific fix (file path, command, or code change)184 - **Confidence:** High | Medium | Low185186 #### A2. [CATEGORY] <1-line title>187 ...188189 ---190191 ### INFORMATIONAL192193 #### I1. [CATEGORY] <1-line title>194 - **What / Note**195196 ---197198 ### LINKED CONTEXT199200 #### Linked PRs201 - PR #<number>: <title> [<state>]202203 #### Cross-references204 - #<number>205 - org/repo#<number>206207 #### Comments Summary208 - <N> comments from <M> authors209 - Key points: ...210211 ---212213 **Summary:** <N> actionable items, <M> informational items, <K> codebase matches.214 ```215216 **Category labels:** `CODE-FIX`, `CONFIG-FIX`, `TEST-FIX`, `DEPENDENCY`, `DOCUMENTATION`, `DESIGN-DECISION`, `INVESTIGATION`217218 **Confidence judgment:**219220 - **High** — Clear error with obvious fix location, stack trace points to exact line221 - **Medium** — Error pattern matches but fix location needs investigation222 - **Low** — Requires design decision or the root cause is unclear2232247. **Decide execution path based on Confidence.**225 - If ALL actionable items have Confidence: High → display report, propose plan, proceed after approval.226 - If ANY actionable item has Confidence: Low → request user guidance for low-confidence items before planning.227 - For FEATURE/ENHANCEMENT types → always create a plan and request approval.2282298. **Post progress comment to the Issue.**230 - Use the Issue Progress Comment Template.231 - Include analysis summary and planned actions.232 - Command: `gh issue comment <number> -b "<body>"`2332349. **Implement fixes after approval.**235 - Apply the approved fixes, summarize diffs/tests.236 - After applying fixes, commit changes and push.237 - Create or update a PR linking to the issue (e.g., `Fixes #<number>`).238 - Post a final progress comment to the issue.239240## Bundled Resources241242### scripts/inspect_issue.py243244GitHub Issue inspection and analysis tool. Fetches issue data, parses error context, classifies the issue, and checks file existence.245246**Arguments:**247248| Argument | Default | Description |249|----------|---------|-------------|250| `--repo` | `.` | Path inside the target Git repository |251| `--issue` | (required) | Issue number or URL |252| `--focus` | (none) | Codebase search narrowing area |253| `--max-comment-length` | 0 (unlimited) | Max characters per comment body |254| `--json` | false | Emit JSON output |255256**Exit codes:**257258- `0`: Success259- `1`: Error occurred260261## Features262263### Issue Data Fetching264265Fetches comprehensive issue data:266267- Title, body, state, labels, assignees, author268- All comments (with optional length truncation)269- Linked PRs via GraphQL timeline events (CrossReferencedEvent, ConnectedEvent)270271### Error Context Extraction272273Parses issue body and comments for:274275- Error messages (`Error:`, `TypeError:`, `panicked at`, etc.)276- Stack traces (`at `, `Traceback`, `thread '...' panicked`, etc.)277- File path references (`path/to/file.ext:123` format)278- Fenced code blocks279- Well-known sections (Steps to Reproduce, Expected Behavior, Actual Behavior)280- Cross-references (`#123`, `org/repo#123`)281282### Issue Classification283284Classifies based on labels (highest priority) and body/title heuristics:285286- **BUG**: `bug`, `defect`, `regression`, `crash`, `error` labels or error indicators in body287- **FEATURE**: `feature`, `feature-request` labels or feature request language288- **ENHANCEMENT**: `enhancement`, `improvement` labels289- **DOCUMENTATION**: `documentation`, `docs` labels290- **QUESTION**: `question`, `help`, `support` labels or question language291- **UNCLASSIFIED**: No matching signals292293### File Existence Check294295Validates extracted file references against the repository:296297- Checks if files exist at the referenced paths298- Reports `[EXISTS]` or `[NOT FOUND]` status299300## Output Examples301302### Text Output303304```text305Issue #42: TypeError when clicking save button306============================================================307State: OPEN308Type: BUG309Labels: bug, ui310Assignees: developer1311Author: @reporter1312URL: https://github.com/org/repo/issues/42313314BODY315------------------------------------------------------------316When I click the save button on the settings page, I get this error:317318```319TypeError: Cannot read properties of undefined (reading 'name')320 at SaveHandler (src/components/Settings.tsx:42)321 at onClick (src/components/Button.tsx:15)322```323324### Steps to Reproduce3251. Open Settings page3262. Change any setting3273. Click Save328329### Expected Behavior330Settings should be saved successfully.331332### Actual Behavior333TypeError is thrown and settings are not saved.334335EXTRACTED SECTIONS336------------------------------------------------------------337338[Steps To Reproduce]3391. Open Settings page3402. Change any setting3413. Click Save342343[Expected]344Settings should be saved successfully.345346[Actual]347TypeError is thrown and settings are not saved.348349ERROR MESSAGES (1)350------------------------------------------------------------351 [1] TypeError: Cannot read properties of undefined (reading 'name')352353STACK TRACES (1)354------------------------------------------------------------355 [1]356 at SaveHandler (src/components/Settings.tsx:42)357 at onClick (src/components/Button.tsx:15)358359FILE REFERENCES (2)360------------------------------------------------------------361 src/components/Settings.tsx:42 [EXISTS]362 src/components/Button.tsx:15 [EXISTS]363364COMMENTS (1)365------------------------------------------------------------366@maintainer1 (2025-01-20):367 This might be related to the recent refactor in #38.368369LINKED PULL REQUESTS (1)370------------------------------------------------------------371 PR #45: Fix settings save handler [OPEN]372 https://github.com/org/repo/pull/45373============================================================374```375376### JSON Output377378```json379{380 "issue": {381 "number": 42,382 "title": "TypeError when clicking save button",383 "body": "...",384 "state": "OPEN",385 "labels": [{"name": "bug"}, {"name": "ui"}],386 "assignees": [{"login": "developer1"}],387 "author": {"login": "reporter1"},388 "url": "https://github.com/org/repo/issues/42"389 },390 "issueType": "BUG",391 "comments": [392 {393 "id": 123456,394 "author": "maintainer1",395 "body": "This might be related to the recent refactor in #38.",396 "createdAt": "2025-01-20T12:00:00Z"397 }398 ],399 "linkedPRs": [400 {401 "number": 45,402 "title": "Fix settings save handler",403 "state": "OPEN",404 "url": "https://github.com/org/repo/pull/45"405 }406 ],407 "parsed": {408 "errorMessages": [409 "TypeError: Cannot read properties of undefined (reading 'name')"410 ],411 "stackTraces": [412 "at SaveHandler (src/components/Settings.tsx:42)\n at onClick (src/components/Button.tsx:15)"413 ],414 "fileReferences": [415 "src/components/Settings.tsx:42",416 "src/components/Button.tsx:15"417 ],418 "codeBlocks": ["TypeError: Cannot read properties of undefined..."],419 "sections": {420 "steps_to_reproduce": "1. Open Settings page\n2. Change any setting\n3. Click Save",421 "expected": "Settings should be saved successfully.",422 "actual": "TypeError is thrown and settings are not saved."423 },424 "crossReferences": [425 {"repo": "", "number": 38, "ref": "#38"}426 ]427 },428 "fileChecks": [429 {"reference": "src/components/Settings.tsx:42", "path": "src/components/Settings.tsx", "exists": true},430 {"reference": "src/components/Button.tsx:15", "path": "src/components/Button.tsx", "exists": true}431 ]432}433```