Skip to content

a11y-vo-log: VoiceOver speech-logging plugin#7

Merged
zoskar merged 6 commits into
mainfrom
feature/a11y-vo-log-plugin
Jul 13, 2026
Merged

a11y-vo-log: VoiceOver speech-logging plugin#7
zoskar merged 6 commits into
mainfrom
feature/a11y-vo-log-plugin

Conversation

@zoskar

@zoskar zoskar commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

tldr: skill to put VoiceOver sound cues + pressed VO navigation combinations to terminal (self installed keylogger lmao).
Useful to report real a11y issues for AI to fix (easier than describing it naturally/via video. Also AI is terrible when it comes to predicting VO behavior).

🤖

New plugin `a11y-vo-log`: capture a timestamped transcript of everything VoiceOver speaks (and each keyboard nav gesture, via Karabiner) during a manual screen-reader session on macOS. This helps to provide a very deterministic bug description to AI for it to fix 

One-time setup lives in the plugin README (not the skill body, so it never loads into context). The skill body is orchestration + the announcement-diagnosis table. `vo_log.sh` auto-starts VoiceOver if it's off; `start_log_terminal.sh` opens a single Terminal window.
edited_output.mp4

🤖 Generated with Claude Code

zoskar added 3 commits July 10, 2026 19:00
Capture a timestamped transcript of everything VoiceOver speaks (and each
keyboard nav gesture, via Karabiner) during a manual screen-reader session on
macOS, then diagnose it into an accessibility bug report via /a11y-log.

One-time machine setup (VoiceOver AppleScript control, Automation permission,
Karabiner gesture rules) lives in the plugin README, not in the skill body, so
it never loads into context on invocation. The skill body is orchestration plus
the announcement-diagnosis table. The Karabiner rules ship with a placeholder
path stamped to a stable copy of vo_gesture.sh during setup, so plugin version
bumps (versioned install path) don't break gesture logging.
Rename the plugin and both skills a11y-log -> a11y-vo-log (dirs, manifest,
marketplace entry, and root README) so the name says VoiceOver up front.

Note in the Karabiner section that Claude can run the (shell-only) setup for you
if you trust it; drop the Data-handling note and Related plugins sections.
vo_log.sh now launches VoiceOver itself when it's off (open -a VoiceOver, wait
for the process), instead of erroring out with 'turn it on first'. The poller's
per-query pgrep guard is unchanged, so turning VO off at the end still keeps it
off. VO_NO_AUTOSTART=1 restores the manual flow.

start_log_terminal.sh: when Terminal.app isn't running yet, launching it already
opens one window, so run the logger 'in window 1' instead of letting do script
open a second window.
@zoskar zoskar self-assigned this Jul 10, 2026
@zoskar

zoskar commented Jul 10, 2026

Copy link
Copy Markdown
Contributor Author

cc @JanGarstecki

@zoskar zoskar requested review from papeye and wzslr321 July 10, 2026 17:59
@zoskar zoskar marked this pull request as ready for review July 10, 2026 18:15
zoskar added 2 commits July 10, 2026 20:27
New plugins ship a CHANGELOG per the lean-contribute conventions.
a11y-audit isn't part of this repo, so remove the companion-skill mentions from
the workflow skill, usage skill, README, and CHANGELOG.
Comment thread .claude-plugin/marketplace.json Outdated
Comment thread plugins/a11y-vo-log/README.md Outdated
Comment thread plugins/lean-a11y-vo-log/README.md
Comment thread plugins/a11y-vo-log/skills/a11y-vo-log/scripts/vo_log.sh Outdated
Comment thread plugins/a11y-vo-log/skills/a11y-vo-log/scripts/vo_log.sh Outdated
- Rename plugin and skills a11y-vo-log -> lean-a11y-vo-log (reviewer asked to
  align with the marketplace naming scheme; used the general lean- prefix since
  VoiceOver logging isn't a Flutter vertical). Trigger is now /lean-a11y-vo-log.
- Trim the header/inline comments across vo_log.sh, start_log_terminal.sh and
  vo_gesture.sh to the non-obvious 'why' only.
- Usage skill: list Karabiner-Elements as an explicit dependency for GESTURE lines.
- README: clarify the Automation grant targets whatever app hosts Claude (the
  logger window is always Terminal.app).
@zoskar zoskar requested a review from wzslr321 July 13, 2026 09:11

@wzslr321 wzslr321 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀

@zoskar zoskar merged commit 0de372c into main Jul 13, 2026
3 checks passed
wzslr321 added a commit that referenced this pull request Jul 13, 2026
Revert "a11y-vo-log: VoiceOver speech-logging plugin" (#7)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants