Best use case
pun-decomposition is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Pun Decomposition Skill (MINUS -1)
Teams using pun-decomposition 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/pun-decomposition/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How pun-decomposition Compares
| Feature / Agent | pun-decomposition | 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?
Pun Decomposition Skill (MINUS -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
# Pun Decomposition Skill (MINUS -1)
> *"A pun exploits multiple valid decompositions of the same phonetic surface."*
## Core Insight
A **pun** is an information reflow that maps a single surface form to multiple semantic contexts. The humor arises from the unexpected context switch—the inductive bias favors one parse, but the pun activates another.
```
pun : Surface → {Context₁, Context₂, ...}
where each Contextᵢ has a valid decomposition
```
## Neighbor Awareness (Braided Monoidal)
This skill knows its neighbors in the triad:
| Position | Skill | Trit | Role |
|----------|-------|------|------|
| **Left** | gestalt-hacking | 0 | Perceptual grouping exploitation |
| **Self** | pun-decomposition | -1 | Multiple parse validation |
| **Right** | acsets | 0 | Schema-aware decomposition |
**Yang-Baxter coherence**: `(σ₁⊗id)(id⊗σ₁)(σ₁⊗id) = (id⊗σ₁)(σ₁⊗id)(id⊗σ₁)`
## GF(3) Triads
```
pun-decomposition (-1) ⊗ gestalt-hacking (0) ⊗ gay-mcp (+1) = 0 ✓ [Core Pun]
pun-decomposition (-1) ⊗ acsets (0) ⊗ topos-generate (+1) = 0 ✓ [Schema Pun]
pun-decomposition (-1) ⊗ reflow (0) ⊗ gay-mcp (+1) = 0 ✓ [Reflow Pun]
three-match (-1) ⊗ gestalt-hacking (0) ⊗ gay-mcp (+1) = 0 ✓ [Pattern Match]
```
## Pun as Gestalt Attack
From the gestalt hacking thread:
```rust
enum GestaltPrinciple {
Proximity, // Close morphemes group
Similarity, // Similar sounds group
Closure, // Incomplete parse completed
Continuity, // Smooth phonetic path preferred
FigureGround, // Dominant meaning masks secondary
}
```
A pun exploits **Closure** and **FigureGround**:
- **Closure**: The listener completes the parse with the expected meaning
- **FigureGround**: The secondary meaning lurks in background until activated
## Decomposition Types
### Morphemic Decomposition
```ruby
# "I'm reading a book about anti-gravity. It's impossible to put down."
{
surface: "put down",
decompositions: [
{ parse: ["put", "down"], meaning: "place on surface", trit: 1 },
{ parse: ["put-down"], meaning: "stop reading", trit: -1 },
],
inductive_bias: 0.7, # Favors first parse
pun_strength: 0.3 # Second parse activation
}
```
### Phonetic Decomposition
```ruby
# "Time flies like an arrow. Fruit flies like a banana."
{
surface: "flies like",
decompositions: [
{ parse: ["flies", "like"], pos: ["verb", "prep"], trit: 1 },
{ parse: ["flies", "like"], pos: ["noun", "verb"], trit: -1 },
],
gestalt_principle: :figure_ground,
context_switch: "arrow → banana"
}
```
### Etymological Decomposition
```ruby
# From the reflow skill:
{
word: "trimester",
decomposition: ["tri-", "mester"],
trits: [0, 0],
gf3_sum: 0, # Balanced!
resonance: :strong
}
{
word: "semester",
decomposition: ["se-", "mester"], # se- = six (2×3)
trits: [0, 0],
gf3_sum: 0, # Also balanced via factorization
resonance: :moderate
}
```
## ACSet Schema for Puns
```julia
@present SchPun(FreeSchema) begin
Surface::Ob
Parse::Ob
Morpheme::Ob
Meaning::Ob
surface::Hom(Parse, Surface)
morphemes::Hom(Morpheme, Parse)
meaning::Hom(Parse, Meaning)
# Attributes
Text::AttrType
Trit::AttrType
Bias::AttrType
text::Attr(Surface, Text)
trit::Attr(Parse, Trit)
bias::Attr(Parse, Bias)
end
@acset_type Pun(SchPun, index=[:surface, :meaning])
```
## Inductive Bias as Prior
The inductive bias determines which decomposition is "default":
```
P(parse₁ | surface) = softmax(bias₁ / τ)
P(parse₂ | surface) = softmax(bias₂ / τ)
where τ = temperature (context sensitivity)
```
At low temperature (focused context), one parse dominates.
At high temperature (open context), multiple parses activate → PUN.
## OpenGame Structure
From gestalt hacking thread:
```
┌─────────────────────────────────────────────────────────┐
│ PunGame ∆ │
│ ───────────────────────────────────────────────────── │
│ play :: Surface → ∆ [Parse] ← enumerate parses │
│ evaluate :: [Parse] → Meaning ← select by context│
│ │
│ Pun = play produces multiple; evaluate oscillates │
└─────────────────────────────────────────────────────────┘
```
## Defense: 2-Poisson Disambiguation
When puns attack comprehension, use stochastic sampling:
```rust
impl PunDefender {
fn disambiguate(&mut self, surface: &str) -> Parse {
let parses = self.decompose(surface);
if parses.len() > 1 {
// Multiple valid parses detected
let (_, selected) = self.poisson.next_arrival(0.0);
// Use Poisson timing to break tie
parses[selected.to_usize() % parses.len()].clone()
} else {
parses[0].clone()
}
}
}
```
## LMBIH Seed Integration
Using the LMBIH seed (327833753928) for pun coloring:
```ruby
# XIP-7074D4: LMBIH Etymological Resonance
seed = 327833753928 # "LMBIH".bytes → hex
index = 43
color_at(seed, index) # => #7074D4 (purple-blue)
# The pun lives in the purple-blue spectrum:
# - Blue = validation (checking parses)
# - Purple = blend of generation + validation
```
## Commands
```bash
just pun-decompose "time flies" # Enumerate parses
just pun-triad gestalt acsets # Show GF(3) triad
just pun-bias 0.7 # Set inductive bias
just pun-attack closure # Test gestalt attack
```
## Related Skills
- **gestalt-hacking** (left neighbor): Perceptual grouping exploitation
- **acsets** (right neighbor): Schema-aware decomposition storage
- **reflow**: Cross-context meaning preservation
- **three-match**: Colored subgraph isomorphism for parse matching
- **etymological-resonance**: Morpheme-level decomposition
## Files
- [etymological_resonance.rb](file:///Users/bob/ies/music-topos/lib/etymological_resonance.rb)
- [gestalt hacking thread](https://ampcode.com/threads/T-019b3e8d-1ab1-7548-ab74-fdd531cda57f)
- [chromatic verifier thread](https://ampcode.com/threads/T-019b0ce1-815d-773b-b2ce-f5ef9b26e48d)
## Scientific Skill Interleaving
This skill connects to the K-Dense-AI/claude-scientific-skills ecosystem:
### Graph Theory
- **networkx** [○] via bicomodule
- Universal graph hub
### Bibliography References
- `algorithms`: 19 citations in bib.duckdb
## Cat# Integration
This skill maps to **Cat# = Comod(P)** as a bicomodule in the equipment structure:
```
Trit: 0 (ERGODIC)
Home: Prof
Poly Op: ⊗
Kan Role: Adj
Color: #26D826
```
### GF(3) Naturality
The skill participates in triads satisfying:
```
(-1) + (0) + (+1) ≡ 0 (mod 3)
```
This ensures compositional coherence in the Cat# equipment structure.Related Skills
tripartite-decompositions
GF(3)-balanced structured decompositions for parallel computation. Decomposes problems into MINUS/ERGODIC/PLUS components with sheaf-theoretic gluing. Use for FPT algorithms, skill allocation, or any 3-way parallel workload.
World Extractable Value via Pair-Graph Hodge Decomposition
**Status**: 🧪 Draft — K₃/K₄/K₅ verified
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