skills/resolve-issue/SKILL.md
Use when resolving an issue from any supported tracker (GitHub, JIRA, Bugsnag). Detects the source automatically from the provided link or ID, implements a safe fix or feature, validates with tests, and creates a pull request.
npx skillsauth add pekral/cursor-rules resolve-issueInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
@rules/php/core-standards.mdc@rules/php/dependency-selection.mdc — whenever the resolution flow needs to add a new Composer dependency (Packagist or a GitHub-hosted VCS repository), run the Activity gate + Compatibility gate from that rule before recommending a package, and embed the selection note in the PR description. When no candidate passes the gates, stop and surface the disqualification table to the user instead of adopting an inactive library.@rules/git/general.mdc@rules/reports/general.mdc. The final technical report this skill posts on the GitHub PR (code-review and security-review summary block) stays in canonical English per the rule's Exception — technical CR findings on the GitHub PR. The non-technical report posted on the original issue / JIRA ticket / Bugsnag-linked GitHub issue follows the language of the source assignment. Code identifiers, file paths, severity labels, and CLI commands stay verbatim regardless of the surrounding prose language; never mix two natural languages inside a single comment.@rules/laravel/laravel.mdc, @rules/laravel/architecture.mdc, @rules/laravel/filament.mdc, and @rules/laravel/livewire.mdcSee references/source-detection.md for the detection table and rules.
Before starting the resolution flow:
main branch and pull the latest changes so the working tree reflects the current state of the repository before creating the feature branch.@rules/sql/optimalize.mdc "Batch over per-row operations" — ModelManager batchUpdate / batchInsert, whereIn(...)->delete(), or a single bulk read keyed in memory. Per-row queries are allowed only when iterations have an unavoidable side-effect dependency that is justified in a code comment.gh, acli, or REST endpoints directly. Read all required fields off the resulting JSON document.
skills/code-review-github/scripts/load-issue.sh <NUMBER|URL>. If the script is unavailable (missing tool, exit code 2/3), fall back to the GitHub MCP server.skills/code-review-jira/scripts/load-issue.sh <KEY|URL>. If the script is unavailable (missing tool, exit code 2/3), fall back to the JIRA MCP server.comments[] directly off the JSON loaded in step 2 — do not issue a second listing call:
Run @skills/prepare-issue-context/SKILL.md with MODE=resolve-issue and the same issue reference. It extracts every scenario from the assignment's Jak otestovat / acceptance criteria, maps each scenario to a concrete code path, seeds the development database with the records the scenarios depend on, and runs a one-shot reproduction. Stop immediately and surface the gap list to the user when the skill returns blocked: <count> open gap(s) — do not continue into problem analysis with incomplete context, because an implementing agent forced to guess at missing data is the most common source of hallucinated fixes. The scenario table the skill produces is the canonical input for the next step.
@skills/analyze-problem/SKILL.md using the issue description, the scenario table from the context-preparation pre-flight, the current requirements from comment analysis, and any available context as input.Before writing any code, decide how the in-scope work will be split into commits within the PR.
Phase 1, numbered milestones, ordered acceptance-criteria blocks, or a step-by-step plan written by the reporter.type(scope): description form per @rules/git/general.mdc) before starting implementation. This list is the commit plan for step 11.php artisan migrate for Laravel projects, or the project-specific equivalent) before executing the affected tests or creating the pull request.Follow the workflow defined in references/quality-gates.md.
After implementation and pre-push quality gates pass, and before creating the pull request, run the review loop on the local changes:
@skills/code-review/SKILL.mdPR-comment processing via @skills/process-code-review/SKILL.md remains the path used after a PR exists; it is not part of this pre-PR loop because it requires an open PR to operate on.
After the code review loop passes clean, and still before creating the pull request, validate the change:
@skills/security-review/SKILL.mdResolve any Critical or Moderate finding from the security review before continuing. If a finding requires code changes, re-run the Code quality and review loop to re-validate.
@skills/test-like-human/SKILL.md is not part of this gate. It runs on demand only (via /test-like-human or an explicit follow-up after the PR is open); resolve-issue must never auto-chain into it.
Once review and testing are clean:
@rules/git/general.mdc## TODO section as a checklist of potential follow-up tasksReporting is split by audience and destination:
Post the technical report as a comment on the GitHub PR, since that is where the codebase and testing state live. It must contain:
@skills/code-review/SKILL.md (findings addressed during the loop and the final clean state)@skills/security-review/SKILL.mdPost the non-technical report on the issue tracker where the task with the assignment was created (the original tracker, regardless of where the PR lives):
@rules/jira/general.mdc (no Markdown headings, fenced code blocks, or tables)The non-technical report must be understandable by non-technical testers and product managers and contain:
ready for review (or equivalent) label, apply it to the source issue once the PR is open to signal it is ready for reviewers. Skip this step when the project does not use such labels.@rules/jira/general.mdc, status transitions are handled by humans only.development
Use when autonomously resolving the oldest open GitHub issue end-to-end. Picks the oldest open issue (optionally filtered by label, default `Resolve_by_AI`), delegates resolution to `resolve-issue`, then runs `code-review-github`, `process-code-review`, and `merge-github-pr` on the resulting pull request. Stops and reports any blocker (merge conflict, failing CI, unresolved Critical/Moderate findings) instead of force-merging.
testing
Use when analyzing a specific security threat from a referenced source (CVE, GHSA, security advisory, blog post, or write-up). Produces a human-readable remediation report with step-by-step instructions an AI agent can follow to eliminate the threat in the current project.
development
Use when preparing data and context before /resolve-issue, TDD, or CR runs. Loads the assignment, extracts every concrete user scenario from the task description and acceptance criteria, maps each scenario to the codebase, seeds the development database with the records needed to reproduce the bug or feature end-to-end, and reports any gap that would force the implementing agent to hallucinate.
development
Use when preparing a concise QA report for an internal tester from a JIRA task and its linked pull requests — focused on what the tester should report back to the dev team — and posting it as a JIRA comment.