Skip to content

feat: add raise-pr and bug-fix skills for Jira and github issues for rhdh-plugins and community-plugins - #54

Merged
christoph-jerolimov merged 10 commits into
redhat-developer:mainfrom
its-mitesh-kumar:feat/raise-pr-skill
Jul 28, 2026
Merged

feat: add raise-pr and bug-fix skills for Jira and github issues for rhdh-plugins and community-plugins#54
christoph-jerolimov merged 10 commits into
redhat-developer:mainfrom
its-mitesh-kumar:feat/raise-pr-skill

Conversation

@its-mitesh-kumar

@its-mitesh-kumar its-mitesh-kumar commented Jul 3, 2026

Copy link
Copy Markdown
Member

Summary

  • Adds raise-pr skill that automates the full PR workflow (detect workspace, build, generate changeset, commit, push, create PR) for both rhdh-plugins and community-plugins monorepos
  • Auto-detects which repo you're in via git remote -v and adapts PR template, npm scope, and upstream target accordingly
  • Supports --a auto-approve mode to skip all approval gates for unattended workflows
  • Dual-source input — accepts both Jira issues (key or URL) and GitHub issues (URL or #N) as bug references
  • Dual-repo support — works with both redhat-developer/rhdh-plugins and backstage/community-plugins, with repo-specific PR templates, commit conventions, and issue-linking rules
  • Built-in Jira integration — branch naming, commit trailers, PR ## Fixed section, post-PR comment, issue transition to Review, and web link via REST API
  • Built-in GitHub issue integration — Fixes in PR body for auto-close, post-PR comment, label management
  • Adds bug-fix skill for end-to-end bug fixing with two modes: full-e2e (UI bugs with Playwright before/after recordings) and no-e2e (backend bugs with unit/integration test verification)
  • Agent-readiness triage gate — validates issue completeness before attempting a fix; adds not-ready-for-agent label and a missing-info comment if details are insufficient
  • Readiness check — verifies required tools (gh, acli/MCP, yarn, node, ffmpeg) with visual PASS/WARN indicators before starting work
  • Automated GIF embedding — uploads before/after GIFs to the feature branch via GitHub Contents API with DCO-compliant Signed-off-by trailers
  • Screenshot + DOM diagnosis — captures screenshots, DOM snapshots, and computed styles during reproduction for deeper root-cause analysis
  • Auto-generated Test Plan — PR descriptions include a reviewer-facing verification checklist derived from issue steps-to-reproduce
  • Reviewer disclaimer — bug-fix PRs include a note asking reviewers to verify thoroughly before merging
  • Community-plugins isolation — Jira information never leaks into community-plugins PRs (no Jira keys in body, trailers, or commit messages)
  • --no-verify mode for bug-fix to skip the user verification gate and auto-chain into raise-pr --a
  • Bumps version to v0.7.0

Architecture

bug-fix and raise-pr

Context

Extracts and generalizes the existing Cursor command (rhdh-plugins/.cursor/commands/pr.md) and its #3679 enhancement into a portable agent skill that works across both plugin monorepos.

The raise-pr skill has first-class issue support — any PR linked to a Jira issue gets automatic branch naming (fix/<workspace>-<JIRA-KEY>-<slug>), a Fixes: commit trailer, a ## Fixed section in the PR body, post-PR Jira comment via MCP, issue transition to Review via ACLI, and web link via REST API. GitHub issues get Fixes <url> in the PR body for auto-close, a post-PR comment, and label updates.

The bug-fix skill chains into raise-pr after reproducing and fixing a bug. For UI bugs (full-e2e mode): writes a Playwright reproduction test with video recording, captures diagnostic context (screenshot + DOM + computed styles), applies the fix, captures before/after recordings, converts to GIFs, generates a test plan, and creates the PR with embedded visual evidence. For backend bugs (no-e2e mode): checks existing tests or writes a temporary repro unit test, diagnoses and fixes, verifies tests pass, deletes the temp test, and chains into raise-pr.

Before any fix attempt, the skill validates the issue has sufficient detail (steps to reproduce, expected behavior, component/workspace). Issues missing required fields are automatically labeled not-ready-for-agent with a comment listing what's needed.

How to Use

Prerequisites

Install

Install from local checkout (while PR is unmerged):

cd /path/to/rhdh-plugins
npx skills add /path/to/rhdh-skill --skill bug-fix
npx skills add /path/to/rhdh-skill --skill raise-pr

After merge:

npx skills add redhat-developer/rhdh-skill --skill bug-fix
npx skills add redhat-developer/rhdh-skill --skill raise-pr

Invoke

# From a Jira issue
bug-fix RHDHBUGS-1234
bug-fix https://redhat.atlassian.net/browse/RHDHBUGS-1234

# From a GitHub issue
bug-fix https://github.com/redhat-developer/rhdh-plugins/issues/607
bug-fix https://github.com/backstage/community-plugins/issues/3574

# Skip verification gate
bug-fix RHDHBUGS-1234 --no-verify

What it does

  1. Detects input source — determines if the input is a Jira issue or GitHub issue
  2. Readiness check — verifies required tools are available (gh, acli/MCP, yarn, node, ffmpeg) with visual PASS/WARN indicators
  3. Fetches the issue (summary, description, steps to reproduce, component) from Jira REST/MCP or GitHub CLI
  4. Triage gate — validates the issue has sufficient detail for automated fixing; labels not-ready-for-agent if missing info
  5. Identifies workspace and repo — maps the issue component/labels to a workspace (e.g., "Lightspeed" → workspaces/lightspeed) and determines if the target is rhdh-plugins or community-plugins
  6. Discovers e2e infrastructure and decides mode (full-e2e for UI bugs, no-e2e for backend bugs)
  7. Reproduces the bug — Playwright test with video recording (full-e2e) or unit test verification (no-e2e)
  8. Captures diagnostic context — screenshot, DOM snapshot, computed styles (full-e2e mode)
  9. Diagnoses and applies the fix
  10. Verifies the fix — re-runs tests, captures "after" recording (full-e2e)
  11. Generates a Test Plan — markdown checklist from steps-to-reproduce
  12. Chains into raise-pr — builds, generates changeset, commits with DCO, pushes, uploads GIFs, creates PR with conditional sections, performs post-PR issue updates (Jira: comment + transition + web link; GitHub: comment + auto-close)

Using raise-pr standalone

# With a Jira issue
raise-pr RHDHBUGS-1234
raise-pr https://redhat.atlassian.net/browse/RHIDP-15252

# With a GitHub issue
raise-pr https://github.com/redhat-developer/rhdh-plugins/issues/607

PR Body Sections (conditional)

Section Included when...
## Description Always
## Fixed issue_source is set (Jira for rhdh-plugins only; GitHub for both repos)
## UI before changes / ## UI after changes recordings provided (full-e2e mode, GIFs uploaded to branch)
## Test Plan test_plan provided by caller
## Checklist Always (repo-specific template)
## Note issue_source is present (bug-fix invoked raise-pr)

Key Design Decisions

  • Dual-source, dual-repo — The skills detect issue source (Jira/GitHub) and target repo (rhdh-plugins/community-plugins) independently, adapting behavior for each combination.
  • Community-plugins isolation — Jira information never appears in community-plugins PRs. Internal Jira tracking stays internal; only GitHub issue links are used in public PRs.
  • Agent-readiness triage — Issues are validated for completeness before any fix attempt, preventing wasted effort on underspecified bugs.
  • GIF upload happens BEFORE gh pr create — GIFs are uploaded to the fork branch via GitHub Contents API with DCO-compliant Signed-off-by trailers, and the resulting raw.githubusercontent.com URLs are embedded directly in the PR body.
  • Screenshot + DOM capture in diagnosis — The agent captures runtime state (screenshot, outerHTML, computed styles) before any fix is applied, providing concrete evidence for root-cause identification.
  • Two verification modes — Full-e2e (Playwright) for UI bugs, no-e2e (unit/integration tests) for backend bugs. Temporary repro tests are deleted before PR in both modes.
  • Post-PR issue sync — Jira issues get comment + transition to Review + web link; GitHub issues get comment + auto-close via Fixes keyword.

Files

raise-pr skill

  • New: skills/raise-pr/SKILL.md — 11-step workflow with repo auto-detection, --a auto-approve mode, dual-source issue resolution, GIF upload via Contents API, and post-PR issue updates (Jira comment/transition/web-link, GitHub comment/auto-close)
  • New: skills/raise-pr/references/repo-profiles.md — per-repo config with conditional PR body templates, community-plugins Jira isolation rules, and DCO requirements
  • New: skills/raise-pr/references/jira-input.md — shared Jira key/URL parsing logic and REST API patterns (fetch, web link, comment, transition)

bug-fix skill

  • New: skills/bug-fix/SKILL.md — multi-step workflow with dual-source input, readiness check, triage gate, workspace/repo detection, full-e2e and no-e2e modes, --no-verify flag
  • New: skills/bug-fix/references/workspace-map.md — Jira component and GitHub label to workspace mapping for both rhdh-plugins and community-plugins, with cross-cutting component disambiguation
  • New: skills/bug-fix/references/github-input.md — GitHub issue URL parsing and gh CLI patterns for fetching, commenting, and labeling
  • New: skills/bug-fix/references/e2e-patterns.md — shared Playwright patterns across all workspaces
  • New: skills/bug-fix/references/video-recording.md — Playwright video config, ffmpeg conversion, and automated GitHub Contents API embedding

Shared

  • Modified: docs/agents/triage-labels.md — updated with not-ready-for-agent label for agent-readiness triage gate

Metadata

  • Modified: README.md — added Bug Fix section, updated raise-pr description
  • Modified: pyproject.toml, .claude-plugin/plugin.json, .claude-plugin/marketplace.json — version bump to 0.7.0

Test plan

  • uv run pytest passes (321 passed, 1 pre-existing failure unrelated to this PR)
  • Skill structure tests pass (test_skill_structure.py)
  • Marketplace/version tests pass (test_marketplace.py)
  • Install via npx skills add redhat-developer/rhdh-skill --skill raise-pr and verify issue input parsing (Jira + GitHub)
  • Install via npx skills add redhat-developer/rhdh-skill --skill bug-fix and verify trigger phrases
  • Test raise-pr with a Jira key: verify branch name, commit trailer, PR body, and post-PR Jira comment/transition/web-link
  • Test raise-pr with a GitHub issue: verify PR body Fixes link, post-PR comment, auto-close behavior
  • Test bug-fix with an RHDHBUGS issue: verify full workflow including triage gate, screenshot capture, test plan generation, GIF upload, and PR creation
  • Test bug-fix targeting community-plugins: verify no Jira info leaks into PR body or commit messages
  • Test bug-fix --no-verify: verify it auto-chains into raise-pr --a without pausing

Signed-off-by: its-mitesh-kumar <itsmiteshkumar98@gmail.com>
Signed-off-by: its-mitesh-kumar <itsmiteshkumar98@gmail.com>
@its-mitesh-kumar its-mitesh-kumar changed the title feat: add raise-pr skill for automated PR workflows (v0.7.0) feat: add raise-pr and bug-fix skills with Jira integration (v0.7.0) Jul 3, 2026
Signed-off-by: its-mitesh-kumar <itsmiteshkumar98@gmail.com>
Signed-off-by: its-mitesh-kumar <itsmiteshkumar98@gmail.com>
Signed-off-by: its-mitesh-kumar <itsmiteshkumar98@gmail.com>
Signed-off-by: its-mitesh-kumar <itsmiteshkumar98@gmail.com>
@its-mitesh-kumar

Copy link
Copy Markdown
Member Author

Raise PR Test : redhat-developer/rhdh-plugins#3708 (comment)

@durandom durandom left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review

Ambitious PR adding two full skills (`raise-pr` + `bug-fix`) that automate the PR lifecycle and end-to-end bug fixing with Playwright recordings. The architecture is well-thought-out — `bug-fix` chains into `raise-pr` with a clean caller-context contract.

What's good

  • Repo profiles (`repo-profiles.md`) — auto-detection via `git remote -v` with separate templates for rhdh-plugins vs community-plugins is practical
  • Baseline diffing — capturing `git status --porcelain` before builds to filter out pre-existing dirty files in Step 7 is clever and prevents accidental staging of unrelated changes
  • Video recording workflow — the principled approach (write repro test → fail → capture before → fix → pass → capture after) with hard gates at each step prevents out-of-order execution
  • GitHub Contents API for GIF upload — embedding recordings directly in the PR description via branch-committed files that auto-delete on merge is clean
  • Jira input parsing (`jira-input.md`) — handles all common input formats (bare key, browse URL, URL without scheme, URL with query params)
  • Changeset generation rules — correctly scoping to `plugins/` only, ignoring `packages/`, and checking published paths is right

Issues

  1. Cursor-specific references. Several places reference Cursor-specific constructs:

    • `CallMcpTool: server="user-jira"` in Step 11 — not portable to Claude Code or other agents
    • `required_permissions: ["all"]` in `preflight_system_limits` — Cursor Shell tool concept
    • The Prerequisites mention "Cursor" specifically for MCP setup

    Consider abstracting the MCP calls behind a generic pattern (e.g., "use your agent's Jira MCP tool to add a comment") and noting Cursor as one implementation option.

  2. PR size. Two full skills (700+ lines of SKILL.md each) plus 3 reference files in one PR is a lot to review. If this hasn't been through internal testing yet, consider splitting `raise-pr` into its own PR — it's independently useful and simpler to validate. `bug-fix` can follow as a separate PR that chains into it.

  3. `workspace-map.md` will go stale. The Jira Component → workspace mapping is hardcoded. Consider generating this from the workspace directories + some metadata, or at least noting a date/version.

  4. `ulimit -n 65536` in principles. This is macOS-specific (Linux typically has higher defaults). The principle should note this is primarily for macOS development.

  5. Version conflict. This bumps 0.6.1 → 0.7.0. PR #58 also bumps 0.6.1 → 0.7.0. If both need to be v0.7.0 (minor for new skills), only one can merge with that version.

Recommendation

The skills are well-designed. Address the Cursor-specific portability concerns and consider splitting into two PRs for easier review. Needs version coordination with #58.

Signed-off-by: its-mitesh-kumar <itsmiteshkumar98@gmail.com>
Signed-off-by: its-mitesh-kumar <itsmiteshkumar98@gmail.com>

# Conflicts:
#	.claude-plugin/marketplace.json
#	.claude-plugin/plugin.json
#	uv.lock
@its-mitesh-kumar

Copy link
Copy Markdown
Member Author

@durandom Thanks for the thorough review! Addressing each point:

1. Cursor-specific references — Fixed. Removed all Cursor-specific constructs (CallMcpTool, server="user-jira", required_permissions: ["all"]). MCP calls now use generic language (e.g., "Use the Jira MCP add_jira_comment tool") and Prerequisites reference "your agent environment" instead of Cursor specifically.

2. PR size — Keeping as one PR since bug-fix chains into raise-pr via a caller-context contract — testing them together covers more scenarios in less time than reviewing separately.

Tested end-to-end on two real issues:

3. workspace-map.md staleness3. workspace-map.md staleness — Added a "Last verified: July 2026" date stamp to make staleness visible. The skill now falls back to asking the user when a component doesn't match, so a stale table is safe rather than silently broken. Also added fuzzy matching (lowercase + hyphenate) and cross-cutting component disambiguation for components like "Localization" that span multiple workspaces. Auto-generating the map from workspace directories at runtime is a good idea — will explore that as a follow-up.

4. ulimit -n 65536 — Fixed. Added a note clarifying this is primarily needed on macOS (default limit 256). Linux typically defaults to 1024+ and may not require it.

5. Version conflict — Currently keeping v0.7.0 — if #58 merges first, I'll bump to v0.8.0 before this one goes in.


Since the review, also added:

  • Dual-source input — accepts both Jira issues and GitHub issues
  • backstage/community-plugins support with Jira isolation (no Jira info leaks into public PRs)
  • Agent-readiness triage gatenot-ready-for-agent label + missing-info comment for underspecified issues
  • --no-verify mode for unattended workflows
  • Backend bug support — no-e2e mode with unit/integration test verification
  • Post-PR Jira sync — web link + transition to Review via REST API
  • DCO-compliant Signed-off-by for GIF upload commits

Hence I have updated the PR description and architecture diagram.

Cc: @christoph-jerolimov @Eswaraiahsapram @lokanandaprabhu @sanketpathak

@its-mitesh-kumar

its-mitesh-kumar commented Jul 14, 2026

Copy link
Copy Markdown
Member Author

First bug fix PR redhat-developer/rhdh-plugins#3741 raised by using these both skill which was invoked using bug-fix https://redhat.atlassian.net/browse/RHDHBUGS-3245 --no-verify has been reviewed, verified and merged 🥳

Signed-off-by: its-mitesh-kumar <itsmiteshkumar98@gmail.com>
@its-mitesh-kumar

Copy link
Copy Markdown
Member Author

Another PR redhat-developer/rhdh-plugins#3846 successfully merged , which was fixed/raised using bug-fix https://github.com/redhat-developer/rhdh-plugins/issues/3845 --no-verify. With zero human in loop.

@ciiay

ciiay commented Jul 23, 2026

Copy link
Copy Markdown
Member

I have used bug-fix and raise-pr for RHDHBUGS-2243, it mostly worked great. Only two small comments:

  • have you run into the gh auth is invalid issue, when I used gh auth login to login, it still tells me that token is invalid. When I confirmed further, I got this answer:

Your login is fine — the failure was on the agent side, not yours.
What happened

Where Result
Your terminal (theme shell) Logged in as ciiay
Agent shell with full permissions Same — logged in
Agent shell in Cursor’s sandbox The token in keyring is invalid

So we can probably improve the gh authentication verification of raise-pr skill.

  • when the pr is out, it adds a comment to the bug ticket to mention the pr url, instead of adding the url to Git Pull Request field. It would be great if this field gets updated along with the story status when a pr gets raised.
  • after pr raised, it failed on some e2e tests on CI, which means before the pr gets raised, it didn't catch the error when running e2e tests locally. It would be great if we can improve this.

@its-mitesh-kumar

Copy link
Copy Markdown
Member Author

@ciiay Thanks for trying it out and the valuable feedback!

1. gh auth invalid in sandbox — This is an agent/IDE sandbox issue, not a skill issue. As you confirmed, gh auth works in your terminal and even in the agent's full-permission shell — it only fails inside Cursor's sandboxed shell where the keyring token is inaccessible. The skill already lists gh CLI as a prerequisite with a setup guide link, but authentication sandbox behavior is outside the skill's scope (it's Cursor-specific). No changes planned here.

