Checks a rendered page with the Browser plugin, or Playwright if Browser is missing.

How it works

Foe: Bug Slime, a defect in your code.

Foes

  • Bug Slime

Party · Context

  • IllusionistYour agent100/100
  1. Bug Slime

    The Bug Slime blocks the way.

    What really happensIt stands for a defect in your code.

    Illusionist: Context 100/100.

  2. Regress

    The Bug Slime uses Regress.

    What really happensA fix in one place breaks something that used to work.

    Illusionist takes 8. Illusionist: Context 92/100.

  3. OpenAI Frontend Testing and Debugging

    The hero reads the testing scroll before claiming the page is sound.

    What really happensThe agent loads frontend-testing-debugging from the Build Web Apps plugin for a rendered change, test, or bug.

    Bug Slime takes 17.

  4. OpenAI Frontend Testing and Debugging

    It checks whether the Browser ally is already in the party.

    What really happensIf the Browser plugin and its browser skill are listed, those are used first. If not, the skill records that and uses Playwright.

    Bug Slime takes 14.

  5. Regress

    The Bug Slime uses Regress.

    Illusionist takes 8. Illusionist: Context 84/100.

  6. OpenAI Frontend Testing and Debugging

    One click on the target flow, then a fresh look at the page.

    What really happensIt checks URL, title, a non-blank snapshot, no framework error overlay, console errors, a screenshot, and one interaction.

    Bug Slime takes 33.

  7. OpenAI Frontend Testing and Debugging

    A ward rises: a passing build is not treated as a passing page.

    What really happensAfter an edit it reloads or reruns the same check. The reply is a QA report with what was tested and what was not.

    Bug Slime takes 8. Illusionist: Ward.

  8. OpenAI Frontend Testing and Debugging

    The Bug Slime is either cornered or marked still loose.

    What really happensYou get the QA report: environment, checks, interaction path, screenshot notes, and remaining risk.

    Bug Slime takes 28. Bug Slime falls.

  9. Victory

    The Bug Slime falls.

Learn this spell

Codex

No one-line setup. Follow the source's instructions.

Notes

Codex only: ships inside the Build Web Apps plugin, with no separate install command. Parent manifest is MIT. Uses the Browser plugin and its browser skill when that plugin is in the session. If Browser is absent, it uses the repo's Playwright setup or a temporary script and records why. The reply is a QA report with URL, checks, and screenshots. It does not install new browser packages unless you allow dependency changes.

Proving Grounds record

Controlled quest results, separate from recorded usage. Each setup pools runs across its quests. The per-quest table below has casts, cast time, mana, incantation and runes; medians are not pooled.

Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.

Clear rate67%4 of 6 runs passed every check; Unarmed: 22 of 32 (matched quests)
Steadiness30%reliability: Wilson 95% lower bound
Buff-2 pp debuffvs Unarmed, only matched quests (6 equipped runs; 32 control runs)
Instant casts1 of 6runs cleared on the first prompt; Unarmed: 9 of 32 (matched quests)
Attunement100%6 of 6 runs opened an equipped skill
Upkeep+22% manaextra mana per run vs Unarmed, median of 2 quests
IncantationNot measuredoutput tokens per run vs Unarmed
Runes+1%lines added per run vs Unarmed, median of 2 quests
Per-quest Proving Grounds record
QuestFixed taskClear ratePassed runsSteadinessReliability lower boundBuffClear-rate points vs UnarmedInstant castsFirst-prompt clearsCastsPrompts to clearCast timeAgent runtimeManaCost at API list pricesIncantationOutput tokensRunesLines added / removedAttunementSkills openedSetupApp, model, effort and sandbox
Illusionist: pricing plan switcherQuest v833%1 of 3Unarmed: 53% (9 of 17)6%-20 pp debuffvs Unarmed1 of 333%Unarmed: 9 of 1711m 25sUnarmed: 1m 37s2,433 Unarmed: 2,764Not reportedUnarmed: 14.5k+382 / -3Unarmed: +394 / -3100%Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; invoked cast (the prompt named the skill).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot)
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell openai-frontend-testing-debugging --quest illusionist-pricing-tabs --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast invoked --control

Recorded with quest v8 and spell commits openai-frontend-testing-debugging@0722921d5542fc593105c27bd52630babd8b8c2a. How to run it

Illusionist: booking form repairQuest v4100%3 of 3Unarmed: 87% (13 of 15)44%+13 ppvs Unarmed0 of 30%Unarmed: 0 of 1521m 36sUnarmed: 1m 6s2,748 Unarmed: 1,761Not reportedUnarmed: 12.2k+119 / -62Unarmed: +114 / -61100%Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; invoked cast (the prompt named the skill).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot)
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell openai-frontend-testing-debugging --quest illusionist-signup-form --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast invoked --control

Recorded with quest v4 and spell commits openai-frontend-testing-debugging@0722921d5542fc593105c27bd52630babd8b8c2a. How to run it

Scrying (screenshots of runs)

The latest run of each setup. Local paths, names and ids are blurred; credentials are removed.

Scrying (screenshot) of a cleared run of Illusionist: pricing plan switcher with OpenAI Frontend Testing and Debugging, Claude CodeScrying (screenshot) of a cleared run of Illusionist: booking form repair with OpenAI Frontend Testing and Debugging, Claude Code
Explore the quests, full results and trial method

This spell has no recorded sessions in the curator's logs. Tried it? Send a spell report.