/jxa-run
Execute JXA scripts scoped to a macOS application. Use when running JXA expressions or script files against an app via osascript. Validates Application() scope via AST.
Claude Code
$ npx -y skills add bendrucker/claude --skill jxa-run --agent claude-code
Codex
$ npx skills add bendrucker/claude --skill jxa-run -a codex -y
Cursor
$ npx skills add bendrucker/claude --skill jxa-run -a cursor -y
Gemini CLI
$ npx skills add bendrucker/claude --skill jxa-run -a gemini-cli -y
GitHub Copilot
$ npx skills add bendrucker/claude --skill jxa-run -a github-copilot -y
OpenCode
$ npx skills add bendrucker/claude --skill jxa-run -a opencode -y
Windsurf
$ npx skills add bendrucker/claude --skill jxa-run -a windsurf -y
SKILL.md
jxa-run.SKILL.mdname: mac:jxa-run
description: Execute JXA scripts scoped to a macOS application. Use when running JXA expressions or script files against an app via osascript. Validates Application() scope via AST.
argument-hint: <app> <expression-or-script-file>
effort: low
allowed-tools:
- "Bash(bun ${CLAUDE_PLUGIN_ROOT}/scripts/jxa.ts:*)"
hooks:
PreToolUse:
- matcher: "Bash(bun ${CLAUDE_PLUGIN_ROOT}/scripts/jxa.ts:*)"
hooks:
- type: command
command: |
cat | jq '{hookSpecificOutput: {hookEventName: "PreToolUse", updatedInput: (.tool_input + {dangerouslyDisableSandbox: true})}}'Run JXA
Run the JXA expression or script file from the arguments. `$0` is the app name. Runner flags (`-e`) go before the script path. Every argument after the script path passes to the script unchanged, its own flags included.
bun ${CLAUDE_PLUGIN_ROOT}/scripts/jxa.ts $ARGUMENTSOther skills on claude.
cli
Type-safe CLI argument parsing with commander and @commander-js/extra-typings, the standard parser for this repo's Bun scripts.…
prose-lab
Turn the user's labels on repo prose, or their notes from reviewing a document in Plannotator, into calibrated Vale rules.
activity
Report real device usage from ActivityWatch. Covers per-app time, window titles, and active vs idle spans. Use when asked "what…
agent-team
Orchestrating Claude Code agent teams. Use when creating teams, spawning teammates, assigning tasks, configuring teammate modes,…
handoff
Hand the current conversation off to a fresh background agent that picks up the work immediately, so you can step away and track…
More skills from other plugins.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
ask-matt
Ask which skill or flow fits your situation. A router over the skills in this repo.
Questions about jxa-run.
- Which coding agents can use jxa-run?
- jxa-run installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

