Best for
- Use when a test fails, when debugging issues, or when the user asks to create an issue report, generate a bug report, or document a test failure.
ArabelaTso/Skills-4-SE/skills/issue-report-generator/SKILL.md
Automatically generate clear, actionable issue reports from failing tests and repository analysis. Analyze test failures to understand expected vs. actual behavior, identify affected code components, and produce well-structured Markdown reports suitable for GitHub Issues or similar trackers. Use when a test fails, when debugging issues, or when the user asks to create an issue report, generate a bug report, or document a test failure.
Decision brief
Automatically generate clear, actionable issue reports from failing tests and repository analysis. Analyze test failures to understand expected vs.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/ArabelaTso/Skills-4-SE --skill "skills/issue-report-generator"Inspect the Agent Skill "issue-report-generator" from https://github.com/ArabelaTso/Skills-4-SE/blob/4f38503747e0617504bce5329283ef837d375c09/skills/issue-report-generator/SKILL.md at commit 4f38503747e0617504bce5329283ef837d375c09. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Understand what the test is checking and why it fails:
Understand what the test is checking and why it fails:
Locate the code related to the failure:
Determine why the failure occurs (when possible):
Create the issue report with required sections:
Permission review
The documentation includes network, browsing, or remote request actions.
Or make request: `GET http://localhost:8000/api/users`Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 94/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 236 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Generate comprehensive, developer-friendly issue reports from failing tests. Analyze test failures, identify affected code, infer root causes when possible, and produce structured Markdown reports ready for issue tracking systems.
Understand what the test is checking and why it fails:
Identify the test:
Understand test intent:
Analyze the failure:
Extract key information:
Locate the code related to the failure:
From stack trace:
From test code:
Code analysis:
Record locations:
Determine why the failure occurs (when possible):
For exceptions:
For assertion failures:
For timeouts:
For integration failures:
State uncertainty:
Create the issue report with required sections:
Title:
[Exception/Issue] in [Component].[Method][Feature] returns incorrect [result]Description:
Steps to Reproduce:
Expected Behavior:
Actual Behavior:
Affected Code:
Analysis (optional):
Additional Context:
Produce the final Markdown report:
Use proper Markdown:
Be precise:
Be clear:
Be actionable:
For detailed templates and patterns, see report_patterns.md.
| Failure Type | Template | Key Focus |
|---|---|---|
| Exception | Exception-Based Bug | Exception type, location, null/invalid variable |
| Assertion failure | Assertion Failure Bug | Expected vs. actual, wrong value source |
| Timeout | Performance/Timeout Bug | Slow operation, bottleneck |
| Integration error | Integration Failure Bug | External system, error message, config |
| Regression | Regression Bug | Breaking commit, what changed |
Input:
UserServiceTest.testAuthenticateNonExistentUserNullPointerException at UserService.java:45Generated Report:
# NullPointerException in UserService.authenticate() when user not found
## Description
A `NullPointerException` is thrown in `UserService.authenticate()` when attempting to authenticate a user that doesn't exist in the database. This causes the authentication endpoint to return a 500 error instead of properly handling the missing user case.
## Steps to Reproduce
1. Run test: `mvn test -Dtest=UserServiceTest#testAuthenticateNonExistentUser`
2. Or call: `userService.authenticate("[email protected]", "password")`
## Expected Behavior
The method should return an authentication failure result (e.g., `AuthResult.FAILED`) or throw a specific `UserNotFoundException`, not a `NullPointerException`.
## Actual Behavior
java.lang.NullPointerException at com.example.UserService.authenticate(UserService.java:45) at com.example.AuthController.login(AuthController.java:23) at com.example.UserServiceTest.testAuthenticateNonExistentUser(UserServiceTest.java:67)
## Affected Code
- **File:** `src/main/java/com/example/UserService.java`
- **Method:** `UserService.authenticate`
- **Line:** 45
**Code at line 45:**
```java
String hashedPassword = user.getPassword(); // user is null here
The exception occurs because the user object is null when the user lookup fails (line 42). The code attempts to call user.getPassword() without checking if the user exists.
Suspected cause: Missing null check after user lookup.
src/test/java/com/example/UserServiceTest.javatestAuthenticateNonExistentUser
### Example 2: Assertion Failure
**Input:**
- Test: `CalculatorTest.testDivision`
- Error: `AssertionError: expected 2.5 but got 2.0`
**Generated Report:**
```markdown
# Calculator.divide() returns integer instead of decimal result
## Description
The `Calculator.divide()` method returns `2.0` instead of the expected `2.5` when dividing 5 by 2. This indicates the method is performing integer division instead of floating-point division.
## Steps to Reproduce
1. Run test: `pytest tests/test_calculator.py::CalculatorTest::test_division`
2. Or execute:
```python
calc = Calculator()
result = calc.divide(5, 2)
# Returns 2.0, expected 2.5
assert calc.divide(5, 2) == 2.5
AssertionError: assert 2.0 == 2.5
Expected: 2.5
Actual: 2.0
src/calculator.pyCalculator.divideCurrent implementation:
def divide(self, a, b):
return a / b # Using integer division
The method performs integer division when both operands are integers. In Python 2 or when using // operator, this truncates the decimal part.
Suspected cause: Missing float conversion or using wrong division operator.
Suggested fix:
def divide(self, a, b):
return float(a) / float(b)
tests/test_calculator.pytest_division
### Example 3: Timeout
**Input:**
- Test: `DataProcessorTest.testLargeDataset`
- Error: `Test timeout after 30s`
**Generated Report:**
```markdown
# Performance issue: processLargeDataset() exceeds timeout
## Description
The `DataProcessor.processLargeDataset()` method takes longer than 30 seconds when processing 10,000 items, causing the test to timeout.
## Steps to Reproduce
1. Run test: `npm test -- DataProcessorTest.testLargeDataset`
2. Test processes 10,000 items
## Expected Behavior
Processing should complete within 30 seconds.
## Actual Behavior
Test times out after 30 seconds. Processing is incomplete.
## Affected Code
- **File:** `src/data_processor.js`
- **Method:** `DataProcessor.processLargeDataset`
- **Lines:** 45-60
**Suspected bottleneck (lines 50-55):**
```javascript
for (let i = 0; i < items.length; i++) {
for (let j = 0; j < items.length; j++) { // O(n²) nested loop
if (items[i].id === items[j].relatedId) {
// Process relationship
}
}
}
The performance issue appears to be caused by a nested loop with O(n²) complexity. With 10,000 items, this results in 100 million iterations.
Suspected cause: Inefficient algorithm using nested loops.
Suggested optimization: Use a hash map for O(n) lookup:
const itemMap = new Map(items.map(item => [item.id, item]));
for (let item of items) {
const related = itemMap.get(item.relatedId);
if (related) {
// Process relationship
}
}
tests/data_processor.test.jstestLargeDataset
### Example 4: Integration Failure
**Input:**
- Test: `ApiTest.testGetUserEndpoint`
- Error: `Expected status 200, got 500`
- Response: `{"error": "Database connection failed"}`
**Generated Report:**
```markdown
# Database connection failure in GET /api/users endpoint
## Description
The `/api/users` endpoint returns a 500 error with message "Database connection failed" instead of returning user data.
## Steps to Reproduce
1. Run test: `pytest tests/test_api.py::ApiTest::test_get_user_endpoint`
2. Or make request: `GET http://localhost:8000/api/users`
## Expected Behavior
Status: 200 OK Body: [{"id": 1, "name": "John"}, ...]
## Actual Behavior
Status: 500 Internal Server Error Body: {"error": "Database connection failed"}
Stack trace: at DatabaseConnection.connect (db.js:23) at UserRepository.findAll (user_repository.js:15) at UserController.getUsers (user_controller.js:42)
## Affected Code
- **File:** `src/db.js`
- **Method:** `DatabaseConnection.connect`
- **Line:** 23
## Analysis
The database connection fails, likely due to:
1. Database server not running
2. Incorrect connection configuration
3. Missing environment variables
**Suspected cause:** Missing or incorrect `DATABASE_URL` environment variable.
## Environment
- Database: PostgreSQL
- Required env var: `DATABASE_URL`
- Expected format: `postgresql://user:pass@host:port/dbname`
## Test Details
- Test file: `tests/test_api.py`
- Test method: `test_get_user_endpoint`
Evidence-based reporting:
Precise language:
Clear uncertainty:
Complete information:
Don't invent:
Don't be vague:
Don't be judgmental:
Before finalizing a report:
Frequently asked questions
Automatically generate clear, actionable issue reports from failing tests and repository analysis. Analyze test failures to understand expected vs.
The source record exposes this install command: npx skills add https://github.com/ArabelaTso/Skills-4-SE --skill "skills/issue-report-generator". Inspect the command and pinned source before running it.
Static rules flagged network in the source; the page lists the matching lines and excerpts.
Alternatives
alirezarezvani/claude-skills
App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist
trailofbits/skills
Constant-time testing detects timing side channels in cryptographic code. Use when auditing crypto implementations for timing vulnerabilities.
dotnet/skills
Analyzes test suites in any language and tags each test with standardized traits (positive, negative, critical-path, boundary, smoke, regression, integration, performance, security). Use when the user wants to categorize, audit, or label tests with traits. Works across .NET (MSTest/xUnit/NUnit/TUnit), Python (pytest), TS/JS (Jest/Vitest), Java, Go, Ruby, Rust, Swift, Kotlin, PowerShell, and C++ — auto-editing when the framework has canonical tag syntax, otherwise report-only. Do not use for writ
yonatangross/orchestkit
Grade work that already exists and decide whether it can merge. Runs the project's current unit, integration, and E2E suites plus security scanning and type checking, scores every dimension 0-10, and returns a merge verdict with a VERIFIED-vs-CLAIMED evidence manifest. Writes no test files and edits no source. Use when verifying changes are ready to merge. Use /ork:cover instead when the tests still have to be written.