Gm Scaffold
RandallLiuXin/GodotMaker
Scaffold a new Godot project: project.godot + addons + base directories + e2e/conftest.py + initial git commit.
Create a PR for an E2E test fix, trigger Qodo agentic review, address review comments, and monitor CI results
$ npx skills add redhat-developer/rhdh --skill e2e-submit-and-review -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install redhat-developer/rhdh e2e-submit-and-review --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/redhat-developer/rhdh.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/e2e-submit-and-review .claude/skills/e2e-submit-and-review && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "e2e-submit-and-review" agent skill from https://github.com/redhat-developer/rhdh/tree/main/.claude/skills/e2e-submit-and-review into .claude/skills/e2e-submit-and-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "e2e-submit-and-review", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/redhat-developer/rhdh/tree/main/.claude/skills/e2e-submit-and-reviewType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add redhat-developer/rhdh --skill e2e-submit-and-review -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install redhat-developer/rhdh e2e-submit-and-review --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/redhat-developer/rhdh.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/e2e-submit-and-review .agents/skills/e2e-submit-and-review && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "e2e-submit-and-review" agent skill from https://github.com/redhat-developer/rhdh/tree/main/.claude/skills/e2e-submit-and-review into .agents/skills/e2e-submit-and-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "e2e-submit-and-review", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add redhat-developer/rhdh --skill e2e-submit-and-review -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install redhat-developer/rhdh e2e-submit-and-review --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/redhat-developer/rhdh.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/e2e-submit-and-review .cursor/skills/e2e-submit-and-review && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "e2e-submit-and-review" agent skill from https://github.com/redhat-developer/rhdh/tree/main/.claude/skills/e2e-submit-and-review into .cursor/skills/e2e-submit-and-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "e2e-submit-and-review", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/redhat-developer/rhdh.git --path .claude/skills/e2e-submit-and-review--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add redhat-developer/rhdh --skill e2e-submit-and-review -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install redhat-developer/rhdh e2e-submit-and-review --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/redhat-developer/rhdh.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/e2e-submit-and-review .gemini/skills/e2e-submit-and-review && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "e2e-submit-and-review" agent skill from https://github.com/redhat-developer/rhdh/tree/main/.claude/skills/e2e-submit-and-review into .gemini/skills/e2e-submit-and-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "e2e-submit-and-review", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install redhat-developer/rhdh e2e-submit-and-reviewInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add redhat-developer/rhdh --skill e2e-submit-and-review -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/redhat-developer/rhdh.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/e2e-submit-and-review .github/skills/e2e-submit-and-review && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "e2e-submit-and-review" agent skill from https://github.com/redhat-developer/rhdh/tree/main/.claude/skills/e2e-submit-and-review into .github/skills/e2e-submit-and-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "e2e-submit-and-review", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add redhat-developer/rhdh --skill e2e-submit-and-review -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install redhat-developer/rhdh e2e-submit-and-review --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/redhat-developer/rhdh.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/e2e-submit-and-review .opencode/skills/e2e-submit-and-review && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "e2e-submit-and-review" agent skill from https://github.com/redhat-developer/rhdh/tree/main/.claude/skills/e2e-submit-and-review into .opencode/skills/e2e-submit-and-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "e2e-submit-and-review", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
e2e-submit-and-reviewCreate a PR for an E2E test fix, trigger Qodo agentic review, address review comments, and monitor CI results
E2E Submit And Review is an agent skill from redhat-developer/rhdh. Create a PR for an E2E test fix, trigger Qodo agentic review, address review comments, and monitor CI results
Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Testing & QA, covering End-to-end testing and Commit messages. The repository describes itself as: The repo formerly known as janus-idp/backstage-showcase. The licence is Apache-2.0.
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit a50428e. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
ghgityarnFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gh, git and yarn, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
E2E Submit And Review loads about 2.7k tokens when it runs. Until then it costs about 33 tokens; SKILL.md has 838 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
tage specific files to avoid committing `.env`, test artifacts, or other local-only files.Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from redhat-developer/rhdh at commit a50428e, republished under its Apache-2.0 licence (© redhat-developer). 838 words, ~2,728 tokens.
.claude/skills/e2e-submit-and-review/SKILL.md (or your agent's skills folder).Create a pull request for the E2E test fix, trigger automated review, address feedback, and verify CI passes.
Use this skill after verifying the fix (via e2e-verify-fix) when all tests pass and code quality checks are clean.
Before committing, ensure all related workspaces have their dependencies installed so pre-commit hooks (lint-staged, rulesync, etc.) pass:
# Root workspace
yarn install
# If e2e-tests files were changed
cd e2e-tests && yarn install && cd ..
# If .ci files were changed
cd .ci && yarn install && cd ..If a pre-commit hook fails during commit, fix the issue and create a new commit — do not amend.
# Stage only relevant files
git add e2e-tests/
git add .ci/ # Only if deployment config was changed
# Commit with a descriptive message
git commit -m "fix(e2e): <short description of what was fixed>
<Longer description if needed explaining:>
- What test was failing
- What the root cause was
- How it was fixed"Follow the conventional commit format:
fix(e2e): fix flaky topology test timeoutfix(e2e): update RBAC page locators after UI redesignfix(e2e): add retry logic for catalog entity refreshfix(e2e): skip orchestrator test on GKE platformIf a Jira ticket exists, reference it:
fix(e2e): fix topology locator drift [RHIDP-1234]Push the fix branch to the fork (origin):
git push -u origin <branch-name>Example:
git push -u origin fix/e2e-topology-locator
# or
git push -u origin fix/RHIDP-1234-e2e-topology-locatorCreate a PR against the upstream redhat-developer/rhdh repository.
Dynamic username extraction -- Always derive the GitHub username from the fork remote at runtime rather than hardcoding it. This makes the workflow portable across any contributor's environment:
GITHUB_USER=$(git remote get-url origin | sed 's|.*github.com[:/]||;s|/.*||')Then create the PR as a draft (always use --draft):
gh pr create \
--draft \
--repo redhat-developer/rhdh \
--head "${GITHUB_USER}:<branch-name>" \
--base <release-branch> \
--title "fix(e2e): <description> [AI /e2e-fix]" \
--body "$(cat <<'EOF'
## Summary
- <1-2 bullet points explaining what was fixed and why>
## Test Results
- Local verification: 5/5 passes
- Code quality: lint, tsc, prettier all pass
## Related
- Prow job: <URL if applicable>
- Jira: <ticket ID if applicable>
EOF
)"Important: Always use --repo redhat-developer/rhdh and --head <username>:<branch> for cross-fork PRs. Never hardcode the GitHub username -- always extract it dynamically from the origin remote URL so this workflow works for any contributor.
Keep it concise:
After the PR is created, trigger an agentic review from Qodo (PR-Agent):
# Get the PR number from the create output, then comment
gh pr comment <PR-number> --repo redhat-developer/rhdh --body "/agentic_review"The Qodo bot will:
Poll for Qodo review completion (typically takes 1-3 minutes):
# Poll for Qodo bot review (check every 15s, up to 20 attempts = 5 min)
for i in $(seq 1 20); do
REVIEW_STATE=$(gh api repos/redhat-developer/rhdh/pulls/<PR-number>/reviews \
--jq '[.[] | select(.user.login | test("github-actions|qodo|codium|pr-agent"))] | last | .state // empty')
if [[ -n "$REVIEW_STATE" ]]; then
echo "Qodo review received (state: $REVIEW_STATE)"
break
fi
echo "Waiting for Qodo review (attempt $i/20)..."
sleep 15
doneIf a review is received, fetch the inline comments:
# Get inline review comments
gh api repos/redhat-developer/rhdh/pulls/<PR-number>/comments \
--jq '.[] | select(.user.login | test("github-actions|qodo|codium|pr-agent")) | {path: .path, line: .line, body: .body}'If no review is received after 5 minutes, ask the user for guidance.
For each review comment:
# Make the change locally
# Then stage only the changed files and commit
git add <specific-files>
git commit -m "fix(e2e): address review feedback"
git push Never use git add -A or git add . — always stage specific files to avoid committing .env, test artifacts, or other local-only files.
Style/convention issues: Fix them per project conventions
False positives: If a suggestion is incorrect, explain why in a reply:
gh api repos/redhat-developer/rhdh/pulls/<PR-number>/comments/<comment-id>/replies \
-f body="This is intentional because <reason>"After addressing Qodo review feedback (and pushing any follow-up commits), trigger the presubmit E2E job that corresponds to the originally failing CI job. Presubmit job names differ from periodic/nightly names but cover the same platform and deployment method.
CRITICAL: Never guess or construct presubmit job names. Always discover them from the openshift-ci bot response as described below.
Comment /test ? on the PR to request the list of available presubmit jobs:
gh pr comment <PR-number> --repo redhat-developer/rhdh --body "/test ?"The bot usually responds within seconds. Poll PR comments for the openshift-ci bot's response:
# Poll for the openshift-ci bot response (check every 5s, up to 12 attempts = 1 min)
for i in $(seq 1 12); do
BOT_RESPONSE=$(gh api repos/redhat-developer/rhdh/issues/<PR-number>/comments \
--jq '[.[] | select(.user.login == "openshift-ci[bot]" or .user.login == "openshift-ci-robot")] | last | .body // empty')
if [[ -n "$BOT_RESPONSE" ]] && echo "$BOT_RESPONSE" | grep -q '/test'; then
echo "Bot response received:"
echo "$BOT_RESPONSE"
break
fi
echo "Waiting for openshift-ci bot response (attempt $i/12)..."
sleep 5
doneIf no response is received after 1 minute, ask the user for guidance.
The bot's response has two sections:
/test e2e-ocp-helm/test e2e-ocp-helm-nightly
/test e2e-eks-helm-nightly
/test e2e-aks-operator-nightly
...Note: the job names in the bot's response are shortened (e.g., e2e-ocp-helm), not the full Prow pull-ci-redhat-developer-rhdh-... format. Use these short names directly with /test.
Match the original failure to the right presubmit job from the bot's list:
| Original failure pattern | Trigger |
|---|---|
*ocp*helm*nightly* | /test e2e-ocp-helm-nightly |
*ocp*operator*nightly* | /test e2e-ocp-operator-nightly |
*ocp*v4-19*helm* | /test e2e-ocp-v4-19-helm-nightly |
*aks*helm* | /test e2e-aks-helm-nightly |
*eks*helm* | /test e2e-eks-helm-nightly |
*gke*operator* | /test e2e-gke-operator-nightly |
gh pr comment <PR-number> --repo redhat-developer/rhdh --body "/test <job-name-from-bot-response>"Rules:
e2e-ocp-helm) runs automatically — you usually only need to trigger the optional job matching the original failureAfter pushing changes, monitor the CI pipeline:
gh pr checks <PR-number> --repo redhat-developer/rhdh --watchOr check manually:
gh pr checks <PR-number> --repo redhat-developer/rhdhCI check types (Prow E2E jobs, lint checks, build checks, etc.) are documented in the project CI rules. Use gh pr checks output to identify which specific check failed.
yarn lint:fix locally, commit and pushyarn tsc/retest to re-triggerIf a CI check needs to be re-run:
# For Prow jobs, comment on the PR
gh pr comment <PR-number> --repo redhat-developer/rhdh --body "/retest"
# For specific jobs
gh pr comment <PR-number> --repo redhat-developer/rhdh --body "/retest <job-name>"After CI passes (or all issues are addressed), produce a final report:
PR Status Report:
- PR: <URL>
- Branch: <branch> -> <release-branch>
- CI Status: PASS / PENDING / FAIL
- Qodo Review: Addressed / Pending
- Files changed: <count>
- Action items: <any remaining items># Determine GitHub username from fork remote
GITHUB_USER=$(git remote get-url origin | sed 's|.*github.com[:/]||;s|/.*||')
# Create draft PR (always use --draft)
gh pr create --draft --repo redhat-developer/rhdh --head "${GITHUB_USER}:<branch>" --base <release-branch> --title "fix(e2e): <description> [AI /e2e-fix]"
# Trigger Qodo review
gh pr comment <PR#> --repo redhat-developer/rhdh --body "/agentic_review"
# List available presubmit jobs (Step 6a)
gh pr comment <PR#> --repo redhat-developer/rhdh --body "/test ?"
# Wait for openshift-ci bot response (Step 6b) -- poll until bot replies with job list
# Trigger specific presubmit job (Step 6d) -- ONLY use a job name from the bot's response
gh pr comment <PR#> --repo redhat-developer/rhdh --body "/test <job-name-from-bot-response>"
# Check CI status
gh pr checks <PR#> --repo redhat-developer/rhdh
# Re-trigger tests
gh pr comment <PR#> --repo redhat-developer/rhdh --body "/retest"
# View PR
gh pr view <PR#> --repo redhat-developer/rhdh --web© redhat-developer, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/e2e-submit-and-review of redhat-developer/rhdh.
Open the folder on GitHubat commit a50428e
E2E Submit And Review next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| E2E Submit And Review this skillredhat-developer/rhdh | 172 | — | ~2.7k | Automated safety check: Notes | Apache-2.0 | |
| Gm ScaffoldRandallLiuXin/GodotMaker | 549 | — | ~1.9k | Automated safety check: Pass | Custom licence | |
| RStudio Selenium to Playwright Migrationrstudio/rstudio | 5.1k | — | ~3.6k | Automated safety check: Pass | Custom licence | |
| Add Full Slicefullstackhero/dotnet-starter-kit | 6.8k | — | ~783 | Automated safety check: Pass | MIT | |
| Codex E2E Trace Validationliaohch3/claude-tap | 3.3k | — | ~3k | Automated safety check: Pass | MIT | |
| Interactive CLI Testing With tui-testslopus/happy | 24k | — | ~603 | Automated safety check: Pass | MIT |
RandallLiuXin/GodotMaker
Scaffold a new Godot project: project.godot + addons + base directories + e2e/conftest.py + initial git commit.
rstudio/rstudio
Converts RStudio Python Selenium electron tests into TypeScript Playwright tests, checking each against a live RStudio before counting it as migrated.
fullstackhero/dotnet-starter-kit
Build a capability end-to-end — backend vertical slice (Contracts→handler→validator→endpoint) AND the React page wired to it.
liaohch3/claude-tap
Runs a real Codex CLI session through claude-tap and produces trace evidence and viewer screenshots for pull requests that touch capture, proxying or the viewer.
slopus/happy
Tests interactive CLI and TUI programs with Microsoft's tui-test, driving prompts, arrow keys and screen output in a real pseudo-terminal.
morapelker/hive
Build, launch, and drive this worktree's Hive app over CDP to verify a change end-to-end with playwright-cli
redhat-developer/rhdh
Deploy RHDH to an OpenShift cluster using local-run.sh for E2E test execution, with autonomous error recovery for deployment failures
redhat-developer/rhdh
Analyze a failing E2E test, determine root cause, and fix it using Playwright Test Agents and RHDH project conventions
redhat-developer/rhdh
Parse a Prow CI job URL or Jira ticket to extract E2E test failure details including test name, spec file, release branch, platform, and error messages
redhat-developer/rhdh
Run a specific failing E2E test against a deployed RHDH instance to confirm the failure and determine if it is consistent or flaky
redhat-developer/rhdh
Verify an E2E test fix by running the test multiple times and checking code quality
redhat-developer/rhdh
Workflow to backport Backstage changes into RHDH by syncing a downstream maintenance branch and generating yarn patches.
Categories
Create a PR for an E2E test fix, trigger Qodo agentic review, address review comments, and monitor CI results. E2E Submit And Review is an agent skill from redhat-developer/rhdh.
E2E Submit And Review fits situations like: qodo agentic review; address review comments; monitor CI results.
Run `npx skills add redhat-developer/rhdh --skill e2e-submit-and-review -a claude-code`. Or copy the skill folder (.claude/skills/e2e-submit-and-review in redhat-developer/rhdh) into .claude/skills/e2e-submit-and-review in your project. Claude Code loads it when a task matches its description.
Run `npx skills add redhat-developer/rhdh --skill e2e-submit-and-review -a codex`. Or copy the skill folder (.claude/skills/e2e-submit-and-review in redhat-developer/rhdh) into .agents/skills/e2e-submit-and-review in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add redhat-developer/rhdh --skill e2e-submit-and-review -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/e2e-submit-and-review, .gemini/skills/e2e-submit-and-review, .github/skills/e2e-submit-and-review and .opencode/skills/e2e-submit-and-review in your project.
Going by SKILL.md and its folder, E2E Submit And Review needs the command-line tools its instructions call (gh, git and yarn).
SKILL.md contains no URLs. Its commands use gh and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
E2E Submit And Review is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with E2E Submit And Review: Gm Scaffold (RandallLiuXin/GodotMaker, 549 stars), RStudio Selenium to Playwright Migration (rstudio/rstudio, 5.1k stars), Add Full Slice (fullstackhero/dotnet-starter-kit, 6.8k stars) and Codex E2E Trace Validation (liaohch3/claude-tap, 3.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
redhat-developer (a GitHub organization) maintains it in redhat-developer/rhdh, which has 172 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 7, 2026.
Source: redhat-developer/rhdh on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.