Skip to main content
Glama

audit_rn

Read-onlyIdempotent

Audit React Native/Expo source against iOS HIG and Android Material conventions, flagging accessibility gaps, small touch targets, font scaling issues, and missing dark-mode handling to ensure platform compliance.

Instructions

Audit React Native / Expo source (JSX/TSX + StyleSheet) against the iOS HIG + Android Material conventions RN must satisfy. Flags touchables missing accessibilityLabel/accessibilityRole, touchables below 44pt without hitSlop, allowFontScaling={false}, fontSize below ~13, screens without SafeAreaView, and (for multi-mode apps) hardcoded colors with no useColorScheme/Appearance dark-mode handling. Rewards SafeAreaView, hitSlop, Platform-aware code, and a theme. RN-native checks only — no web/CSS or SwiftUI rules. Same return shape as audit_page. (RN renders to native widgets, so audit_ios_screen scores the rendered screen.)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sourceYesReact Native source — a single screen/component as a string, or an array of file contents. Concatenated before analysis.
strictNoStrict mode — also count warnings as failures for grading. Default: false
profileNoTaste profile owning the binding. Omit to search all stored profiles for one bound to the project.
projectNoProject identifier — resolves a saved taste surface binding (see bind_taste_surface). When the binding carries design_notes, each note is verified against the source (Animated/Reanimated, BlurView, haptics, fonts) and returned in note_assessments; missing notes count toward the grade.
color_schemeNoThe app's declared appearance (Expo app.json userInterfaceStyle). 'light' or 'dark' means single-mode by design — the dark-mode adaptation check is then suppressed. Default: automatic.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.2.9

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the already-declared read-only and idempotent annotations, the description discloses exactly what the audit flags and rewards, including dark-mode handling being conditional on multi-mode apps. This gives an agent a reliable model of the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but efficient: purpose first, then check list, then boundaries, then return expectation. Every sentence earns its place, and the longest sentence is a useful enumeration rather than filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With rich parameter schema, annotations covering safety, and no output schema, the description still ties the return behavior to an existing shape: 'Same return shape as audit_page.' It also gives enough audit-criterion detail and boundary context for real selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, so each of the 5 parameters already documents its meaning, defaults, and effects. The main description doesn't repeat or deeply expand individual parameter semantics, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource: 'Audit React Native / Expo source against iOS HIG + Android Material conventions' and immediately lists concrete checks like missing accessibilityLabel, insufficient hitSlop, and allowFontScaling. It also clearly differentiates itself with 'RN-native checks only — no web/CSS or SwiftUI rules.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a clear scope boundary ('RN-native checks only') and an explicit way out for rendered screens: 'RN renders to native widgets, so audit_ios_screen scores the rendered screen.' It does not fully spell out alternatives for CSS/SwiftUI or when audit_page would be a preferred choice, but the context is easy for an agent to follow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools