npx claudepluginhub plurigrid/asi --plugin asiThis skill uses the workspace's default tool permissions.
Integrates the Haskell [diagrams](https://hackage.haskell.org/package/diagrams) embedded domain-specific language for creating declarative vector graphics. Used for:
Generates random recursive string diagrams with white trapezoid primitives, composition (∘), tensors (⊗), traces (↺), and GF(3) trit coloring ensuring conservation; renders ASCII or DisCoPy.
Create R-based pictogram glyphs for skill, agent, or team icons in the visualization layer. Covers concept sketching, ggplot2 layer composition using the primitives library, color strategy, registration in the appropriate glyph mapping file and manifest, rendering via the build pipeline, and visual verification of the neon-glow output. Use when a new entity has been added and needs a visual icon for the force-graph visualization, an existing glyph needs replacement, or when batch-creating glyphs for a new domain.
Generates Graphviz DOT files and configurations for diagrams, charts, and visualizations. Provides step-by-step guidance, best practices, validation, and production-ready code. Activates on graphviz-related queries.
Share bugs, ideas, or general feedback.
Integrates the Haskell diagrams embedded domain-specific language for creating declarative vector graphics. Used for:
Trit: +1 (PLUS) - Generates vector graphics artifacts
-- Diagrams is a monoid: composition via <>
diagram :: Diagram B
diagram = shape1 <> shape2 `atop` shape3
-- Transformation pipeline
transform :: Diagram B -> Diagram B
transform = scale 2 . rotate (45 @@ deg) . fc red
| Predicate | Description | GF(3) Role |
|---|---|---|
DiagramValid(d) | Diagram is well-formed | Structure |
ColorConserved(ds) | Σ trits = 0 across diagrams | Conservation |
PathEquivalent(p1,p2) | Visual fingerprints match | Equivalence |
GoldenAngle(θ) | θ ≈ 137.508° | Dispersion |
┌────────────────────────────────────────────────────────────────┐
│ Haskell Diagrams Pipeline │
├────────────────────────────────────────────────────────────────┤
│ │
│ Source (.hs) Diagram B Output │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌──────────┐ ┌───────────────────┐ ┌─────────────┐ │
│ │ DSL Code │───▶│ Monoid Compose │───▶│ SVG / PNG │ │
│ │ shapes, │ │ atop, beside, │ │ PDF / PS │ │
│ │ colors │ │ vsep, hsep │ │ Canvas │ │
│ └──────────┘ └───────────────────┘ └─────────────┘ │
│ │
│ Backends: -fsvg (default), -fcairo, -frasterific, -fcanvas │
│ │
└────────────────────────────────────────────────────────────────┘
# Diagrams Generation Bundle
three-match (-1) ⊗ haskell-diagrams (0) ⊗ gay-mcp (+1) = 0 ✓ [Core Diagrams]
temporal-coalgebra (-1) ⊗ haskell-diagrams (0) ⊗ topos-generate (+1) = 0 ✓ [Animation]
sheaf-cohomology (-1) ⊗ haskell-diagrams (0) ⊗ rubato-composer (+1) = 0 ✓ [Music Notation]
persistent-homology (-1) ⊗ haskell-diagrams (0) ⊗ gay-mcp (+1) = 0 ✓ [TDA Viz]
# Install with SVG backend (default)
cabal update && cabal install --lib diagrams diagrams-svg diagrams-contrib
# With cairo backend for PNG/PDF
cabal install gtk2hs-buildtools
cabal install --lib -fcairo diagrams
# With rasterific for Haskell-native PNG
cabal install --lib -frasterific diagrams
import Diagrams.Prelude
-- Basic shapes
circle 1 :: Diagram B
square 2 :: Diagram B
rect 3 4 :: Diagram B
triangle 1 :: Diagram B
pentagon 1 :: Diagram B
-- Paths and trails
fromVertices [p2 (0,0), p2 (1,1), p2 (2,0)]
arc (0 @@ deg) (90 @@ deg)
-- Monoid: overlay at origin
d1 <> d2
-- Explicit overlay
d1 `atop` d2
-- Spatial arrangement
d1 ||| d2 -- beside horizontally
d1 === d2 -- beside vertically
hcat [d1, d2, d3] -- horizontal list
vcat [d1, d2, d3] -- vertical list
hsep 0.5 [d1, d2] -- with spacing
vsep 0.5 [d1, d2]
-- Fill and stroke
diagram # fc red -- fill color
diagram # lc blue -- line color
diagram # lw thick -- line width
diagram # opacity 0.5
-- Transforms
diagram # scale 2
diagram # rotate (45 @@ deg)
diagram # translate (r2 (1, 2))
import Data.Colour.SRGB (sRGB24read)
-- Golden thread colors (seed 1069)
goldenThreadColors :: [Colour Double]
goldenThreadColors = map sRGB24read
[ "#DD3C3C", "#3CDD6B", "#9A3CDD" -- steps 1-3
, "#DDC93C", "#3CC2DD", "#DD3C93" -- steps 4-6
, "#64DD3C", "#433CDD", "#DD723C" -- steps 7-9
]
-- GF(3) trit colors
tritColor :: Trit -> Colour Double
tritColor Minus = sRGB24read "#2626D8" -- Blue (validator)
tritColor Zero = sRGB24read "#26D826" -- Green (coordinator)
tritColor Plus = sRGB24read "#D82626" -- Red (generator)
-- Cell state visualization
data CellState = Empty | Vortex | Antivortex | Path0 | Path1 | Path2
cell :: CellState -> Diagram B
cell Empty = square 1 # fc white # lw thin
cell Vortex = circle 0.35 # fc vortexColor <> square 1 # lw thin
cell Antivortex = circle 0.35 # fc antivortexColor <> square 1 # lw thin
cell Path0 = square 0.6 # fc path0Color <> square 1 # lw thin
cell Path1 = square 0.6 # fc path1Color <> square 1 # lw thin
cell Path2 = circle 0.3 # fc path2Color <> square 1 # lw thin
-- 8x8 lattice grid
latticeGrid :: [[CellState]] -> Diagram B
latticeGrid rows = vcat $ map (hcat . map cell) rows
-- Main diagram with legend
tsillersonDiagram :: Diagram B
tsillersonDiagram = vsep 0.5
[ titleBlock
, hsep 1 [latticeGrid initialLattice, legend]
, goldenThreadBar
] # bg white # frame 0.5
import Diagrams.Backend.Cairo.CmdLine
import Diagrams.Animation
-- Animated diagram (t ∈ [0, 1])
spinningSquare :: Animation B V2 Double
spinningSquare = animEnvelope $ \t ->
square 1 # rotate (t * 360 @@ deg) # fc (blend t red blue)
-- Render as GIF
main = mainWith spinningSquare
just diagrams-install # Install diagrams library
just diagrams-tsillerson # Generate Tsillerson SVG
just diagrams-list # List Haskell diagram files
just kbg-diagram-hs # Generate KBG third diagram
lib/
├── TsillersonDiagram.hs # 2+1D automata visualization
├── GoldenThread.hs # φ-spiral color generation
└── PathEquivalence.hs # Kleppmann-Bumpus-Gay comparison
diagrams/
├── tsillerson.svg # Generated Tsillerson diagram
├── golden_thread.svg # Golden angle color spiral
└── path_equiv.svg # Path equivalence visualization
| Position | Skill | Role |
|---|---|---|
| Left (-1) | three-match | Validates diagram constraints |
| Right (+1) | gay-mcp | Provides deterministic colors |
Status: ✅ L4 Admissible Trit: 0 (ERGODIC) - Coordinates graphics generation Date: 2025-12-25
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 equipment structure:
Trit: 0 (ERGODIC)
Home: Prof
Poly Op: ⊗
Kan Role: Adj
Color: #26D826
The skill participates in triads satisfying:
(-1) + (0) + (+1) ≡ 0 (mod 3)
This ensures compositional coherence in the Cat# equipment structure.