operad-compose

Operad Composition Skill (PLUS +1)

16 stars

Best use case

operad-compose is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Operad Composition Skill (PLUS +1)

Teams using operad-compose should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/operad-compose/SKILL.md --create-dirs "https://raw.githubusercontent.com/plurigrid/asi/main/ies/music-topos/.codex/skills/operad-compose/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/operad-compose/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How operad-compose Compares

Feature / Agentoperad-composeStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Operad Composition Skill (PLUS +1)

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Operad Composition Skill (PLUS +1)

> Colored operad composition for structured generation

**Trit**: +1 (PLUS)  
**Color**: #D82626 (Red)  
**Role**: Generator/Creator

## Core Concept

A colored operad O has:
- **Colors** C (types)
- **Operations** O(c₁,...,cₙ; c) (n-ary operations with input colors cᵢ, output color c)
- **Composition** γ (operadic substitution)
- **Units** 1_c ∈ O(c; c)

```
      c₁  c₂  c₃
       \  |  /
        \ | /
         \|/
    O(c₁,c₂,c₃; c)
          |
          c
```

## Operadic Substitution γ

```
γ: O(c₁,...,cₙ; c) × O(d₁,...,dₘ; c₁) → O(d₁,...,dₘ,c₂,...,cₙ; c)
```

Substituting into the first input slot.

### Full Composition
```
γ: O(c₁,...,cₙ; c) × ∏ᵢ O(dᵢ,₁,...,dᵢ,ₖᵢ; cᵢ) → O(d₁,₁,...,dₙ,ₖₙ; c)
```

## Integration with Rubato Composer

```julia
# Musical operad for composition
struct MusicOperad
    colors::Set{Symbol}  # :melody, :rhythm, :harmony, :texture
    operations::Dict{Tuple, Vector{Symbol}}  # input colors → output color
end

# Operadic composition for music
function compose_operad(op1, op2, slot::Int)
    # op1: (c₁,...,cₙ) → c
    # op2: (d₁,...,dₘ) → cₛₗₒₜ
    # result: (c₁,...,cₛₗₒₜ₋₁,d₁,...,dₘ,cₛₗₒₜ₊₁,...,cₙ) → c
    new_inputs = vcat(
        op1.inputs[1:slot-1],
        op2.inputs,
        op1.inputs[slot+1:end]
    )
    (inputs=new_inputs, output=op1.output)
end
```

## Gay.jl 3-Color Operad

```julia
# Colored operad with GF(3) colors
const GF3Colors = [:minus, :ergodic, :plus]  # -1, 0, +1

struct GF3Operad
    # Operations that conserve GF(3)
    operations::Vector{NamedTuple}
end

# Valid operations sum to 0 mod 3
function valid_gf3_op(inputs::Vector{Int}, output::Int)
    (sum(inputs) + output) % 3 == 0
end

# Generate all valid operations
function gf3_operations(arity::Int)
    [(inputs=ins, output=out) 
     for ins in Iterators.product(fill(-1:1, arity)...)
     for out in -1:1
     if valid_gf3_op(collect(ins), out)]
end
```

## Little Disks Operad (E₂)

Configuration spaces of n non-overlapping disks:

```
E₂(n) = { (z₁,r₁),...,(zₙ,rₙ) : disks don't overlap } / scaling
```

- **Composition**: Insert small disk configuration into a slot
- **Braiding**: E₂ is braided (operations can pass through each other)
- **Applications**: 2D field theories, loop spaces

## May Operad for Concurrency

```haskell
-- Little intervals operad for A∞ structure
data E1 n = E1 { intervals :: Vector n (Double, Double) }

-- Composition: splice intervals
compose :: E1 n -> Int -> E1 m -> E1 (n + m - 1)
```

## GF(3) Triads

```
persistent-homology (-1) ⊗ open-games (0) ⊗ operad-compose (+1) = 0 ✓
clj-kondo-3color (-1) ⊗ acsets (0) ⊗ operad-compose (+1) = 0 ✓
proofgeneral-narya (-1) ⊗ glass-bead-game (0) ⊗ operad-compose (+1) = 0 ✓
```

## Commands

```bash
# Compose operations
just operad-mult op1 op2 slot

# Generate GF(3) operations of given arity
just operad-gf3 arity

# Visualize operad tree
just operad-tree operation

# Check operad associativity
just operad-assoc op1 op2 op3
```

## Operads in Nature

| Domain | Operad | Colors |
|--------|--------|--------|
| Music | Composition | melody, rhythm, harmony |
| Types | Substitution | types |
| Topology | Little disks | points |
| Logic | Cut-elimination | formulas |
| AI | Skill composition | capabilities |

## References

- May, "The Geometry of Iterated Loop Spaces"
- Loday & Vallette, "Algebraic Operads"
- Spivak, "The Operad of Wiring Diagrams"