Skip to content
cccskills
FreePublished on GitHubEnglish overview

debug-frontend-with-browser

Use this diagnostic extension to investigate intermittent frontend bugs, stale state, ordering issues, navigation problems, or browser-only behavior. It helps trace the same data across rendering, client state, and server boundaries, then identify where the incorrect result first appears.

OriginalShow the original description

Use for intermittent UI, stale state, ordering, navigation or browser-only bugs. Extends acceptance with boundary tracing and regression diagnosis.

lobehub/lobehub83,504 stars(GitHub 83,504 + cccskills 0)

Run score Not tested

See how to install

Good for

  • Tracing an intermittent UI issue across data layers
  • Investigating stale state after navigation or refresh
  • Finding where item ordering becomes incorrect
  • Comparing a regression against the previous revision

Overview

What it does

This diagnostic guide helps investigate flicker, stale state, incorrect ordering, and issues that appear only after navigation. First, define the expected state and the observed difference, then reproduce the problem in an approved isolated environment. Trace the same data through visible rendering, renderer input, derived state, client state, network responses, and transformations to find the first boundary where a correct value becomes incorrect. Keep reproduction data to the minimum needed. If a fix is needed, correct the boundary that introduced the problem and return to the parent acceptance workflow for verification.

When it helps

Use it to investigate frontend bugs that happen only sometimes, or whose behavior changes after refreshing, switching tabs, or navigating. It is also useful when the display alone does not reveal the cause and you need to inspect client state or server responses.

Example requests

  • “Trace the data boundaries to investigate why the list order breaks.”
  • “Find why stale state appears after navigating to another screen.”

Notes

Read the acceptance skill and the project’s PROCESS.md first, and investigate only in an approved isolated environment. Treat production investigations as read only.

This overview was written by AI (OpenAI Codex) from the public SKILL.md. Check the original below for the exact behavior.

Document check

AI checked the SKILL.md for operations that need care and for setup requirements. The score comes only from actually running the skill (hands-on test).

SafetyAre sending data, deleting files, and running commands disclosed?
AGoodIt requires approved isolation, read-only production investigation, and forbids reading secrets.
Easy setupDoes it need few tools or API keys, and are they documented?
BPartly lackingIt depends on `acceptance`, `PROCESS.md`, a project adapter, and an approved surface, without setup steps.

Not counted in the score. Rated by AI (OpenAI Codex) as of Oct 26, 2026. Treat it as a guide and read the original before installing.

Disagree? Request a re-evaluation

Tell us which point is wrong and why. No login needed. We will check it against the SKILL.md, redo the evaluation, and show the result here.

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

Files included (3)

  • SKILL.md6.5 KB
  • agents/openai.yaml254 B
  • references/pitfalls.md3.9 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Debug Frontend with Browser

Find the first boundary where correct data becomes incorrect. This skill extends acceptance; it does not define a separate test workflow.

Mandatory foundation

Before any browser, Electron, network, cache, or application interaction:

  1. Read ../acceptance/SKILL.md and the project's PROCESS.md in full.
  2. Follow its target grounding, living logs, project adapter, environment and auth checks, approval gate, evidence rules, publication, and teardown.
  3. Enter this diagnostic workflow only after acceptance has established the approved execution surface. If its environment or auth gate is blocked, stop there instead of inventing another execution path.
  4. Use the isolated environment and fixture strategy selected by the project adapter. Never use the user's signed-in production browser or Electron client as a fixture container or test sandbox.
  5. Treat an explicit production investigation as read-only unless the user separately authorizes an exact live mutation and the project adapter permits it. This skill never grants production-mutation authority.
  6. Never read secret files or print credentials, tokens, private content, or full live objects. Return structural projections only.

If acceptance is unavailable, say so and stop before touching a live surface.

Responsibility boundary

acceptance ownsThis skill adds
Environment isolation and service lifecycleFalsifiable symptom and event timeline
Authentication and fixture seedingBoundary-by-boundary state comparison
Browser/Electron driver setupSafe minimal fixture extraction
Approval and mutation authorityPure-function replay and commit A/B
Evidence, report, publication, teardownEarliest-boundary fix guidance

Do not duplicate or weaken acceptance rules here. When the two skills appear to conflict, acceptance and the project layer control execution.

Diagnostic workflow

1. Make the symptom falsifiable

Write one expected invariant and one observed violation. Record:

  • the triggering action;
  • state before, during, and after it;
  • whether navigation, remount, refresh, tab switching, or waiting changes it;
  • stable identifiers required to follow the same entity across layers.

For timing or ordering defects, define the expected and observed event timelines before reading implementation code.

2. Reproduce on the approved isolated surface

  • Reproduce once without recording to prove the path.
  • For an intermittent defect, repeat the same controlled action and record the hit rate.
  • Verify the intended action through a new ID, request, or state transition.
  • Use a GIF or video for flicker and other time-based behavior.
  • Re-snapshot after navigation or a major render because element references expire.

