browser-actionability-debug
Diagnose browser UI tests or real browser checks where an element appears visible but cannot be clicked, copied, hovered, or focused.
Skill by JinNing6
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/jinning6-browser-actionability-debug
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, testing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/browser-actionability-debug
What's inside
- Skill name
browser-actionability-debug- Description
- Diagnose browser UI tests or real browser checks where an element appears visible but cannot be clicked, copied, hovered, or focused. Use for Playwright/Chrome/browser automation failures involving overlays, splash screens, opacity transitions, pointer-events, elementFromPoint mismatches, clipboard assertions, or differences between "visible" and actually actionable UI.
- License
- Apache-2.0
- Instructions
- 60 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Browser Actionability Debug
## Workflow
1. Reproduce the failure with a real browser action, not only DOM existence.
- Prefer normal `locator.click()` first so the browser reports what intercepts the pointer.
- Read the full call log. If it names an intercepting element, treat that as evidence.
2. Separate visibility from actionability.
- `visible` can still be blocked by an overlay, `opacity: 0`, parent `pointer-events: none`, a splash screen, or an element with higher stacking order.
- Inspect `elementFromPoint()` at the target center and compare it to the intended button/input.
- Capture computed `opacity`, `visibility`, `display`, `pointerEvents`, and bounding boxes for the target and its stable ancestors.
3. Check lifecycle gates before changing CSS.
- If a splash/loading/transition component exists, wait for the lifecycle signal that makes the app interactive, such as overlay detached or app shell `pointer-events: auto`.
- Do not fix a test by using `force: true` unless the user specifically needs to bypass hit testing. It can hide real UX bugs.
4. Fix at the correct layer.
- If the overlay should still be active, update the test to wait for the overlay to detach.
- If a decorative canvas or visual layer should never capture input, set `pointer-events: none` on that visual layer.
- If app content is intentionally disabled until boot, do not make underlying controls clickable before boot unless that is a product decision.
5. Verify clipboard behavior cross-platform.
- On Windows, browser clipboard reads may normalize line endings to CRLF. Normalize `\r\n` to `\n` for semantic multi-line copy assertions.
- Still assert exact command text after line-ending normalization.
## Diagnostic Snippet
Use this inside `page.evaluate()` when a click target exists but is not actionable:
```js
const target = document.querySelector('[aria-label="Copy Noosphere share post"]');
const rect = target?.getBoundingClientRect();
const top = rect
? document.elementFromPoint(rect.left + rect.width / 2, rect.top + rect.height / 2)
: null;
return {
target: target ? getComputedStyle(target).cssText : null,
topTag: top?.tagName,
topClass: String(top?.className || ''),
topAria: top?.getAttribute?.('aria-label') || null,
targetRect: rect ? {
x: rect.x,
y: rect.y,
width: rect.width,
height: rect.height,
} : null,
};
```
## Completion Standard
- The original browser action succeeds without `force: true`.
- The target is within the tested viewport.
- `elementFromPoint()` at the target center resolves to the target or a child of it.
- Clipboard assertions normalize OS line endings but otherwise match exactly.
- Dev servers and temporary browser dependencies are stopped or removed after verification.From JinNing6/Noosphere, Apache-2.0.
More from JinNing6/Noosphere
- 0.643score
Noosphere
JinNing6
Community of Consciousness MCP Server — upload and explore collective wisdom via GitHub.
ConnectorAFreshness: ALocal★ 18↓ 71/wkClaude Code +5 - 0.602score
agent-debug-memory
JinNing6
Use when debugging code, tests, builds, deployments, CI failures, runtime errors, framework issues, API migrations, or UI state bugs where a coding Agent…
SkillBFreshness: B★ 18Claude Code +9 - 0.602score
docker-git-bind-mount-push-debug
JinNing6
Diagnose and validate Git commit, fetch, and push failures when worktrees or bare remotes are bind-mounted into Docker, especially on Docker Desktop for…
SkillBFreshness: B★ 18Claude Code +9 - 0.602score
cloudflare-pages-stale-assets
JinNing6
Diagnose and fix Cloudflare Pages deployments where the live site still shows old CSS, JavaScript, native controls, untranslated text, or stale UI after a…
SkillBFreshness: B★ 18Claude Code +9 - 0.602score
codex-project-recency-sort-recovery
JinNing6
Diagnose and resolve codex project recency sort failures.
SkillBFreshness: B★ 18Claude Code +9 - 0.602score
debug-async-ui
JinNing6
Use when UI state or returned content disappears, flashes, rolls back, saves but loses state, menus fail intermittently, or real browser behavior differs from…
SkillBFreshness: B★ 18Claude Code +9 - 0.602score
binary-credential-format-boundary
JinNing6
Audit and repair readers for fixed-length binary credentials and their text encodings without mutating raw bytes.
SkillBFreshness: B★ 18Claude Code +9 - 0.602score
dynamic-shared-skills
JinNing6
Use when an engineering task may match a community-reviewed Noosphere workflow and the Agent should discover, verify, apply, update, or report the outcome of…
SkillBFreshness: B★ 18Claude Code +9 - 0.602score
fastapi-response-contract-boundary
JinNing6
Audit and fix FastAPI/Pydantic response contract failures and analytics metric drift.
SkillBFreshness: B★ 18Claude Code +9 - 0.602score
frontend-layering-specificity-debug
JinNing6
Diagnose and fix frontend controls whose typography or dimensions ignore component CSS, and React Three Fiber/Drei projected HTML labels that paint above…
SkillBFreshness: B★ 18Claude Code +9 - 0.602score
github-actions-public-ci-diagnostics
JinNing6
Diagnose GitHub Actions CI or release workflow failures when full logs are inaccessible, especially public repositories where REST job logs return 403, pytest…
SkillBFreshness: B★ 18Claude Code +9 - 0.602score
using-noosphere
JinNing6
Use automatically before diagnosing or fixing a concrete software failure.
SkillBFreshness: B★ 18Claude Code +9
Signals
- Stars
- 18
- Forks
- 3
- Open issues
- 23
- Last commit (this folder)
- Jul 15, 2026 (3 months ago)
- Last release
- Jul 29, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/JinNing6/Noosphere
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from JinNing6
- 0.643score
Noosphere
JinNing6
Community of Consciousness MCP Server — upload and explore collective wisdom via GitHub.
ConnectorAFreshness: ALocal★ 18↓ 71/wkClaude Code +5 - 0.602score
using-noosphere
JinNing6
Use automatically before diagnosing or fixing a concrete software failure.
SkillBFreshness: B★ 18Claude Code +9 - 0.602score
agent-debug-memory
JinNing6
Use when debugging code, tests, builds, deployments, CI failures, runtime errors, framework issues, API migrations, or UI state bugs where a coding Agent…
SkillBFreshness: B★ 18Claude Code +9 - 0.602score
binary-credential-format-boundary
JinNing6
Audit and repair readers for fixed-length binary credentials and their text encodings without mutating raw bytes.
SkillBFreshness: B★ 18Claude Code +9 - 0.602score
cloudflare-pages-stale-assets
JinNing6
Diagnose and fix Cloudflare Pages deployments where the live site still shows old CSS, JavaScript, native controls, untranslated text, or stale UI after a…
SkillBFreshness: B★ 18Claude Code +9 - 0.602score
codex-project-recency-sort-recovery
JinNing6
Diagnose and resolve codex project recency sort failures.
SkillBFreshness: B★ 18Claude Code +9
Cite this page
browser-actionability-debug skill. Agent Mart. https://agentmart.dev/skills/jinning6-browser-actionability-debug (last updated 2026-10-24)