interactive-element-audit
Skill4 starsChanged 2 months agoMITView on GitHub
Scan all interactive elements for missing handlers, broken links, and unconnected state changes. Use when buttons without actions, orphaned interactive elements, dead links, form without submit, or incomplete interactions.
In this repository46 other files it gives its agents.
- accessibility-reviewSkill
- accessibility-runtime-auditSkill
- adaptive-component-behaviorSkill
- ai-feature-ux-patternsSkill
- behavioral-pricing-psychologySkill
- business-model-readingSkill
- business-model-thinkingSkill
- cognitive-load-heatmap-predictionSkill
- component-style-guideSkill
- cross-functional-reviewSkill
- dark-mode-theming-systemSkill
- dashboard-layout-patternsSkill
- dashboard-scaffolding-contractSkill
- design-drift-detectorSkill
- design-system-builderSkill
- design-to-code-handoffSkill
- design-tokensSkill
- error-boundary-resilience-designSkill
- flow-based-functional-testingSkill
- growth-impact-reviewSkill
- i18n-localization-strategySkill
- information-architectureSkill
- kinematic-motion-choreographySkill
- micro-interaction-motion-designSkill
- module-registry-syncSkill
- mvp-scopingSkill
- perceived-performance-loadingSkill
- prd-traceability-matrixSkill
- product-discoverySkill
- product-strategySkill
- project-health-diagnosticsSkill
- qa-feedback-loop-orchestratorSkill
- responsive-breakpoint-strategySkill
- responsive-qa-auditSkill
- route-integrity-checkerSkill
- security-privacy-reviewSkill
- stakeholder-requirement-mappingSkill
- touch-gesture-interactionSkill
- typography-systemSkill
- usability-heuristics-checkSkill
- user-flow-mappingSkill
- user-research-synthesisSkill
- ux-chaos-monkeySkill
- visual-hierarchy-reviewSkill
- visual-responsive-regression-testingSkill
- visual-style-extractorSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 3 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 56
Every interactive element enumerated
- Distinctive: line 57
Every element classified as: functional / orphaned / intentionally-disabled
- Distinctive: line 58
Every orphaned element linked to a PRD requirement
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Every interactive element is a promise to the user. A button that does nothing breaks trust. An audit that only checks if buttons exist — but not if they work — is not an audit.
1. Enumerate all interactive elements
Systematically collect every element that a user can interact with across the application:
- Buttons (submit, CTA, icon buttons, toggle buttons)
- Links and anchor tags (internal routes, external URLs)
- Form inputs (text, select, checkbox, radio, file upload)
- Form submit controls
- Toggle controls (switch, accordion, tab, collapse)
- Drag handles, resize handles
- Keyboard-navigable elements (anything with
tabindex)
2. Classify each element's required behavior
For each element, define what MUST happen upon interaction:
- Button: what action fires on click/tap?
- Link: what route/URL does it navigate to?
- Form: what happens on submit? Where does data go?
- Toggle: what state changes occur and what persists?
3. Detect orphaned elements
Identify elements that fail to fulfill their promise. An element is "orphaned" if:
- Button has no
onClick/ event handler attached - Link has
href="#"orhref=""or missinghref - Form has no
onSubmitoraction - Toggle changes visual state but does not update application state
Note: Intentionally disabled vs actually broken. An element is NOT orphaned if it is disabled by explicit logic (e.g., disabled attribute with a condition). Check for the presence of a disable condition before flagging.
4. Cross-reference with PRD traceability matrix
For each orphaned element, look up which PRD requirement it should satisfy. Report context precisely: "Button 'X' on page 'Y' has no handler. PRD requirement US-014 requires this button to trigger export."
5. Generate the audit report
For each orphaned element, document:
- Element type and identifier (label, ID, or selector)
- Location (page, route, component)
- Expected behavior (from PRD or design spec)
- PRD requirement ID (from prd-traceability-matrix)
- Recommended fix
6. Generate a Playwright test scaffold
Output an automated test file that verifies the expected behavior of all interactive elements.
// Playwright scaffold for interactive element audit
// Run: npx playwright test element-audit.spec.jsThe scaffold must programmatically click every enumerated button and assert that something changes (URL, DOM content, or network request). Forms must be filled and submitted. Links must navigate.
Completion Criteria
- Every interactive element enumerated
- Every element classified as: functional / orphaned / intentionally-disabled
- Every orphaned element linked to a PRD requirement
- Playwright scaffold generated and runnable
- Zero orphaned elements remaining (or explicitly deferred with justification)
Output
- Interactive element audit report document
- Playwright test scaffold (
element-audit.spec.js)
Anti-patterns
- Auditing only buttons and missing links, forms, toggles
- Flagging disabled elements as orphaned without checking if the disabled state is conditional
- Reporting orphaned elements without linking them to PRD requirements
- Running the audit only once at the end — it must run after every new page/component is added
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