Use the surface and capture method chosen by acceptance; do not relaunch or reattach to the user's resident application.

3. Find the first broken boundary

Compare the same entity IDs at each layer and mark each boundary correct or incorrect.

BoundaryInspectWhat it distinguishes
DOM / visible rowText, order, recordingSymptom only
Renderer inputComponent props, virtual-list dataRenderer vs upstream input
Derived stateSelectors, parsed/display itemsDerivation vs raw state
Raw client stateStore records, SWR state, persisted cacheCache vs transformation
Network / serverStructural response and persisted rowClient vs server
Pure transformationExact parser/normalizer inputRuntime vs deterministic logic

Important:

  • DOM absence is not state absence in a virtualized list.
  • Retained tabs can own multiple React roots and stores; qualify them by stable IDs and the visible route.
  • For cache defects, distinguish in-memory fetch cache, Zustand state, persisted cache, and server state instead of calling all of them "the cache."
  • Stop expanding the search when a pure local function reproduces the exact invalid output.

4. Build the smallest safe fixture

Create the fixture through the isolated environment's supported seed path. Keep only fields required by the suspected boundary, such as:

  • id, type or role, parent linkage, and timestamps;
  • cache key and lifecycle state;
  • branch or group metadata;
  • entity identifiers that affect selection or grouping.

Store reusable inputs through the project's fixture layout. Do not copy private production content into fixtures or tracked files.

5. Attribute with the same fixture

Do not infer causality from PR timing or filenames.

  1. Run the same fixture against the suspected revision and its real parent.
  2. Compare the same observable boundary, not two different screenshots.
  3. Verify the commit parent, PR file list, merge time, and deployment timing.
  4. Separate the revision that introduced the latent bug from the data event that first exposed it.

6. Fix the earliest incorrect boundary

  • Change the layer that first produces invalid state.
  • Preserve unrelated branch, optimistic-update, and cache semantics.
  • Add a behavior-level regression test with the sanitized minimal fixture.
  • Add a JSDoc comment when the fix protects a non-obvious invariant.
  • Do not substitute timeouts, refreshes, DOM sorting, or downstream filters for a source-state fix.

7. Return to the acceptance workflow for verification

After diagnosis or a fix, resume the parent acceptance workflow. It owns the focused checks, isolated visual replay, evidence inspection, structured report, publication, and cleanup. Do not publish a separate browser-debugging verdict.

Diagnostic supplements

Read references/pitfalls.md when the suspected boundary involves retained React roots, virtualized data, optimistic reconciliation, stale client caches, pure replay, or regression attribution.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

acceptance

FreeSummary

Use this skill to verify a delivery by exercising the real product through a suitable surface such as a CLI, web app, desktop app, or iOS Simulator. It helps create or find a verification plan, capture evidence, and publish an acceptance report.

  • Verifying a completed product change
  • Collecting screenshots or other evidence
  • Creating a verification plan and report
lobehub/lobehub83.5KUpdated Oct 26, 2026

Use this skill to add an AI model provider to LobeHub across runtime integration, model cards, settings, branding, documentation, and acceptance checks. It also covers provider documentation updates and distinguishes new providers from models added to an existing provider.

  • Integrating a new AI model provider into LobeHub
  • Updating setup or usage documentation for a provider
  • Checking whether a model needs a new provider integration
lobehub/lobehub83.5KUpdated Oct 26, 2026

add-setting-env

FreeSummary

Use this skill to add a server-side environment variable that sets a default for a user setting. It walks through validation, server configuration and store merging, plus updating the example environment file and self-hosting documentation.

  • Adding an environment variable for a setting default
  • Wiring a new setting domain into server config
  • Documenting a new variable for self-hosting
lobehub/lobehub83.5KUpdated Oct 26, 2026

Provides guidance for registering hooks around an agent’s execution steps, tool calls, human approvals, context compression, and sub-agent calls. Hooks can observe events, supply local mock tool results, or use webhooks to allow or deny tool results under configured policies.

  • Observing agent steps and tool errors
  • Mocking tool results during local execution
  • Requiring webhook decisions before or after a tool call
lobehub/lobehub83.5KUpdated Oct 26, 2026

agent-signal

FreeSummary

Build event-driven background workflows for agents by defining sources, interpreting them as signals, and running actions through policies. It also guides asynchronous handoffs, deduplication, scoped execution, completion receipts, and observability.

  • Adding a new event source to an agent workflow
  • Routing interpreted signals to concrete background actions
  • Enqueuing work for asynchronous processing
lobehub/lobehub83.5KUpdated Oct 26, 2026

Use this skill to run end-to-end acceptance checks for bot channels in real desktop chat apps. It drives apps such as Discord, Slack, Telegram, WeChat, Lark, and QQ to send a message, wait for a response, and capture the result.

  • Checking a bot response in a real Discord channel
  • Testing chat behavior through Slack or Telegram
  • Capturing a bot interaction in a native macOS app
lobehub/lobehub83.5KUpdated Oct 26, 2026

See all skills by lobehub

Report a problem with this skill