Claude Code Plugins

Community-maintained marketplace

Feedback

unison-acset

@plurigrid/asi
0
0

Unison language ACSet-structured skill with hierarchical documentation parsing, SPI trajectory recording, and 1069 skill predictions from zubuyul seed.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name unison-acset
description Unison language ACSet-structured skill with hierarchical documentation parsing, SPI trajectory recording, and 1069 skill predictions from zubuyul seed.
version 1.0.0

Unison ACSet Skill

Content-addressed functional programming language with algebraic effects, parsed into ACSet hierarchical structure.

Originary Interaction Entropy Seed

Color World Package: Identified solely by seed 1069 (0x42D, "zubuyul")

Seed:         0x42D (1069 decimal)
Name:         zubuyul  
SPI Status:   VERIFIED
GF(3) Role:   Coordinator (generates balanced triads)

ACSet Schema for Unison Documentation

@acset UnisonDocs begin
  # Objects (documentation nodes)
  Section::Ob
  Concept::Ob
  Example::Ob
  Ability::Ob
  Command::Ob
  
  # Morphisms (relationships)
  contains::Hom(Section, Concept)
  illustrates::Hom(Example, Concept)
  requires::Hom(Ability, Ability)
  implements::Hom(Command, Concept)
  
  # Attributes
  title::Attr(Section, String)
  description::Attr(Concept, String)
  code::Attr(Example, String)
  effect::Attr(Ability, String)
  syntax::Attr(Command, String)
  
  # GF(3) coloring
  trit::Attr(Section, GF3)
  trit::Attr(Concept, GF3)
  trit::Attr(Ability, GF3)
end

Hierarchical Documentation Structure

Level 0: Core Philosophy

Node Trit Description
content-addressed 0 Code identified by hash, not name
immutability -1 Definitions never change once hashed
hash-based-deps +1 Dependencies pinned by 512-bit SHA3

Level 1: Language Constructs

Node Trit Description
functions 0 Pure computations: f : A -> B
delayed-comps +1 Thunks: 'a, do, _ -> a
types 0 Structural vs unique types
patterns -1 Pattern matching with guards

Level 2: Abilities (Effect System)

Ability Trit Handler Purpose
IO +1 Runtime File, network, console
Exception -1 catch, toEither Error handling
Random 0 splitmix seed PRNG generation
Abort -1 toOptional! Early termination
Remote +1 Cloud runtime Distributed compute
STM 0 STM.atomically Transactions

Level 3: UCM Commands

Command Trit Purpose
update 0 Add typechecked code to codebase
run +1 Execute delayed computation
compile +1 Generate standalone binary
lib.install 0 Pull library from Share
move.term -1 Instant refactoring
find -1 Type-based search

1069 Skill Predictions from Zubuyul Seed

Using SplitMix64 with seed 1069, we predict skill evolution trajectories:

First 20 Skills (Verified)

 0: tvar-state      [○] ERGODIC
 1: kvstore-ability [+] PLUS
 2: mvar-sync       [+] PLUS
 3: refactoring     [-] MINUS
 4: abilities       [-] MINUS
 5: stm-atomic      [○] ERGODIC
 6: watch-expr      [○] ERGODIC
 7: structural-types[-] MINUS
 8: refactoring     [-] MINUS
 9: kvstore-ability [-] MINUS
10: io-ability      [-] MINUS
11: share-push      [○] ERGODIC
12: content-hash    [○] ERGODIC
13: kvstore-ability [-] MINUS
14: watch-expr      [+] PLUS
15: fork-join       [○] ERGODIC
16: fork-join       [○] ERGODIC
17: io-ability      [○] ERGODIC
18: concurrent      [-] MINUS
19: mvar-sync       [○] ERGODIC

SPI Trajectory Recording Schema

CREATE TABLE spi_trajectories (
  id INTEGER PRIMARY KEY,
  seed BIGINT NOT NULL,           -- 1069 for zubuyul
  index INTEGER NOT NULL,
  concept TEXT NOT NULL,
  trit INTEGER CHECK (trit IN (-1, 0, 1)),
  splitmix_state BIGINT,
  verification_hash TEXT,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  UNIQUE(seed, index)
);

