Write effective Joyride scripts and source files in ClojureScript. Covers VS Code API interop, async/promise handling, data-oriented functional design, REPL-driven development, disposable lifecycle, Flares (WebViews), and extension API access. Use when: writing or editing .cljs files for Joyride, automating VS Code, building interactive tools with the VS Code API, creating Flare WebViews, fixing or debugging Joyride scripts, troubleshooting async/promise issues, working with joyride.core or promesa.core, or doing REPL-driven ClojureScript development in VS Code. REPL: use joyride_evaluate_code, not the Backseat Driver clojure_evaluate_code — the Joyride REPL is a separate runtime.
Write idiomatic Babashka (bb) scripts and modules. Covers babashka.fs, babashka.process, babashka.cli, babashka.http-client, and built-in namespaces. Use when: writing bb scripts, creating or modifying a task, choosing between shell and process, replacing shell commands with Babashka built-ins, REPL-driven development, or editing .clj files in directories with bb.edn or scripts/ folders.
Write idiomatic bb.edn tasks: thin wrappers delegating to scripts/*.clj modules. Supports project-level bb and global bbg tasks. Use when: creating or modifying a bb/bbg task, editing bb.edn or scripts/*.clj files, structuring task modules, adding CLI argument parsing, resource lifecycle management, or agent-friendly output patterns.
**BROWSER TAMPERING SKILL** — Live tamper with web pages and write userscripts using Epupp (ClojureScript/Scittle in the browser). USE FOR: REPL-driven page inspection and modification, userscript development with manifests, DOM querying and mutation, injecting UI with Replicant/Reagent, async data fetching, troubleshooting Epupp connections. DO NOT USE FOR: Node.js or JVM ClojureScript, npm package usage, server-side scripting. INVOKES: clojure_evaluate_code, clojure_list_sessions, clojure_repl_output_log (Backseat Driver REPL tools), file system tools (read/write userscripts).
Organize and manage Joyride User scripts and source files — the global Joyride directory that applies across all VS Code workspaces. Covers directory structure (scripts/ vs src/), user_activate.cljs, deps.edn and package.json for dependencies, keybinding setup, clojure-lsp configuration, and classpath resolution. Use when: creating or editing files in the Joyride User directory, setting up user activation, adding global keybindings for Joyride functions, configuring user-level dependencies, or organizing user-scoped scripts and source.
Set up and manage Joyride workspace automation in the .joyride/ directory of a project. Covers workspace_activate.cljs, project-local scripts and source, workspace deps.edn and package.json, clojure-lsp configuration, and classpath precedence over user-level code. Use when: creating or editing files in a workspace .joyride/ directory, setting up workspace activation, adding project-specific Joyride automation, configuring workspace-level dependencies, or deciding between workspace and user scope.
**EDITING SKILL** — Create, edit, and style presentation slides for the next-slide system (VS Code markdown preview + CSS + EDN config). USE FOR: creating new slides, editing existing slides, adding slides to a deck, styling slide layouts, extending presentation CSS, choosing slide patterns, fixing slide layout issues. DO NOT USE FOR: slide navigation/runtime (that is next_slide.cljs), audio/narration generation, general markdown editing unrelated to presentations. INVOKES: file system tools (read/write slides, CSS, slides.edn), search tools (discover workspace image paths and existing slide patterns).