Skip to main content

/qa-issue-report

Report clear issues to any GitHub/GitLab repo with code references, media, and smart session context.


What It Does

Guides you through creating a structured issue for any repository you work on. Supports both GitHub and GitLab (including self-hosted instances). The skill auto-detects your platform from git remote, gathers details through targeted questions, searches the codebase for related code references, and sanitizes private data before preview.

When invoked mid-session, the skill scans the conversation for errors, stack traces, and frustration signals to auto-draft a suggested issue with pre-filled fields.


How It Differs from jaan-issue-report

Aspectjaan-issue-reportqa-issue-report
Targetjaan-to plugin repo onlyAny GitHub or GitLab repo
PlatformGitHub onlyGitHub and GitLab (including self-hosted)
Issue typesbug, feature, skill, docsbug, feature, improvement, question
MediaNo attachmentsScreenshots, videos, logs via --attach
Code refsNo code searchLayered codebase search with user confirmation
Environmentjaan-to version infoFull tech stack detection (Node, Python, Go, etc.)
Use whenReporting jaan-to plugin issuesFiling issues to your own project or any repo

Usage

/qa-issue-report "<description>"
/qa-issue-report "<description>" --repo owner/repo --type bug
/qa-issue-report "<description>" --submit --label bug,high-priority
/qa-issue-report "<description>" --attach screenshot.png,error.log
/qa-issue-report

Arguments

FlagValuesDefaultDescription
<description>Free textIssue description in plain language
--repoowner/repoAuto-detect from git remoteTarget repository
--typebug, feature, improvement, questionAuto-detectIssue category
--submit(no value)Force submit to platform
--no-submit(no value)Force local-only mode
--labelComma-separatedType-based defaultLabels to apply
--attachComma-separated paths/URLsMedia files to attach

Submit mode resolution (when neither flag is provided):

  1. Saved preference in jaan-to/config/settings.yaml (qa_issue_report_submit)
  2. If no preference saved: detects gh/glab CLI availability, asks once, saves your choice

What It Asks

QuestionWhen
"Is this what you'd like to report?"Session draft detected (mid-session use)
"What did you expect to happen?"Bug reports
"What actually happened?"Bug reports
"Steps to reproduce?"Bug reports
"What problem would this solve?"Feature requests
"Do you have screenshots or files to attach?"No --attach flag
"Which code references should I include?"After code search
"Is there anything else?"Always

When a session draft is accepted, only deepening questions are asked.


Key Features

Dual Platform Support

Auto-detects GitHub or GitLab from your git remote URL. Handles HTTPS, SSH, and self-hosted GitLab instances. Verifies CLI authentication (gh auth status or glab auth status) before submission.

Smart Session Context

When invoked mid-session, the skill reconstructs a conversation timeline: commands run, files edited, errors encountered, frustration signals. It drafts a suggested issue with pre-filled title, description, and type classification. You review and approve or discard the draft.

Searches the codebase in layers: direct file/function mentions, error message text, semantic keywords, related tests, and files from the session. Presents findings as a numbered list. You choose which references to include in the issue.

Media Attachments

Attach screenshots (png, jpg, gif, webp), videos (mp4, mov), or logs (txt, log) via --attach or when prompted. GitLab files upload automatically via API. GitHub files require manual drag-and-drop after issue creation (the skill provides instructions).

Privacy Sanitization

Before preview, the skill sanitizes: private paths (/Users/name/... to {USER_HOME}/...), tokens and secrets ([REDACTED]), connection strings, and personal info (email, IP). The HARD STOP preview shows the count of sanitized items.


Output

Submit mode:

  • Creates an issue on the target platform (GitHub or GitLab)
  • Displays the issue URL

Local mode:

$JAAN_OUTPUTS_DIR/qa-issues/{id}-{slug}/{id}-{slug}.md

Both modes show a copy-paste ready version with a manual submission URL as fallback.


Example

Report a bug from the current session:

/qa-issue-report

The skill scans the conversation and suggests: "It looks like authentication fails after token refresh. Report this?" You approve, and it pre-fills steps to reproduce from the session timeline.

Report to a specific repo with attachments:

/qa-issue-report "Login button unresponsive on mobile" --repo myorg/frontend --type bug --attach screenshot.png

Feature request with labels:

/qa-issue-report "Add dark mode support" --type feature --label enhancement,ui

Environment Detection

The skill auto-collects environment info without asking:

Detected FromInfo Collected
package.jsonNode.js version
requirements.txt / pyproject.tomlPython version
go.modGo version
Cargo.tomlRust version
composer.jsonPHP version
GemfileRuby version
SystemOS type, architecture, current branch

Only detected items appear in the issue.


Tips

  • Invoke mid-session right after hitting a problem for the best auto-draft
  • Use --repo when working across multiple repositories to target the right one
  • The skill creates missing labels automatically on both GitHub and GitLab
  • Issue titles and bodies are always written in English regardless of conversation language
  • The HARD STOP preview lets you review and edit before anything is saved or submitted
  • Pair with session context: describe the problem in conversation first, then invoke the skill

Back to QA Skills | Back to All Skills