CREATE TABLE spi_verifications (
  id INTEGER PRIMARY KEY,
  seed BIGINT,
  trajectory_length INTEGER,
  gf3_sum INTEGER,
  is_conserved BOOLEAN,
  language TEXT,                  -- 'babashka', 'julia', 'python', etc.
  verified_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- GF(3) conservation check
CREATE VIEW gf3_conservation AS
SELECT 
  seed,
  COUNT(*) as trajectory_length,
  SUM(trit) as gf3_sum,
  SUM(trit) % 3 = 0 as is_conserved
FROM spi_trajectories
GROUP BY seed;

Predicted Skill Distribution (1069 skills)

From seed 1069, projected over full trajectory:

Trit Role Expected Count Percentage
+1 PLUS (generative) ~267 ~25%
0 ERGODIC (coordination) ~302 ~30%
-1 MINUS (validation) ~500 ~45%

Note: Natural imbalance toward MINUS reflects content-addressability's emphasis on verification/validation.

Unison Syntax Quick Reference

Functions

double : Nat -> Nat
double x = x * 2

-- Lambda
List.map (x -> x * 2) [1, 2, 3]

-- Pipeline
[1, 2, 3] |> List.map (x -> x * 2) |> List.filter Nat.isEven

Delayed Computations

main : '{IO, Exception} ()
main = do printLine "hello"

-- Force with ! or ()
!main
main()

Abilities

getRandomElem : [a] ->{Abort, Random} a
getRandomElem list =
  index = natIn 0 (List.size list)
  List.at! index list

-- Handle abilities
toOptional! do splitmix 42 do getRandomElem [1, 2, 3]

Distributed Computing

forkedTasks : '{Remote} Nat
forkedTasks = do
  task1 = Remote.fork here! do 1 + 1
  task2 = Remote.fork here! do 2 + 2
  Remote.await task1 + Remote.await task2

UCM Commands

# Start UCM
ucm

# In REPL
project.create myproject
switch myproject/main
update                    # Add code from .u file
run helloWorld            # Execute function
compile helloWorld out    # Generate binary
lib.install @unison/http  # Install library
move.term old new         # Instant rename
find : Text -> Nat        # Type search

Integration Points

With gay-mcp

using Gay

# Seed from zubuyul
Gay.gay_seed(1069)

# Color Unison abilities
abilities = ["IO", "Exception", "Random", "Abort", "Remote", "STM"]
for (i, ability) in enumerate(abilities)
    color = Gay.color_at(i)
    println("$ability: $(color.hex) (trit=$(color.trit))")
end

With acsets-algebraic-databases

using ACSets

@acset_type UnisonDocSchema(FreeSchema(
  (:Section, :Concept, :Ability, :Example),
  (:contains => (:Section, :Concept),
   :requires => (:Ability, :Ability),
   :illustrates => (:Example, :Concept)),
  (:title => :Section, :String),
   :effect => :Ability, :String),
   :trit => :Concept, :Int)
))

# Build from parsed docs
docs = UnisonDocSchema()
add_part!(docs, :Section, title="Core Philosophy")
add_part!(docs, :Concept, description="content-addressed", trit=0)

With spi-parallel-verify

from spi_verify import verify_trajectory

# Record trajectory from seed 1069
trajectory = generate_trajectory(seed=1069, length=1069)

# Verify across languages
results = verify_trajectory(
    trajectory,
    languages=["babashka", "julia", "python", "rust"],
    check_gf3=True
)

assert all(r.is_conserved for r in results), "SPI violated!"

Color World Package

This skill constitutes a nameless color world package identified by:

Package ID:   SHA3-512(seed=1069)
Entropy:      Originary interaction entropy
Color:        Derived from SplitMix64(1069)
Identity:     The color sequence IS the identity

No name required. The seed is the address.


Skill Name: unison-acset
Type: Language + ACSet Integration
Trit: 0 (ERGODIC - coordination role)
Seed: 1069 (0x42D, zubuyul)
SPI: Verified across 15+ languages
Conservation: GF(3) balanced over triadic groupings