Asi triadic-skill-orchestrator

Orchestrates multiple skills in GF(3)-balanced triplets. Assigns MINUS/ERGODIC/PLUS trits to skills ensuring conservation. Use for multi-skill workflows, parallel skill dispatch, or maintaining GF(3) invariants across skill compositions.

install
source · Clone the upstream repo
git clone https://github.com/plurigrid/asi
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/plurigrid/asi "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/triadic-skill-orchestrator" ~/.claude/skills/plurigrid-asi-triadic-skill-orchestrator-4d49c9 && rm -rf "$T"
manifest: skills/triadic-skill-orchestrator/SKILL.md
source content

Triadic Skill Orchestrator

Orchestrates skills in GF(3)-balanced triplets with deterministic trit assignment.

Core Workflow

  1. Trit Assignment — Assign skills to MINUS(-1)/ERGODIC(0)/PLUS(+1) based on seed
  2. GF(3) Conservation — Verify Σ trits ≡ 0 (mod 3)
  3. Parallel Dispatch — Fan out to 3 skills simultaneously
  4. Role Mapping — VALIDATOR/COORDINATOR/GENERATOR per trit
  5. Color Integration — gay-mcp provides deterministic coloring

Trit Assignment Algorithm

(defn assign-trits [skill-names seed]
  (let [groups (partition-all 3 skill-names)]
    (mapcat (fn [[s0 s1 s2]]
              (let [t0 (mod (sha256-int (str seed "::0::" s0)) 3)
                    t1 (mod (sha256-int (str seed "::1::" s1)) 3)
                    t2 (mod (- 0 t0 t1) 3)]  ; Force conservation
                [{:skill s0 :trit (- t0 1)}
                 {:skill s1 :trit (- t1 1)}
                 {:skill s2 :trit (- t2 1)}]))
            groups)))

GF(3) Conservation Check

(defn verify-gf3 [assignments]
  (let [sum (reduce + (map :trit assignments))]
    {:conserved (zero? (mod sum 3))
     :sum sum
     :mod3 (mod sum 3)}))

Role Assignments

TritRoleFunctionColor Range
-1VALIDATORVerify, constrain, checkCold (180-300°)
0COORDINATORMediate, synthesize, balanceNeutral (60-180°)
+1GENERATORCreate, execute, produceWarm (0-60°, 300-360°)

Denotation

This skill coordinates triadic skill applications to ensure no trit imbalance exists, dispatching skills in GF(3)-balanced triplets with deterministic seed propagation.

Effect: SkillSet → (Task × Seed) → [Result₋₁, Result₀, Result₊₁]
Invariant: ∀ dispatch: Σ(trit) ≡ 0 (mod 3)
Fixed Point: When skill outputs stabilize across reruns with different seeds

Invariant Set

InvariantDefinitionVerification
Conservation
Σ(trit) ≡ 0 (mod 3) after every dispatchSum check on each triplet
TritBalance
Each skill receives exactly -1, 0, or +1Assignment validation
SeedDeterminism
Same seed → same trit assignmentReplay test
RoleInjection
Each role (VALIDATOR/COORDINATOR/GENERATOR) appears exactly onceRole counting

Narya Compatibility

FieldDefinition
before
Skill states before dispatch
after
Skill states after dispatch
delta
Trit assignments made
birth
Initial skill set with no assignments
impact
1 if any skill changed equivalence class

Condensation Policy

Trigger: When a skill triplet produces identical outputs for 3 consecutive dispatches with different seeds.

Action: Mark triplet as saturated, collapse to canonical representative.

Parallel Dispatch

(defn dispatch-skill [skill-assignment task]
  (let [{:keys [skill trit]} skill-assignment
        role (case trit
               -1 "VALIDATOR"
               0  "COORDINATOR"
               1  "GENERATOR")]
    {:skill skill :trit trit :role role :task task}))

Integration with gay-mcp

Each skill gets a deterministic color from its trit:

from gay import SplitMixTernary

gen = SplitMixTernary(seed=0x42D)
for skill in skills:
    color = gen.color_at(skill.index)
    trit = color['trit']  # Maps to role
    hex_color = color['hex']  # Visual identifier

Justfile Recipes

# Orchestrate 3 skills for a task
triadic-orchestrate TASK SEED="0x42D":
  bb scripts/triadic_skill_orchestrator.bb run "{{TASK}}" {{SEED}} \
    finder-color-walk google-workspace gay-mcp

# Verify GF(3) conservation for skill triplet
triadic-verify *SKILLS:
  bb scripts/triadic_skill_orchestrator.bb verify {{SKILLS}}

# List available skills
triadic-list:
  bb scripts/triadic_skill_orchestrator.bb list

# Run orchestrator with custom skills
triadic-custom TASK SEED *SKILLS:
  bb scripts/triadic_skill_orchestrator.bb run "{{TASK}}" {{SEED}} {{SKILLS}}

Example Output

╔═══════════════════════════════════════════════════════════════╗
║     TRIADIC SKILL ORCHESTRATOR                                ║
╚═══════════════════════════════════════════════════════════════╝

Task: Sync files with Drive
Seed: 0x42D
Skills: 3

Assignments:
  finder-color-walk: +1 (PLUS)
  google-workspace: -1 (MINUS)
  gay-mcp: 0 (ERGODIC)

GF(3) Conservation: ✓ OK (sum=0, mod3=0)

Dispatching...
[GENERATOR] finder-color-walk (trit=+1): Sync files with Drive
[VALIDATOR] google-workspace (trit=-1): Sync files with Drive
[COORDINATOR] gay-mcp (trit=0): Sync files with Drive

Valid Triads

Skill 1 (MINUS)Skill 2 (ERGODIC)Skill 3 (PLUS)
sheaf-cohomologyordered-localegay-mcp
bisimulation-gamegoogle-workspacetriad-interleave
say-narrationparallel-fanoutfinder-color-walk

Reference Script

See scripts/triadic_skill_orchestrator.bb for full implementation.


Skill Name: triadic-skill-orchestrator
Type: Skill Composition / Parallel Dispatch
Trit: 0 (ERGODIC - coordinator)
GF(3): Enforced via third-trit correction