axorcist-patterns

Traverse AX UI trees with visitor-based traversal and container pruning.

1|Updated Mar 15, 2026
One-click install
npx skills add https://github.com/hafley66/claude-research --skill axorcist-patterns
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: axorcist-patterns
Source: https://github.com/hafley66/claude-research/tree/main/skills/axorcist-patterns
Command: npx skills add https://github.com/hafley66/claude-research --skill axorcist-patterns

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

AXorcist-patterns provide reusable strategies for efficient accessibility tree traversal, reducing unnecessary work and enabling scalable AX queries.

Core Features & Use Cases

  • Visitor-based traversal with controlled flow (continue/skip/stop)
  • Container-role pruning to limit deep scans
  • Path-based navigation and timeout policies for robust searches
  • Ports to Rust via accessibility-sys with equivalent patterns

Quick Start

Use this pattern to wire a simple AX tree traversal that prunes non-container nodes and respects per-element timeouts.

Frequently Asked Questions about axorcist-patterns

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement efficient AX tree traversal for accessibility queries?

Efficient AX tree traversal uses a visitor-based pattern to locate accessibility elements while applying container-role pruning to limit deep scans and reduce unnecessary work. This enables scalable, performance-tuned accessibility queries.

What is the visitor pattern for accessibility tree exploration?

The visitor pattern for accessibility tree exploration provides controlled flow using continue, skip, or stop commands during traversal. It allows modular navigation through AX UI trees without deeply scanning non-container nodes.

How do I prevent infinite loops during UI tree traversal?

Prevent infinite loops during UI tree traversal by applying cycle detection mechanisms alongside per-element timeouts and global deadlines. These timeout policies ensure safe, scalable exploration of accessibility trees.

Can I use these accessibility traversal patterns in Rust tooling?

Yes, these accessibility traversal patterns port to Rust via accessibility-sys with equivalent logic. The Rust translation maintains the same visitor-based traversal, container pruning, and timeout policies as the Swift implementation.

How do I prune non-container nodes in an accessibility tree scan?

Prune non-container nodes in an accessibility tree scan by applying container-role pruning rules within your traversal logic. This limits deep scans and significantly reduces unnecessary work during AX queries.