smithery/plurigrid

skill-dispatch

GF(3) Triadic Task Routing for Subagent Orchestration

Installation

$ npx skills add smithery/plurigrid --skill skill-dispatch

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/plurigrid · top by installs.

npx skills add smithery/plurigrid

Browse all from smithery/plurigrid

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 6,111 B
  • docs SUMMARY.md 75 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

skill-dispatch

GF(3) Triadic Task Routing for Subagent Orchestration

Version: 1.0.0 Trit: 0 (Ergodic - coordinates routing) Bundle: core

Overview

Skill-dispatch routes tasks to appropriate skills based on GF(3) triadic conservation. Each task is assigned to a triad of skills (MINUS/ERGODIC/PLUS) that sum to 0 mod 3, ensuring balanced execution.

Core Concept

Task → Infer Bundle → Select Triad → Dispatch to Subagents

Each triad: (-1) ⊗ (0) ⊗ (+1) = 0 mod 3

Skill Registry

SKILLS = {
  # MINUS (-1): Validators
  'sheaf-cohomology'    => { trit: -1, bundle: :cohomological, action: :verify },
  'three-match'         => { trit: -1, bundle: :core, action: :reduce },
  'clj-kondo-3color'    => { trit: -1, bundle: :database, action: :lint },
  'influence-propagation' => { trit: -1, bundle: :network, action: :validate },
  
  # ERGODIC (0): Coordinators
  'unworld'             => { trit: 0, bundle: :core, action: :derive },
  'acsets'              => { trit: 0, bundle: :database, action: :query },
  'cognitive-surrogate' => { trit: 0, bundle: :learning, action: :predict },
  'entropy-sequencer'   => { trit: 0, bundle: :core, action: :arrange },
  
  # PLUS (+1): Generators
  'gay-mcp'             => { trit: 1, bundle: :core, action: :color },
  'agent-o-rama'        => { trit: 1, bundle: :learning, action: :train },
  'atproto-ingest'      => { trit: 1, bundle: :acquisition, action: :fetch },
  'triad-interleave'    => { trit: 1, bundle: :core, action: :interleave }
}

Canonical Triads

TRIADS = {
  core:        %w[three-match unworld gay-mcp],
  database:    %w[clj-kondo-3color acsets rama-gay-clojure],
  learning:    %w[self-validation-loop cognitive-surrogate agent-o-rama],
  network:     %w[influence-propagation bisimulation-game atproto-ingest],
  repl:        %w[slime-lisp borkdude cider-clojure]
}

Capabilities

1. dispatch

Route a task to the appropriate triad.

from skill_dispatch import Dispatcher

dispatcher = Dispatcher(seed=0xf061ebbc2ca74d78)

assignment = dispatcher.dispatch(
    task="analyze interaction patterns",
    bundle="learning"  # optional, inferred if not provided
)

# Returns:
# {
#   task: "analyze interaction patterns",
#   bundle: "learning",
#   triad: ["self-validation-loop", "cognitive-surrogate", "agent-o-rama"],
#   assignments: [
#     {skill: "self-validation-loop", trit: -1, role: "validator"},
#     {skill: "cognitive-surrogate", trit: 0, role: "coordinator"},
#     {skill: "agent-o-rama", trit: 1, role: "generator"}
#   ],
#   gf3_sum: 0,
#   conserved: true
# }

2. execute-triad

Execute a full triad pipeline: MINUS → ERGODIC → PLUS.

result = dispatcher.execute_triad(
    bundle="core",
    input_data=raw_interactions,
    executor=lambda skill, data, info: skill.run(data)
)

# Pipeline: three-match → unworld → gay-mcp
# Each step's output feeds into the next

3. cross-compose

Compose skills across different bundles while maintaining GF(3).

hybrid = dispatcher.cross_compose(
    minus_bundle="database",    # clj-kondo-3color
    ergodic_bundle="learning",  # cognitive-surrogate
    plus_bundle="core"          # gay-mcp
)

# Still conserves: (-1) + (0) + (+1) = 0

4. infer-bundle

Automatically determine bundle from task description.

bundle = dispatcher.infer_bundle("lint the clojure code")
# Returns: "database" (matches kondo pattern)

bundle = dispatcher.infer_bundle("train a predictor")
# Returns: "learning"

Subagent Roles

ROLES = {
    -1: {
        "name": "validator",
        "color": "#2626D8",  # Blue
        "verbs": ["verify", "constrain", "reduce", "filter", "lint"]
    },
    0: {
        "name": "coordinator", 
        "color": "#26D826",  # Green
        "verbs": ["transport", "derive", "navigate", "bridge", "arrange"]
    },
    1: {
        "name": "generator",
        "color": "#D82626",  # Red
        "verbs": ["create", "compose", "generate", "expand", "train"]
    }
}

DuckDB Integration

CREATE TABLE dispatch_log (
    dispatch_id VARCHAR PRIMARY KEY,
    task VARCHAR,
    bundle VARCHAR,
    triad VARCHAR[],
    gf3_sum INT,
    conserved BOOLEAN,
    seed BIGINT,
    dispatched_at TIMESTAMP
);

-- Verify all dispatches conserve GF(3)
SELECT COUNT(*) as violations
FROM dispatch_log
WHERE NOT conserved;
-- Should always be 0

Configuration

# skill-dispatch.yaml
dispatcher:
  seed: 0xf061ebbc2ca74d78
  default_bundle: core
  strict_conservation: true

bundles:
  core: [three-match, unworld, gay-mcp]
  learning: [self-validation-loop, cognitive-surrogate, agent-o-rama]
  network: [influence-propagation, bisimulation-game, atproto-ingest]

inference:
  patterns:
    - pattern: "lint|kondo|clojure"
      bundle: database
    - pattern: "train|learn|predict"
      bundle: learning
    - pattern: "network|influence|propagat"
      bundle: network

Justfile Recipes

# Dispatch a task
dispatch task="analyze" bundle="core":
    ruby lib/skill_dispatch.rb dispatch "{{task}}" "{{bundle}}"

# Execute full triad
execute-triad bundle="learning" input="data.json":
    ruby lib/skill_dispatch.rb execute "{{bundle}}" "{{input}}"

# Verify all triads conserve GF(3)
verify-triads:
    ruby lib/skill_dispatch.rb verify

Example Workflow

# 1. Dispatch a learning task
just dispatch "train cognitive model" learning

# 2. Execute the triad
just execute-triad learning interactions.json

# 3. Verify conservation
just verify-triads
# Output:
# core: three-match ⊗ unworld ⊗ gay-mcp = 0 ✓
# learning: self-validation-loop ⊗ cognitive-surrogate ⊗ agent-o-rama = 0 ✓
# network: influence-propagation ⊗ bisimulation-game ⊗ atproto-ingest = 0 ✓

Related Skills

  • gay-mcp - Provides deterministic seeding
  • triad-interleave - Interleaves dispatched tasks
  • tripartite_dispatcher.rb - Reference implementation