Hook · UX Design Studio
A design check after interface edits
Checks recently edited interface files for design issues, inside a project that has explicitly turned scanning on.

When it steps in
After a supported file edit, it checks the changed interface files. When the turn ends, it scans any files still waiting in the queue.
Codex + Claude Code · Project opt-in
Enable and trust the plugin in Codex or Claude Code, install its separately supplied design runtime, then enable scanning for the project. An unmarked project is skipped.
What you can expect
The assistant receives up to eight findings to review. The hook does not fix source files or block the turn.
How the workflow unfolds
- 01
Collect changed files
After an edit, write, or patch, gathers the touched file paths, filtering out non-frontend, generated, dependency, and credential files.
- 02
Run a bounded scan
Scans up to 12 queued files, grouping edits that arrive close together.
- 03
Return findings
Returns findings to the assistant. At the end of the turn, it checks queued files once more and clears the queue.
You stay in control
Use the documented marker-only setup to enable or remove scanning for one project. Your AI app’s hook settings are separate. If you use the project-local fallback, do not register both methods for the same project.
Know the limits
The scan covers up to 12 selected files, not the whole project. It excludes unsuitable paths and skips repeated stop events. Findings are advisory: rendered visual review is still needed. The supplied scanning runtime currently supports Apple silicon Macs; the studio’s core skills do not require it.
Technical details and sources
Based on version 0.4.1. These declarations describe the package; they do not confirm that your AI app has enabled or run the hook.
Show events and release source files
- Codex
- PostToolUse · Edit|Write|apply_patch
- Codex
- Stop
- Claude Code
- PostToolUse · Edit|Write|apply_patch
- Claude Code
- Stop
- Codex registration
- Claude Code registration
- Implementation: design_runtime.py
- Implementation: cli.py
- Implementation: hooks.py
- Implementation: scope.py
- Implementation: hooks.json
- Setup documentation
The release’s Claude manifest references its Claude hooks file. A sentence in the runtime documentation says otherwise; the event list here follows the manifest.