2. Adding PR URL to the Git Pull Request Jira field — The Jira MCP does not provide any tool to update custom fields (it only supports add_jira_comment, read_jira_issue, search_jira_issues, create_jira_issue). That specific field is typically populated by Jira's built-in GitHub app integration (via webhooks), not by API consumers. For now the skill adds the PR URL as a comment via MCP, and if you have acli configured, it also adds it as a Web Link on the issue and transitions the status to Review.

3. E2E tests passing locally but failing on CI — I've raised around 10 PRs across both rhdh-plugins and community-plugins using the skill and CI has been green in all cases. First time I saw CI was failing so I will consider that as an exception

@ciiay

ciiay commented Jul 24, 2026

Copy link
Copy Markdown
Member

@its-mitesh-kumar Thanks for the reply. Then let's manually add the Git Pull Request value on the ticket once the PR is out. This way it's easier for scrum master to get a summary for stories that already has PRs and grab their review status.

@teknaS47

teknaS47 commented Jul 24, 2026

Copy link
Copy Markdown
Member

Review: tried bug-fix on a community-plugins UI bug

Used this on a topology pod hover/tooltip bug in backstage/community-plugins (#9843). Overall, it helped a lot for repro → diagnose → before/after recordings → verify. Sharing two gaps from that run:

Gaps

  1. Check for existing PRs earlier
    There were already related open PRs for the same issue. It’d help if the skill hard-gated on “search for open PRs targeting this issue first, then resume/extend instead of starting fresh.”

  2. Deeper verification for UI bugs
    The first fix looked good in Playwright but still failed on manual hover. For UI bugs, it’d be good to push a bit further. Don’t stop at the first green assertion; confirm the actual user-visible behavior (e.g., hover state and tooltip both present) before calling it fixed.)

