Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add plurigrid/asi --skill clj-kondo-3colorgit clone --depth 1 https://github.com/plurigrid/asiWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/plurigrid/asi/clj-kondo-3color)<a href="https://agentmods.dev/skills/plurigrid/asi/clj-kondo-3color"><img src="https://agentmods.dev/badge/skills/plurigrid/asi/clj-kondo-3color/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/plurigrid/asi/clj-kondo-3color"><img src="https://agentmods.dev/badge/skills/plurigrid/asi/clj-kondo-3color.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00035 | $0.01931 |
| Opus 5 | $0.00017 | $0.00966 |
| Sonnet 5 | $0.00007 | $0.00386 |
| Haiku 4.5 | $0.00003 | $0.00193 |
Grade A, and why
clj-kondo-3color scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 205 lines — stays where its author put it; the contents beside it link to each section on GitHub.
clj-kondo 3-Color Integration
"A linter for Clojure code that sparks joy — now with deterministic color-coded diagnostics."
Overview
clj-kondo is a static analyzer and linter for Clojure. This skill integrates Gay.jl's 3-color streams for:
- Diagnostic classification via GF(3) trit assignment
- Parallel linting with SPI-compliant color forking
- Visual feedback with deterministic color palettes
- Plurigrid/ASI alignment for safety-aware linting
Diagnostic Trit Mapping
| Trit | Level | Color Range | clj-kondo Level |
|---|---|---|---|
| -1 | MINUS | Cold (blue) | :error |
| 0 | ERGODIC | Neutral (green) | :warning |
| +1 | PLUS | Warm (red) | :info |
GF(3) Conservation: For any 3 consecutive diagnostics:
trit(d₁) + trit(d₂) + trit(d₃) ≡ 0 (mod 3)
Configuration
.clj-kondo/config.edn
{:linters
{:unresolved-symbol {:level :error}
:unused-binding {:level :warning}
:type-mismatch {:level :error}}
;; Gay.jl color integration
:gay-colors
{:enabled true
:seed 0x42D
:trit-mapping {:error -1, :warning 0, :info 1}
:conservation :strict}}
Plurigrid/ASI Safety Hooks
;; .clj-kondo/hooks/gay_safety.clj
(ns hooks.gay-safety
(:require [clj-kondo.hooks-api :as api]))
(defn check-gf3-conservation
"Verify GF(3) conservation across findings."
[{:keys [findings]}]
(let [trits (map #(case (:level %)
:error -1
:warning 0
:info 1) findings)
sum (reduce + 0 trits)]
(when-not (zero? (mod sum 3))
(api/reg-finding!
{:message "GF(3) conservation violated"
:type :gay-conservation
:level :warning}))))
Integration with SplitMixTernary
(ns music-topos.clj-kondo-gay
(:require [clj-kondo.core :as clj-kondo]))
(def GOLDEN 0x9E3779B97F4A7C15)
(def MIX1 0xBF58476D1CE4E5B9)
(def MIX2 0x94D049BB133111EB)
(def MASK64 0xFFFFFFFFFFFFFFFF)
(defn splitmix64 [state]
(let [s (bit-and (+ state GOLDEN) MASK64)
z (bit-and (* (bit-xor s (unsigned-bit-shift-right s 30)) MIX1) MASK64)
z (bit-and (* (bit-xor z (unsigned-bit-shift-right z 27)) MIX2) MASK64)]
{:state s :value (bit-xor z (unsigned-bit-shift-right z 31))}))
(defn color-at [seed idx]
(loop [s seed i idx]
(if (zero? i)
(let [{:keys [value]} (splitmix64 s)]
{:L (+ 10 (* 85 (/ (double (bit-and value 0xff)) 255)))
:C (* 100 (/ (double (bit-and (unsigned-bit-shift-right value 8) 0xff)) 255))
:H (* 360 (/ (double (bit-and (unsigned-bit-shift-right value 16) 0xffff)) 65535))})
(recur (:state (splitmix64 s)) (dec i)))))
(defn color-finding [seed finding idx]
(let [color (color-at seed idx)
trit (case (:level finding) :error -1 :warning 0 :info 1)]
(assoc finding
:gay-color color
:gay-trit trit
:gay-hex (lch-to-hex (:L color) (:C color) (:H color)))))
(defn lint-with-colors [paths seed]
(let [result (clj-kondo/run! {:lint paths})
findings (:findings result)]
(assoc result
:findings (map-indexed (fn [i f] (color-finding seed f i)) findings)
:gf3-sum (reduce + 0 (map :gay-trit findings)))))
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 205 lines · 35 tokens per session scan A 7d337ba8b562
clj-kondo-3color is a skill published in the GitHub repository plurigrid/asi (62 stars, last pushed 2mo ago), licensed MIT. It adds 35 tokens to every session and 1,931 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-01.
Other skills, from other repositories
dotnet-reverse
A guide for analyzing compiled .NET and C# programs, including managed Windows executables and libraries. Reverse engineering means studying compiled software to understand how it works, and decompiling turns it back into readable approximate source code.
check-bin-obj-clash
Detects MSBuild projects with conflicting OutputPath or IntermediateOutputPath. USE FOR: builds failing with 'Cannot create a file when that file already exists', 'The process cannot access the file because it is being used by another process', intermittent build failures that succeed on retry, or missing/overwritten…
dart-run-static-analysis
Execute dart analyze to identify warnings and errors, and use dart fix --apply to automatically resolve mechanical lint issues. Use during development to ensure code quality and before committing changes.
hotpath_init
Configure hotpath profiling in a Rust project. Adds the hotpath dependency with feature-gated setup, instruments main with hotpath::main, functions with measure/measureall, and wraps channels, mutexes, rwlocks, streams, futures, reqwest clients, axum routers and byte-level I/O with hotpath macros. Use when the user…
agents-sdk-dotnet-debugging
Use when troubleshooting an agent built with the Microsoft Agents SDK (Microsoft.Agents.Hosting.AspNetCore and related packages) in C# / .NET. Trigger on any of these symptoms: build or C# compile errors, crashes on startup, 401 or auth errors on incoming requests, the bot not responding to messages, appsettings.json…
golang-error-handling
Idiomatic Golang error handling — creation, wrapping with %w, errors.Is/As, errors.Join, custom error types, sentinel errors, panic/recover, the single handling rule, structured logging with slog, HTTP request logging middleware, and samber/oops for production errors. Built to make logs usable at scale with log…