ies/music-topos/.claude-marketplaces/topos-skills/plugins/topos-skills/skills/borkdude/SKILL.md
Guidance for selecting the right ClojureScript runtime across scripting, browser, Node, and embedded use.
npx skillsauth add plurigrid/asi borkdudeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Status: ✅ Production Ready Trit: 0 (ERGODIC - runtime neutral) Principle: Right tool for context Author: Michiel Borkent (@borkdude)
Borkdude provides guidance for selecting the appropriate ClojureScript runtime based on execution context. Named after Michiel Borkent, creator of Babashka, SCI, Cherry, Squint, and other Clojure tools.
| Runtime | Context | JVM | Node | Browser | REPL | |---------|---------|-----|------|---------|------| | Babashka | Scripting | ✗ | ✗ | ✗ | ✓ | | SCI | Embedded | ✓ | ✓ | ✓ | ✓ | | Cherry | Compiler | ✗ | ✓ | ✓ | ✓ | | Squint | Compiler | ✗ | ✓ | ✓ | ✓ | | Scittle | Browser | ✗ | ✗ | ✓ | ✓ | | nbb | Node | ✗ | ✓ | ✗ | ✓ |
Start
│
├── Need fast startup? ─────────► Babashka (bb)
│
├── Browser target?
│ ├── Minimal bundle? ──────► Squint
│ ├── Full ClojureScript? ──► Cherry
│ └── Script tag? ──────────► Scittle
│
├── Node scripting? ────────────► nbb
│
└── Embedded interpreter? ──────► SCI
# Babashka (scripting)
bb script.clj
# nbb (Node)
npx nbb script.cljs
# Squint (compile to JS)
npx squint compile src/main.cljs
# Cherry (compile with macros)
npx cherry compile src/main.cljs
# Scittle (browser)
# <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/scittle.js"></script>
Embedded interpreter for sandboxed evaluation:
(require '[sci.core :as sci])
(def ctx (sci/init {:namespaces {'user {'foo (fn [] "bar")}}}))
(sci/eval-string* ctx "(user/foo)")
;; => "bar"
| Feature | Cherry | Squint | |---------|--------|--------| | ClojureScript compat | High | Medium | | Bundle size | Larger | Smaller | | Macros | Full support | Limited | | Interop | CLJS-style | JS-native | | Target audience | CLJS developers | JS developers |
Extend Babashka with pods:
(require '[babashka.pods :as pods])
(pods/load-pod 'org.babashka/go-sqlite3 "0.1.0")
(require '[pod.babashka.go-sqlite3 :as sqlite])
(sqlite/execute! "test.db" ["CREATE TABLE users (id INTEGER PRIMARY KEY)"])
;; Use Babashka for scripts
(ns ruler.propagate
(:require [babashka.fs :as fs]))
;; Use SCI for embedded color evaluation
(def color-ctx
(sci/init {:namespaces
{'gay {'color-at (fn [idx] (gay/color-at idx))}}}))
#!/usr/bin/env bb
;; .ruler/propagate.clj
(require '[babashka.fs :as fs]
'[clojure.string :as str])
(defn propagate-skill! [skill-name]
(let [source (str ".ruler/skills/" skill-name "/SKILL.md")
content (slurp source)]
(doseq [agent ["codex" "claude" "cursor"]]
(let [target (str "." agent "/skills/" skill-name "/SKILL.md")]
(fs/create-dirs (fs/parent target))
(spit target content)))))
(propagate-skill! "unworld")
Skill Name: borkdude Type: Runtime Selection / ClojureScript Tooling Trit: 0 (ERGODIC) Runtimes: Babashka, SCI, Cherry, Squint, Scittle, nbb
development
BDD-Driven Mathematical Content Verification Skill Combines Behavior-Driven Development with mathematical formula extraction, verification, and transformation using: - Cucumber/Gherkin for specification - RSpec for implementation verification - mathpix-gem for LaTeX/mathematical content extraction - Pattern matching on syntax trees for formula validation Enables iterative discovery and verification of mathematical properties through executable specifications.
tools
Meta-skill that generates domain-specific AI skills from tool documentation
development
Code Query with AI-enhanced deterministic analysis via SplitMix ternary classification
development
Directed Yoneda lemma as directed path induction. Riehl-Shulman's key insight for synthetic ∞-categories.