Overall

Nice direction. These two hardenings would make full-e2e mode more trustworthy across workspaces.

@its-mitesh-kumar its-mitesh-kumar changed the title feat: add raise-pr and bug-fix skills with Jira integration (v0.7.0) feat: add raise-pr and bug-fix skills with Jira and github issues for rhdh-plugins and community-plugins (v0.7.0) Jul 24, 2026
@its-mitesh-kumar

Copy link
Copy Markdown
Member Author

@teknaS47 Thanks for trying it out and the detailed feedback!

1. Check for existing PRs — Interesting idea, but adding PR deduplication would increase the scope significantly and scatter the skill's focus. The skill is designed to go from issue → fix → PR as a single flow. Checking and extending existing PRs is a different workflow. For now, keeping it out of scope.

2. Deeper verification for UI bugs — Good callout. The skill currently trusts a single Playwright assertion as proof of fix, which can be misleading for UI bugs (e.g., element exists in DOM but isn't visually correct). This is a valuable enhancement — will look into strengthening the verification step to go beyond just a green assertion. Tracked as a follow-up.

Appreciate the real-world testing!

Signed-off-by: its-mitesh-kumar <itsmiteshkumar98@gmail.com>

# Conflicts:
#	pyproject.toml
#	uv.lock
@its-mitesh-kumar its-mitesh-kumar changed the title feat: add raise-pr and bug-fix skills with Jira and github issues for rhdh-plugins and community-plugins (v0.7.0) feat: add raise-pr and bug-fix skills with Jira and github issues for rhdh-plugins and community-plugins Jul 24, 2026
@its-mitesh-kumar its-mitesh-kumar changed the title feat: add raise-pr and bug-fix skills with Jira and github issues for rhdh-plugins and community-plugins feat: add raise-pr and bug-fix skills for Jira and github issues for rhdh-plugins and community-plugins Jul 24, 2026
@its-mitesh-kumar

Copy link
Copy Markdown
Member Author

Another PR by @ciiay using the skill : redhat-developer/rhdh-plugins#4021

@christoph-jerolimov christoph-jerolimov left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @its-mitesh-kumar, awesome work, its really cool. 👍

I like to merge this to make additional contributions easier. It would be nice if you can take a look into the comments below anyway so that the skill doesn't touch my (personal) computer as it does today.

Personally, I would prefix all skills in rhdh-skill with rhdh-, maybe you can check with @durandom (when he's back from PTO), @kadel and @schultzp2020 if they prefer this as well.

It would be also interesting to see how fullsend can benefit from this. Checkout with @durandom on this again.

Comment thread skills/bug-fix/SKILL.md
Comment on lines +89 to +91
- **Jira access (if Jira issue)** — At least ONE of:
- `acli` on PATH + `.jira-token` configured. [ACLI docs](https://developer.atlassian.com/cloud/acli/guides/how-to-get-started/)
- Jira MCP (Atlassian Rovo MCP server). [Setup guide](https://support.atlassian.com/atlassian-rovo-mcp-server/docs/getting-started-with-the-atlassian-remote-mcp-server/)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It should load and use the rhdh-jira skill instead. As an improvement for later.

Comment thread skills/bug-fix/SKILL.md
- Assert the **expected** behavior (the assertion should fail when the bug is present).
3. **Pre-flight: kill stale dev server** — before running the test, ensure the dev-server port (read from `playwright.config.ts` `webServer.url`) is free:
```
lsof -ti:<PORT> | xargs kill -9 2>/dev/null || true

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we avoid this in the future please. I would be nice if the skill choise a random port, sets some Backstage or Playwright environment variable to start the server on a non 3000 port so that it doesn't interrupt my on going work:

Something like:

APP_CONFIG_appPort=
APP_CONFIG_backendPort=

(The exact variables might look different)

Comment thread skills/bug-fix/SKILL.md
```
4. Run the test against the `en` locale in legacy mode. **Always** prefix with `ulimit -n 65536` and ensure the command runs without sandbox restrictions:
```
ulimit -n 65536 && APP_MODE=legacy npx playwright test e2e-tests/_repro-<KEY>.test.ts --project=en

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you please don't configure my computer for me. From my understanding ulimit is a configuration that persist globally on the OS until I restart.

Comment thread skills/bug-fix/SKILL.md

1. Re-run the reproduction test (with `ulimit` and without sandbox restrictions):
```
ulimit -n 65536 && APP_MODE=legacy npx playwright test e2e-tests/_repro-<KEY>.test.ts --project=en

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't run ulimit all the time. It changes my computer afaik.

Comment on lines +1 to +23
# Jira Input Parsing & REST API Patterns

Shared reference for resolving Jira issue keys from user input and performing Jira REST API operations. Used by `raise-pr` (Step 1.5, Step 11) and `bug-fix` (Step 1).

## Parsing Jira References

Accept any of these formats and normalize to a key + URL pair:

| Input format | Example | Extraction |
|-------------|---------|------------|
| Bare key | `RHDHBUGS-1934` | Match directly |
| Browse URL | `https://redhat.atlassian.net/browse/RHDHBUGS-1934` | Extract after `/browse/` |
| URL without scheme | `redhat.atlassian.net/browse/RHIDP-15252` | Extract after `/browse/` |
| URL with query params | `https://redhat.atlassian.net/browse/RHIDP-15252?focusedId=123` | Extract key between `/browse/` and `?` |

### Extraction rules

1. If the input contains `atlassian.net/browse/`, extract the path segment immediately after `/browse/` (strip any query string or fragment).
2. Otherwise, scan the full input string for a match against the pattern `(RHIDP|RHDHBUGS|RHDHPLAN|RHDHSUPP)-\d+`.
3. If neither matches, the input is invalid — ask the user to provide a valid key or URL.

### Normalization

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of jira-input, couldn't we use rhdh-jira instead?

@christoph-jerolimov
christoph-jerolimov merged commit ae4272b into redhat-developer:main Jul 28, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants