Joker Lint Skill
/plugin marketplace add plurigrid/asi/plugin install asi-skills@asi-skillsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
README.md"Fast Clojure linting in Go. No JVM. Instant feedback."
Joker Lint uses the Joker interpreter (Clojure in Go) for fast static analysis and linting. Sub-second startup, no JVM required.
| Aspect | Value |
|---|---|
| Trit | -1 (MINUS) |
| Role | VALIDATOR |
| Function | Validates Clojure code style and correctness |
# macOS
brew install candid82/brew/joker
# From source
go install github.com/candid82/joker@latest
# Lint a file
joker --lint src/core.clj
# Lint with specific rules
joker --lint --working-dir . src/**/*.clj
# Format check
joker --format src/core.clj
# REPL mode
joker
;; .joker configuration
{:rules {:no-unused-fn true
:no-unused-bindings true
:no-private-access true
:no-redeclare true
:if-without-else :warning}}
;; Use both for comprehensive linting
(defn lint-project []
(let [joker-results (joker-lint "src/")
kondo-results (clj-kondo-lint "src/")]
{:joker joker-results
:kondo kondo-results
:total-issues (+ (count joker-results)
(count kondo-results))}))
;; Linting as validation (-1)
;; Code generation as (+1)
;; Formatting as coordination (0)
(def lint-triad
{:generator {:tool "cursive-gen" :trit +1}
:coordinator {:tool "cljfmt" :trit 0}
:validator {:tool "joker-lint" :trit -1}})
(defn balanced-code-flow [code]
(-> code
(generate) ; +1
(format-code) ; 0
(lint))) ; -1
;; Σ = +1 + 0 + (-1) = 0 ✓
#!/usr/bin/env bb
(require '[babashka.process :refer [shell]])
(defn joker-lint [path]
(let [result (shell {:out :string :err :string :continue true}
"joker" "--lint" path)]
{:exit (:exit result)
:issues (parse-lint-output (:out result))
:trit -1})) ; Validation role
(defn lint-and-report [paths]
(->> paths
(map joker-lint)
(mapcat :issues)
(group-by :severity)))
| Tool | Startup | 1000 lines |
|---|---|---|
| Joker | 10ms | 50ms |
| clj-kondo | 100ms | 200ms |
| Eastwood | 5s | 10s |
joker-lint (-1) ⊗ cljfmt (0) ⊗ cursive-gen (+1) = 0 ✓
joker-lint (-1) ⊗ babashka-clj (0) ⊗ clojure (+1) = 0 ✓
joker-lint (-1) ⊗ clj-kondo-3color (0) ⊗ squint-runtime (+1) = 0 ✓
Skill Name: joker-lint Type: Static Analysis / Linting Trit: -1 (MINUS - VALIDATOR) GF(3): Validates Clojure code correctness
This skill connects to the K-Dense-AI/claude-scientific-skills ecosystem:
general: 734 citations in bib.duckdbThis skill maps to Cat# = Comod(P) as a bicomodule in the Prof home:
Trit: 0 (ERGODIC)
Home: Prof (profunctors/bimodules)
Poly Op: ⊗ (parallel composition)
Kan Role: Adj (adjunction bridge)
The skill participates in triads where:
(-1) + (0) + (+1) ≡ 0 (mod 3)
This ensures compositional coherence in the Cat# equipment structure.