Open Games Skill (ERGODIC 0)
Scanned 9/6/2026
Install to Claude Code
npx -y skills add plurigrid/asi --skill open-games --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Open Games?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/plurigrid-open-games-asi)More formats (shields.io, HTML) on the badges page.
---
name: open-games
description: Open Games Skill (ERGODIC 0)
source: local
license: UNLICENSED
---
# Open Games Skill (ERGODIC 0)
> Compositional game theory via Para/Optic structure
**Trit**: 0 (ERGODIC)
**Color**: #26D826 (Green)
**Role**: Coordinator/Transporter
## Core Concept
Open games are morphisms in a symmetric monoidal category:
```
┌───────────┐
X ──→│ │──→ Y
│ Game G │
R ←──│ │←── S
└───────────┘
```
Where:
- **X → Y**: Forward play (strategies)
- **S → R**: Backward coplay (utilities)
## The Para/Optic Structure
### Para Morphism
```haskell
Para p a b = ∃m. (m, p m a → b)
-- Existential parameter with action
```
### Optic (Lens Generalization)
```haskell
Optic p s t a b = ∀f. p a (f a b) → p s (f s t)
-- Profunctor optic for bidirectional data
```
### Open Game as Optic
```haskell
OpenGame s t a b =
{ play : s → a
, coplay : s → b → t
, equilibrium : s → Prop
}
```
## Composition
### Sequential (;)
```
G ; H = Game where
play = H.play ∘ G.play
coplay = G.coplay ∘ (id × H.coplay)
```
### Parallel (⊗)
```
G ⊗ H = Game where
play = G.play × H.play
coplay = G.coplay × H.coplay
```
## Nash Equilibrium via Fixed Points
```haskell
isEquilibrium :: OpenGame s t a b → s → Bool
isEquilibrium g s =
let a = play g s
bestResponse = argmax (\a' → utility (coplay g s (respond a')))
in a == bestResponse
```
### Compositional Equilibrium
```
eq(G ; H) = eq(G) ∧ eq(H) -- under compatibility
```
## Integration with Unworld
```clojure
(defn opengame-derive
"Transport game through derivation chain"
[game derivation]
(let [; Forward: strategies through derivation
forward (compose (:play game) (:forward derivation))
; Backward: utilities through co-derivation
backward (compose (:coplay game) (:backward derivation))]
{:play forward
:coplay backward
:equilibrium (transported-equilibrium game derivation)}))
```
## GF(3) Triads
```
temporal-coalgebra (-1) ⊗ open-games (0) ⊗ free-monad-gen (+1) = 0 ✓
three-match (-1) ⊗ open-games (0) ⊗ operad-compose (+1) = 0 ✓
sheaf-cohomology (-1) ⊗ open-games (0) ⊗ topos-generate (+1) = 0 ✓
```
## Commands
```bash
# Compose games sequentially
just opengame-seq G H
# Compose games in parallel
just opengame-par G H
# Check Nash equilibrium
just opengame-nash game strategy
# Transport through derivation
just opengame-derive game deriv
```
## Economic Examples
### Prisoner's Dilemma
```haskell
prisonersDilemma :: OpenGame () () (Bool, Bool) (Int, Int)
prisonersDilemma = Game {
play = \() → (Defect, Defect), -- Nash
coplay = \() (p1, p2) → payoffMatrix p1 p2
}
```
### Market Game
```haskell
market :: OpenGame Price Price Quantity Quantity
market = supplyGame ⊗ demandGame
where equilibrium = supplyGame.eq ∧ demandGame.eq
```
## Categorical Semantics
```
OpenGame ≃ Para(Lens) ≃ Optic(→, ×)
Composition:
(A ⊸ B) ⊗ (B ⊸ C) → (A ⊸ C) -- via cut
Tensor:
(A ⊸ B) ⊗ (C ⊸ D) → (A ⊗ C ⊸ B ⊗ D)
```
## References
- Ghani, Hedges, et al. "Compositional Game Theory"
- Capucci & Gavranović, "Actegories for Open Games"
- Riley, "Categories of Optics"
- CyberCat Institute tutorials
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!