askill
issue-parser

issue-parserSafety 100Repository

Extracts actionable information from GitHub issues for code exploration.

0 stars
1.2k downloads
Updated 1/27/2026

Package Files

Loading files...
SKILL.md

Purpose

Parse issue title and body to identify:

  • Error messages and stack traces
  • File paths and line numbers
  • Function/class names
  • Technical terms (APIs, queries)
  • Reproduction steps

Usage

Include this file when analyzing issues:

Use lib/issue-parser to extract keywords from the issue

Extraction Patterns

1. Error Messages

Lines starting with error indicators:

  • Error:
  • Exception:
  • Failed:
  • Uncaught
  • TypeError:
  • ReferenceError:

Example:

Error: Authentication token expired
TypeError: Cannot read property 'user' of undefined

Extract: ["Authentication token expired", "Cannot read property 'user' of undefined"]

2. Code Blocks

Text within triple backticks:

```javascript
function login() {
  throw new Error("Timeout");
}
```

Extract: ["function login", "throw new Error", "Timeout"]

3. File Paths

Patterns indicating files:

  • Contains / and ends with extension: src/auth/login.ts
  • Stack trace format: at Object.<anonymous> (/path/file.js:123:45)
  • Relative paths: ./components/Button.tsx

Regex: ([./\w-]+\/[\w.-]+\.(ts|js|py|go|rs|java|rb|php))

Example:

The error occurs in src/auth/middleware.ts line 45

Extract: ["src/auth/middleware.ts"]

4. Function/Class Names

CamelCase or PascalCase identifiers:

  • AuthenticationError
  • handleLogin
  • UserService

Regex: \b[A-Z][a-zA-Z0-9]*\b|\b[a-z]+[A-Z][a-zA-Z0-9]*\b

Example:

The UserAuthenticator class throws an InvalidTokenError

Extract: ["UserAuthenticator", "InvalidTokenError"]

5. Stack Traces

Multi-line stack traces with file:line:column format:

at login (/src/auth.ts:123:10)
at middleware (/src/server.ts:45:20)
at process (/node_modules/express/lib/router.js:284:15)

Extract:

  • Files: ["src/auth.ts", "src/server.ts"]
  • Functions: ["login", "middleware"]
  • Lines: ["123", "45"]

6. HTTP/API References

URLs and API endpoints:

  • https://api.example.com/v1/auth
  • POST /api/users
  • GET /health

Regex: (https?://[^\s]+)|((GET|POST|PUT|DELETE|PATCH)\s+/[\w/]+)

Implementation

interface ParsedIssue {
  errors: string[];
  files: string[];
  functions: string[];
  stackTraces: StackTrace[];
  keywords: string[];
}

interface StackTrace {
  file: string;
  line: number;
  function: string;
}

function parseIssue(title: string, body: string): ParsedIssue {
  // Combine title and body
  const text = `${title}\n${body}`;

  // Extract patterns
  return {
    errors: extractErrors(text),
    files: extractFiles(text),
    functions: extractFunctions(text),
    stackTraces: extractStackTraces(text),
    keywords: extractKeywords(text)
  };
}

Output Format

When using this parser, format extracted information as:

**Extracted Information:**

**Error Messages:**
- Authentication token expired
- Cannot read property 'user' of undefined

**Files Referenced:**
- src/auth/middleware.ts (line 45)
- src/server.ts

**Functions/Classes:**
- AuthenticationError
- handleLogin
- UserService

**Keywords:**
- authentication, token, timeout, session

Usage in handle-issue Command

1. Fetch issue: \`gh issue view <number> --json title,body\`
2. Parse with this library: extract errors, files, functions
3. Pass to code-explorer: use extracted keywords for search
4. Generate plan: reference found locations

Edge Cases

Empty issue body:

  • Use only title
  • Extract what's available
  • Proceed with limited information

No technical details:

  • Extract general terms
  • Use broad search patterns
  • May escalate to deep analysis

Foreign language:

  • Focus on code blocks and technical terms (usually English)
  • File paths and function names are language-agnostic

Very long issues:

  • Prioritize first 1000 characters and code blocks
  • Full analysis still possible, just focused extraction

YAGNI Notes

Not included (intentionally):

  • NLP/sentiment analysis
  • Issue classification (bug vs feature)
  • Priority detection
  • Related issue linking

Keep it simple: extract technical keywords for code search.

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

95/100Analyzed 2/13/2026

A highly detailed and structured skill for parsing GitHub issues to extract technical metadata like error messages, file paths, and stack traces. It includes specific regex patterns, implementation details, and edge case handling, making it an excellent reference for issue analysis agents.

100
95
90
95
90

Metadata

Licenseunknown
Version-
Updated1/27/2026
PublisherJuniYadi

Tags

apisecurity