Acceptance Evidence for Deliveries
lobehub/lobehub
Verifies a delivery end to end by driving the real product on a CLI, web, desktop or iOS Simulator surface, capturing evidence and publishing a round with the lh CLI.
Runs real-user QA, manual test plans, UX bug hunts, build sign-off, bug filing, and bug triage for web or iOS/iPadOS apps.
The automated check flagged lines worth reading first. See the safety section below.
$ npx skills add RayFernando1337/rayfernando-skills --skill running-bug-review-board -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install RayFernando1337/rayfernando-skills running-bug-review-board --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/RayFernando1337/rayfernando-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/running-bug-review-board/skills/running-bug-review-board .claude/skills/running-bug-review-board && 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 "running-bug-review-board" agent skill from https://github.com/RayFernando1337/rayfernando-skills/tree/main/plugins/running-bug-review-board/skills/running-bug-review-board into .claude/skills/running-bug-review-board/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "running-bug-review-board", 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/RayFernando1337/rayfernando-skills/tree/main/plugins/running-bug-review-board/skills/running-bug-review-boardType 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 RayFernando1337/rayfernando-skills --skill running-bug-review-board -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install RayFernando1337/rayfernando-skills running-bug-review-board --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/RayFernando1337/rayfernando-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/running-bug-review-board/skills/running-bug-review-board .agents/skills/running-bug-review-board && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "running-bug-review-board" agent skill from https://github.com/RayFernando1337/rayfernando-skills/tree/main/plugins/running-bug-review-board/skills/running-bug-review-board into .agents/skills/running-bug-review-board/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "running-bug-review-board", 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 RayFernando1337/rayfernando-skills --skill running-bug-review-board -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install RayFernando1337/rayfernando-skills running-bug-review-board --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/RayFernando1337/rayfernando-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/running-bug-review-board/skills/running-bug-review-board .cursor/skills/running-bug-review-board && 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 "running-bug-review-board" agent skill from https://github.com/RayFernando1337/rayfernando-skills/tree/main/plugins/running-bug-review-board/skills/running-bug-review-board into .cursor/skills/running-bug-review-board/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "running-bug-review-board", 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/RayFernando1337/rayfernando-skills.git --path plugins/running-bug-review-board/skills/running-bug-review-board--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 RayFernando1337/rayfernando-skills --skill running-bug-review-board -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install RayFernando1337/rayfernando-skills running-bug-review-board --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/RayFernando1337/rayfernando-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/running-bug-review-board/skills/running-bug-review-board .gemini/skills/running-bug-review-board && 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 "running-bug-review-board" agent skill from https://github.com/RayFernando1337/rayfernando-skills/tree/main/plugins/running-bug-review-board/skills/running-bug-review-board into .gemini/skills/running-bug-review-board/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "running-bug-review-board", 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 RayFernando1337/rayfernando-skills running-bug-review-boardInstalls 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 RayFernando1337/rayfernando-skills --skill running-bug-review-board -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/RayFernando1337/rayfernando-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/running-bug-review-board/skills/running-bug-review-board .github/skills/running-bug-review-board && 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 "running-bug-review-board" agent skill from https://github.com/RayFernando1337/rayfernando-skills/tree/main/plugins/running-bug-review-board/skills/running-bug-review-board into .github/skills/running-bug-review-board/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "running-bug-review-board", 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 RayFernando1337/rayfernando-skills --skill running-bug-review-board -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install RayFernando1337/rayfernando-skills running-bug-review-board --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/RayFernando1337/rayfernando-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/running-bug-review-board/skills/running-bug-review-board .opencode/skills/running-bug-review-board && 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 "running-bug-review-board" agent skill from https://github.com/RayFernando1337/rayfernando-skills/tree/main/plugins/running-bug-review-board/skills/running-bug-review-board into .opencode/skills/running-bug-review-board/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "running-bug-review-board", 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.
running-bug-review-boardRuns real-user QA, manual test plans, UX bug hunts, build sign-off, bug filing, and bug triage for web or iOS/iPadOS apps.
Running Bug Review Board is an agent skill from RayFernando1337/rayfernando-skills. Runs real-user QA, manual test plans, UX bug hunts, build sign-off, bug filing, and bug triage for web or iOS/iPadOS apps. Use when asked "QA this", "is this ready to ship?", or similar. Produces P0/P1/P2 bug reports, YES/NO phase sign-off, tracker sync guidance, and an HTML QA dashboard; keeps Interactive BRB triage in a separate session.
Its SKILL.md is about 7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 43 other files, including scripts and reference files (for example `references/brb-interactive.md`, `references/browser-playbook.md` and `references/bug-filing.md`).
It sits in Testing & QA, covering QA and bug reports, Issue triage and Test generation. It works with iOS. The repository describes itself as: Ray Fernando's collection of Skill files for AI coding agents. First up: running-bug-review-board, a real-user QA workflow with a Bug Review Board (BRB) feedback loop. The licence is Apache-2.0.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 952eaaa. 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.
Ships 1 file in scripts/, which the agent can run.
Shell commands in SKILL.md call:
bashghFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gh, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
LINEAR_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Running Bug Review Board loads about 7k tokens when it runs, and up to ~210k if it reads all its reference files. Until then it costs about 92 tokens; SKILL.md has 3,219 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 found patterns that need a careful read before installing.
- **Assume an issue tracker** without asking the user — even whenAutomated 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); the scripts in this folder are not scanned.
The full file from RayFernando1337/rayfernando-skills at commit 952eaaa, republished under its Apache-2.0 licence (© RayFernando1337). 3,219 words, ~7,011 tokens.
.claude/skills/running-bug-review-board/SKILL.md (or your agent's skills folder). This skill also uses 41 other files; get the full folder from GitHub.This skill runs a real-user QA pass on an app and feeds the output into a Bug Review Board: a folder of structured bug reports, per-pass run reports, a self-contained HTML dashboard, and a final YES/NO sign-off the team can act on. Engineering's tracker (Linear / GitHub / Jira / Notion) syncs bi-directionally so QA and engineering stay in step.
It generalizes a battle-tested workflow that already shipped phase QA on Mokuhoe — the techniques are repo-agnostic.
Most engineers test their own code. They confirm what they wrote works. That misses the bugs real users hit first — stale state across flows, mobile overflow, copy that lies, paths that 404 mid-onboarding, race conditions between auth and routing.
This skill simulates a real user. The QA agent acts like a careful, mildly unforgiving customer who does not read the source code.
The skill splits the work into two distinct modes that share artifacts but run in separate sessions on purpose:
Keep them separate. Running BRB inside an auto pass lets triage bias contaminate discovery and confuses attribution. See references/brb-interactive.md.
For every pass, wear all three hats:
Do not fix product code unless the user explicitly asks. Test, document, file bugs, hand off.
Before writing a single test, understand the intent of the app — what the customer is hired to do with it. See references/discovering-the-app.md for the full investigation playbook. The short version:
Read the product spec / README / landing page / pitch deck (in that priority order) for what the app promises.
Read the phase doc (or current sprint plan) for what was just built.
Read prior QA gates / checklists for what passed before — regressions are your highest-value finds.
Read the bug-reports index — open bugs are scenarios you must re-test first.
Detect the project type(s). A repo can ship more than one app — a web + iOS monorepo is common — so collect every surface whose signals are present instead of stopping at the first hit. Two disambiguation rules resolve overlapping signals inside a single app; they are not a reason to skip a genuinely separate surface:
electron, @electron/, @tauri-apps/ in
package.json, or electron-builder.yml / tauri.conf.json) also
contains package.json and web framework deps, but those deps
belong to the desktop app — count it once as a desktop app, do
not also count it as a separate Web app.*.xcodeproj / *.xcworkspace. A bare
Xcode project is shared between the two, so don't classify on it
alone — require a platform-specific marker (below).The surfaces, with the playbook each activates:
.iOS(...),
platform :ios, UIDeviceFamily, or an ios/ directory) → use
ios-simulator-playbook.md..macOS(...),
a .app bundle, or LSMinimumSystemVersion — and no iOS marker) → use
computer-use-playbook.md.Also note whether Codex Computer Use is available (macOS only) — it enables a human-fidelity pass on web apps and is the only way to reach a native Mac or Electron/Tauri app. Most VMs (Cursor cloud, CI) won't have it, so never make the pass depend on it.
Detect the issue tracker (Linear, GitHub, Jira, Notion, or
none). Surface every signal found and ask the user to confirm
before writing qa-config.json. See
issue-trackers.md.
List the public routes / surfaces / entry points and decide which a real new user would touch.
If the user says "QA this app" but no docs exist, ask — see references/discovering-the-app.md § Asking the user.
1. Scope → which surface / phase / build
2. Discover → product intent + recent change + open bugs
+ project type + issue tracker (confirmed)
3. Plan → manual test plan (scenarios, IDs, expected, gates)
4. Prepare → env, build, test accounts, viewport / device matrix
5. Mode → parallel coordinator OR sequential wrap-up
6. Execute → real-user scenarios with evidence
7. File bugs → P0/P1/P2 with reproduction steps
8. Merge → results + verdict (YES/NO + open P0/P1)
9. Generate HTML → apply html-report-style-guide.md
10. Hand off → next QA agent (if NO) or engineering (if blockers)
11. Schedule BRB → separate session for interactive triageDetail in references/workflow.md.
| Situation | Mode | Reference |
|---|---|---|
| Fresh full pass on a phase, multi-agent OK | Parallel coordinator | references/parallel-coordinator.md |
Fresh full pass and the waves / waves-codex skill is installed | Parallel coordinator, run as a bounded wave (coverage gate, structured handoffs, tiered verification, cheap-model shards) | references/parallel-coordinator.md § Run the pass as a wave |
| Prior parallel run stalled or partial | Sequential wrap-up | references/sequential-wrapup.md |
| Solo agent, small surface | Sequential, ordered top-to-bottom | references/sequential-wrapup.md |
| Re-testing 1–3 fixed bugs after engineering shipped | Sequential, scoped to bug Test IDs | references/sequential-wrapup.md |
| Need to triage the open bug backlog with the human | Interactive BRB (separate session) | references/brb-interactive.md |
| Repo is a native macOS app, or you want a human-fidelity pass on the real signed-in app | Auto pass + Computer Use playbook (macOS) | references/computer-use-playbook.md |
| Repo is an iOS / iPadOS app | Auto pass + iOS playbook (use a companion skill for input) | references/ios-simulator-playbook.md |
| No test plan exists yet | Generate plan first | references/test-plan.md |
| Phase doc lists features not yet implemented in code | Stop. Tell user — QA needs a working build | — |
Detected during the discovery step. Match repo signals to the
playbook(s) for every surface present — usually one, but a monorepo
matches more than one (see Mixed below). Record the choice(s) in
docs/qa/qa-config.json so later passes don't re-litigate it.
| Surface | Signals | Playbook |
|---|---|---|
| Electron / Tauri desktop app (check first — beats Web app) | electron, @electron/, or @tauri-apps/ in package.json; electron-builder.yml; tauri.conf.json | computer-use-playbook.md |
| Web app | package.json with web framework deps (no Electron / Tauri markers), app/ / pages/ / src/routes/, deploy config for Vercel / Netlify / Cloudflare | browser-playbook.md (add Computer Use for a human-fidelity pass on a Mac) |
| iOS / iPadOS app | Package.swift with .iOS(...), Podfile with platform :ios, Info.plist with UIDeviceFamily, ios/ directory (bare *.xcodeproj / *.xcworkspace are shared with macOS — require at least one of these iOS-specific markers) | ios-simulator-playbook.md |
| Native macOS app | Package.swift with .macOS(...), a .app bundle, Info.plist with LSMinimumSystemVersion | computer-use-playbook.md |
| Mixed (monorepo) | Signals for two or more distinct surfaces above (e.g. web + iOS) — a web match must not short-circuit the iOS / macOS pass | Run every matched playbook — the test plan gets per-platform scenario blocks |
| CLI / library / backend | No UI signals | Neither UI playbook; QA focuses on integration tests + error paths |
For iOS app QA, our skill orchestrates (discovery, test plan, bug filing, BRB) and defers the simulator driving to one of the iOS community's purpose-built skills — AXe (Cameron Cooke), XcodeBuildMCP (Cameron Cooke / Sentry), ios-simulator-skill (Conor Luddy), ios-build-verify (Josh Adams), baguette (tddworks), ios-idb-skill (Hao Wu), serve-sim-skill (malopezr7), swiftui-autotest-skill (Yusuf Karan), xcode-build-skill (pzep1), and App Store Connect CLI + skills (Rudrank Riyam) for the TestFlight hand-off. See the playbook for the recommended-stack table.
The skill discovers and confirms — it never assumes. The
discovery ceremony probes signals
(LINEAR_API_KEY, gh auth status, Atlassian URL, registered MCP
servers, etc.) and surfaces every finding to the user before writing
docs/qa/qa-config.json. Once confirmed, the agent files bugs
locally and syncs to the tracker (push at file time or BRB time per
config) and pulls engineering's status changes back (default ON for
BRB start). Bi-directional reconciliation rules are spelled out in the
reference so divergences surface as user-decision diffs, never silent
overwrites.
Tracker IDs live in the bug front-matter — Tracker / Linear,
Tracker / GitHub, Tracker / Jira, Tracker / Notion,
Tracker / lastSyncedAt. The HTML report renders them as tags on
every bug card.
Helpers:
scripts/bugs-needing-sync.sh lists
bugs missing tracker IDs (push candidates).
scripts/bugs-needing-pull.sh lists
bugs whose Tracker / lastSyncedAt is stale (pull candidates).
At the end of every pass and every BRB session, regenerate
docs/qa/report/index.html plus per-bug and per-run detail pages by
applying html-report-style-guide.md.
The report reads like a magazine, not a Kanban board. Typography does
the work — priority is the word P0 in small caps, status is the word
Open, verdict is a single display-type word (YES or NO). One ink
colour for body, one quiet terracotta accent for links and CTAs,
hairline rules for separation. No coloured chips, no pills, no
shadows. A 640px reading column on every screen size; on desktop, bug
detail pages add a quiet right rail for metadata. On mobile, a sticky
thumb-zone duplicates the primary action so the reader doesn't have
to scroll back up.
The information hierarchy is engineered for the engineer-reviewer's
sweep: Title → Deck → Impact → Actual / Expected → Risk to fix →
Steps → Evidence. The bug template grew Impact and Risk to fix
sections in v0.3 (additive — old bugs render gracefully without them).
Markdown stays the source of truth. HTML is read-only and regenerated. Never edit the HTML to change bug state — edit the markdown and regenerate. The dashboard is what stakeholders open during BRB and ship reviews.
The Interactive BRB opens with a Suggestions card surfaced by a catalog of named heuristics in triage-heuristics.md — same suspect file, steps-prefix overlap, same console error, same persona+surface+ outcome, phase cascade, cosmetic cluster, regression marker, same owner. Every suggestion cites a heuristic name and the matching text so the user always sees why something was flagged. No embeddings, no LLM API, no auto-merge. The agent suggests; the user decides.
The same heuristics are also opt-in during the auto pass at file time
(triage.runHeuristicsOnFile, default false) so the pass can ask
"file new, or update BUG-007?" instead of double-filing.
If the target repo has no QA folder structure yet, run the bundled scaffolder to create it:
bash <skill>/scripts/scaffold-qa.sh "$REPO_ROOT" PHASE_NUM [SLUG]It creates (idempotent — won't overwrite existing files):
<repo>/docs/qa/
├── README.md # how QA works in this repo
├── qa-config.json # stub; discovery rewrites once user confirms
├── phase-NN-<slug>-manual-test-plan.md # filled-in skeleton (if PHASE_NUM given)
├── report/ # HTML report destination (agent generates)
├── bug-reports/
│ ├── README.md # index + status workflow
│ ├── _template.md # bug template
│ └── assets/ # screenshots (incl. ios/ for iOS QA)
└── runs/ # per-shard + coordinator merges + BRB minutesIf a different layout already exists in the repo (e.g. tests/manual/,
qa/, an issue tracker), adopt that layout — do not duplicate it.
convex/users.ts or
the API layer alone.qa-config.json#platforms.web so later passes
don't re-litigate it. For iOS apps, the device matrix comes from
qa-config.json#platforms.ios.devices.+test email reuse silently poisons fresh-user
flows.pull.createLocalForUntracked: "ask").| Level | Definition | Action |
|---|---|---|
| P0 | Blocks core flow; data loss; auth bypass; security | Phase cannot ship; halt QA pass until triaged |
| P1 | Feature broken or wrong; workaround exists | Blocks current phase sign-off |
| P2 | Cosmetic, edge case, accessibility, dev console noise | Defer to polish phase or release hardening |
When in doubt between P0 and P1, choose P0 if a user could land in a non-recoverable state or lose data.
Every pass ends with a coordinator merge doc whose top line reads:
Phase N ready? YES — all gates ☑, no open P0/P1. Phase N ready? NO — list open P0/P1 + remaining unrun scenarios
- a one-paragraph handoff prompt for the next QA agent.
If NO, the merge doc must be paste-ready into a new conversation. The next agent should not need to rediscover state. See references/gate-merge.md.
The HTML report (docs/qa/report/index.html) is also regenerated and
committed.
Default to cursor-ide-browser MCP when running inside Cursor. If the session is in another tool or browser MCP is missing, fall back per the ladder in references/browser-playbook.md:
chrome-devtools-mcp) — auto-waits for
results and adds DevTools-grade network / console / Lighthouse / a11y
inspection; can attach to your real signed-in Chrome so auth flows
don't get bot-flaggedWhatever tool, the playbook is the same: navigate → snapshot → act on fresh refs → capture evidence → unlock when done. The reference covers each tool's specifics, including how to drive like a human so the app doesn't trip on bot detection or timing races. The pass must succeed with whatever the environment has — don't depend on Computer Use, which most VMs lack.
| Path | What |
|---|---|
docs/qa/qa-config.json | Tracker + triage + report + platforms config (discovery rewrites the stub) |
docs/qa/phase-NN-<slug>-manual-test-plan.md | (if newly generated) |
docs/qa/runs/QA-<shard>-run-YYYY-MM-DD.md | Per-shard results |
docs/qa/runs/COORDINATOR-MERGE-YYYY-MM-DD.md | Merge + verdict |
docs/qa/runs/BRB-YYYY-MM-DD.md | (Interactive BRB only) session minutes |
docs/qa/bug-reports/BUG-NNN-*.md + assets/BUG-NNN/ | Each defect |
docs/qa/report/index.html + bugs/ + runs/ + assets.css | Apple-language HTML dashboard |
docs/QA_GATES.md (or your repo's equivalent) | Gate boxes updated |
| Phase doc § QA status | Sign-off note + link to merge |
| Tracker issues (Linear / GitHub / …) | If syncOnFile or after BRB |
Adapt paths to whatever the target repo already uses.
waves / waves-codex is installedscripts/scaffold-qa.sh REPO_ROOT PHASE_NUM [SLUG] — creates the QA
folder layout, qa-config stub, and report folder in any repo.scripts/bugs-needing-sync.sh REPO_ROOT [--tracker …] — lists bugs
missing a tracker ID; the agent reads the list and pushes per
issue-trackers.md.scripts/bugs-needing-pull.sh REPO_ROOT [--threshold 24h] [--tracker …]
— lists bugs whose Tracker / lastSyncedAt is stale; the agent reads
the list and pulls per issue-trackers.md.Adding a new issue tracker, triage heuristic, surface playbook, or mode
is additive — copy a section, fill it in, the agent picks it up on the
next session. Forward-compatible qa-config.json schema (version: 1,
unknown fields ignored), additive bug front-matter, versioned HTML
report marker. See
references/extending-the-skill.md.
| Don't | Why |
|---|---|
| Mark scenarios PASS from code inspection | Users don't experience source |
| Defer P0 bugs to "next phase" | Foundation bugs cascade everywhere |
| Trust prior PASS marks without re-running on a fresh build | Regressions appear from unrelated work |
| Run multiple QA agents on one browser tab | Auth providers throttle; sessions bleed |
| Edit the phase doc to match buggy behavior | Hides the regression — file a bug instead |
| File a bug without Steps to reproduce | Engineering can't act on it |
| Test only the happy path | The happy path is what engineers tested already |
| Run BRB and an auto pass in the same session | Triage bias contaminates discovery |
Sync bugs to a tracker without filling qa-config.json | Duplicates and lost edits |
| Use the iOS playbook to test a web app on Mobile Safari | Out of scope; the iOS playbook is for iOS app projects only |
| Auto-merge heuristic suggestions | Every dedup needs user confirm |
| Auto-import tracker-only bugs as local markdown | Engineering may have filed them in a context QA shouldn't claim |
| Edit the HTML to change bug state | Markdown is the source of truth; regenerate the HTML |
If during the pass you find:
Stop testing. Surface the finding. The user decides whether to escalate to engineering or carve a smaller phase. Continuing wastes time on a foundation that needs replacing.
© RayFernando1337, 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
SKILL.md and 41 other files (scripts, references) in plugins/running-bug-review-board/skills/running-bug-review-board of RayFernando1337/rayfernando-skills.
Open the folder on GitHubat commit 952eaaa
Running Bug Review Board 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 |
|---|---|---|---|---|---|---|
| Running Bug Review Board this skillRayFernando1337/rayfernando-skills | 130 | — | ~7k | Automated safety check: Warn | Apache-2.0 | |
| Acceptance Evidence for Deliverieslobehub/lobehub | 83k | — | ~9.7k | Automated safety check: Pass | Apache-2.0 | |
| Engine E2Ewix/react-native-navigation | 13k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Senior QAnicepkg/auto-company | 195 | 3 repos | ~1.1k | Automated safety check: Notes | None | |
| QA Test Plannermeshery/meshery-operator | 151 | 5 repos | ~4.6k | Automated safety check: Pass | Apache-2.0 | |
| Triage IssuesClickHouse/clickhouse-java | 1.6k | — | ~904 | Automated safety check: Pass | Apache-2.0 |
lobehub/lobehub
Verifies a delivery end to end by driving the real product on a CLI, web, desktop or iOS Simulator surface, capturing evidence and publishing a round with the lh CLI.
wix/react-native-navigation
Run Wix Engine (mobile-apps-engine) iOS E2E tests locally to validate RNN changes.
nicepkg/auto-company
Comprehensive QA and testing skill for quality assurance, test automation, and testing strategies for ReactJS, NextJS, NodeJS applications.
meshery/meshery-operator
Generate comprehensive test plans, manual test cases, regression test suites, and bug reports for QA engineers.
ClickHouse/clickhouse-java
Analyzes a single GitHub issue at a time. An agent skill from ClickHouse/clickhouse-java.
LambdaTest/kane-cli
Drives a real browser through the kane-cli tool and designs requirement-linked test suites from a PRD or a plain description, with mobile and cloud-grid runs.
RayFernando1337/rayfernando-skills
Bootstrap agents for iOS, iPadOS, macOS, Swift, SwiftUI, SwiftData/Core Data, Swift Testing, Xcode build/test/debug, Simulator, App Intents, or XcodeBuildMCP work.
RayFernando1337/rayfernando-skills
Match UI/UX interaction needs to proven SwiftUI animation patterns from curated open-source catalogs.
RayFernando1337/rayfernando-skills
WAVES — Workers · Aggregate · Verify · Extend — wave-based orchestration for Cursor.
RayFernando1337/rayfernando-skills
WAVES - Workers, Aggregate, Verify, Extend - wave-based orchestration for Codex.
Works with
Categories
Runs real-user QA, manual test plans, UX bug hunts, build sign-off, bug filing, and bug triage for web or iOS/iPadOS apps. Running Bug Review Board is an agent skill from RayFernando1337/rayfernando-skills. Runs real-user QA, manual test plans, UX bug hunts, build sign-off, bug filing, and bug triage for web or iOS/iPadOS apps.
Running Bug Review Board fits situations like: is this ready to ship?; tasks that involve QA and bug reports; tasks that involve Issue triage.
Run `npx skills add RayFernando1337/rayfernando-skills --skill running-bug-review-board -a claude-code`. Or copy the skill folder (plugins/running-bug-review-board/skills/running-bug-review-board in RayFernando1337/rayfernando-skills) into .claude/skills/running-bug-review-board in your project. Claude Code loads it when a task matches its description.
Run `npx skills add RayFernando1337/rayfernando-skills --skill running-bug-review-board -a codex`. Or copy the skill folder (plugins/running-bug-review-board/skills/running-bug-review-board in RayFernando1337/rayfernando-skills) into .agents/skills/running-bug-review-board 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 RayFernando1337/rayfernando-skills --skill running-bug-review-board -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/running-bug-review-board, .gemini/skills/running-bug-review-board, .github/skills/running-bug-review-board and .opencode/skills/running-bug-review-board in your project.
Going by SKILL.md and its folder, Running Bug Review Board needs the command-line tools its instructions call (bash and gh) and credentials named LINEAR_API_KEY.
SKILL.md contains no URLs. Its commands use gh, 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 flagged 1 warning(s): tells the agent its actions are pre-authorized / not to stop for confirmation. Read the flagged lines before installing; the check is not a guarantee either way. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Running Bug Review Board 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 7k tokens (SKILL.md is roughly 28k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 203k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Running Bug Review Board: Acceptance Evidence for Deliveries (lobehub/lobehub, 83k stars), Engine E2E (wix/react-native-navigation, 13k stars), Senior QA (nicepkg/auto-company, 195 stars) and QA Test Planner (meshery/meshery-operator, 151 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
RayFernando1337 (a GitHub user) maintains it in RayFernando1337/rayfernando-skills, which has 130 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on July 19, 2026.
Source: RayFernando1337/rayfernando-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.