crossmodal-gf3
GF(3) → {Tactile, Auditory, Haptic} universal bridge for accessible color perception
Best use case
crossmodal-gf3 is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
GF(3) → {Tactile, Auditory, Haptic} universal bridge for accessible color perception
Teams using crossmodal-gf3 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
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/crossmodal-gf3/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How crossmodal-gf3 Compares
| Feature / Agent | crossmodal-gf3 | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
GF(3) → {Tactile, Auditory, Haptic} universal bridge for accessible color perception
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
# Crossmodal GF(3) Skill
> *"Color is not inherently visual. Color is INFORMATION that can be rendered through any sensory modality."*
## The Universal Bridge
This skill treats GF(3) trits as **modality-independent** semantic units:
| GF(3) Trit | Visual | Tactile | Auditory | Haptic |
|------------|--------|---------|----------|--------|
| MINUS (−1) | Cool hues | Rough/Bumpy | Low pitch | Left/Down |
| ERGODIC (0) | Neutral | Smooth | Mid pitch | Center |
| PLUS (+1) | Warm hues | Ridged | High pitch | Right/Up |
## Key Insight
**Visual perception is ALSO a projection from GF(3) space.**
The sighted user doesn't have "the real thing" — they have π_visual(GF3).
The blind user has π_tactile(GF3), π_auditory(GF3), π_haptic(GF3).
All projections are **isomorphic** under GF(3) conservation:
```
π_visual(W) ≅ π_tactile(W) ≅ π_auditory(W) ≅ π_haptic(W)
```
## Implementation Files
From Gay.jl:
1. **world_tactile_color.jl** — Core tactile/auditory/haptic types
2. **world_accessible_tensor.jl** — A ⊗ G ⊗ M ⊗ T tensor product
3. **world_accessible_interrupt_operad.jl** — TOAD × Amp × Knight Tour accessibility
## Tactile: 3×3 Braille Extension
Standard Braille is 2×3 (6 dots). We extend to 3×3 (9 dots):
```
┌───┬───┬───┐
│ 1 │ 2 │ 3 │ ← Hue sector (warm/neutral/cool)
├───┼───┼───┤
│ 4 │ 5 │ 6 │ ← Saturation level
├───┼───┼───┤
│ 7 │ 8 │ 9 │ ← Lightness level
└───┴───┴───┘
```
Dot positions encode trits:
- Left dot: MINUS (−1)
- Center dot: ERGODIC (0)
- Right dot: PLUS (+1)
### Example: Warm, Vivid, Light Color
```
○ ○ ⬤ ← Hue: PLUS (warm)
○ ○ ⬤ ← Saturation: PLUS (vivid)
○ ○ ⬤ ← Lightness: PLUS (light)
Compact: +++
```
## Auditory: 3-Tone Chords
Each color becomes a 3-frequency chord:
```julia
const BASE_FREQ = 440.0 # A4
function trit_to_freq_ratio(t::Int)::Float64
t == -1 && return 0.84 # Minor third
t == 0 && return 1.0 # Unison
t == 1 && return 1.26 # Major third
end
function color_to_chord(hue_trit, sat_trit, light_trit)
(
BASE_FREQ * trit_to_freq_ratio(hue_trit),
BASE_FREQ * 1.5 * trit_to_freq_ratio(sat_trit), # Fifth
BASE_FREQ * 2.0 * trit_to_freq_ratio(light_trit) # Octave
)
end
```
### Sox Sonification
```bash
# Play a single color as chord
play -n synth 0.25 sine 440.0 : synth 0.25 sine 660.0 : synth 0.25 sine 880.0 remix - fade 0 0.25 0.05
```
## Haptic: 3D Position + Vibration
```julia
struct HapticPosition
x::Float64 # Hue: -1 (left) to +1 (right)
y::Float64 # Saturation: -1 (back) to +1 (front)
z::Float64 # Lightness: -1 (down) to +1 (up)
vibration_pattern::Symbol # :pulse, :smooth, :buzz
intensity::Float64 # 0.0 to 1.0
end
```
## Möbius Invertibility
Path navigability analysis using μ(path_length):
| μ ≠ 0 | GEODESIC | Smooth bidirectional tactile navigation |
| μ = 0 | TANGLED | Add branching markers at squared prime positions |
### I-Thou Framework
- **Geodesic paths**: Treat blind user as capable of autonomous navigation (I-Thou)
- **Tangled paths**: Restructure the path, not the user (I-Thou), vs "accommodate" (I-It)
## μ(3) = -1: Action-Perception Duality
The Möbius value μ(3) = -1 creates:
```
Action: {−, ○, +} (visual domain)
Perception: {+, ○, −} (tactile domain, Möbius-inverted)
```
Double inversion returns to original: μ ∘ μ = id.
## GF(3) Triadic Integration
| Component | Trit | Role |
|-----------|------|------|
| catsharp-sonification | 0 | Auditory output |
| **crossmodal-gf3** | **0** | **Universal bridge** |
| sense | 0 | Content extraction |
Conservation: 0 + 0 + 0 = 0 ✓ (all ERGODIC coordinators)
For generators/validators:
```
elevenlabs-acset (-1) ⊗ crossmodal-gf3 (0) ⊗ gesture-hypergestures (+1) = 0 ✓
```
## Commands
```bash
# Generate accessible color palette (Julia)
julia -e 'using Gay; Gay.gay_seed!(137508); colors = [Gay.next_color() for _ in 1:6]'
# Sonify via catsharp-sonification
bb -e '(sonify-palette ["#DD3C3C" "#3CDD6B" "#9A3CDD"])'
# Extract content accessibly
just sense-extract reference/videos/lecture.mkv
```
## Related Skills
- **catsharp-sonification** — Hue → Pitch Class → Waveform
- **sense** — Video → Subtitle + Diagram + Skill Index
- **buberian-relations** — I-Thou / I-It / We formalization
- **gesture-hypergestures** — Continuous curves for topology teaching
- **moebius-inversion** — Path invertibility analysis
- **gay-julia** — Wide-gamut color with SplitMix64
## Theorem
**Accessible Worlds Theorem**:
For any world W with visual representation V:
```
π_visual(W) ≅ π_tactile(W) ≅ π_auditory(W) ≅ π_haptic(W)
```
where all projections π preserve GF(3) conservation:
```
∀ modality m: Σ(trits(π_m(W))) ≡ 0 (mod 3)
```
---
*"The most unlike skills are the most essential - they bridge what others cannot reach."*Related Skills
jepsen-testing
Jepsen-style correctness testing for distributed systems under faults (partitions, crashes, clock skew) using concurrent operation histories and formal checkers (linearizability/serializability and Elle-style anomalies). Use when designing, implementing, or running Jepsen tests, or interpreting histories/violations.
Deterministic Color Generation via Metadata Hashing
**Status**: ✅ Production Ready
cyton-dongle
Connect and stream from OpenBCI Cyton/Daisy via USB dongle, including first-time radio channel pairing
asi-transient-agenda
Org-agenda-like transient views for ASI skill orchestration via nbb/squint + Emacs hydra
Topological Superintelligence (TSI)
Compositional AI framework using GF(3) triadic balance and category-theoretic foundations.
zx-calculus
Coecke's ZX-calculus for quantum circuit reasoning via string diagrams with Z-spiders (green) and X-spiders (red)
zulip-cogen
Zulip Cogen Skill 🐸⚡
zls-integration
zls-integration skill
zig
zig skill
zig-syrup-bci
Multimodal BCI pipeline in Zig: DSI-24 EEG, fNIRS mBLL, eye tracking IVT, LSL sync, EDF read/write, GF(3) conservation
zig-programming
zig-programming skill
zeroth-bot
Zeroth Bot - 3D-printed open-source humanoid robot platform for sim-to-real and RL research. Affordable entry point for humanoid robotics.