abductive-repl
Hypothesis-Test Loops via REPL for Exploratory Abductive Inference with Gay.jl colors
Best use case
abductive-repl is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Hypothesis-Test Loops via REPL for Exploratory Abductive Inference with Gay.jl colors
Teams using abductive-repl 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/abductive-repl/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How abductive-repl Compares
| Feature / Agent | abductive-repl | 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?
Hypothesis-Test Loops via REPL for Exploratory Abductive Inference with Gay.jl colors
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
# abductive-repl
> Hypothesis-Test Loops via REPL for Exploratory Abductive Inference
**Version**: 1.1.0 (music-topos enhanced)
**Trit**: 0 (Ergodic - coordinates inference)
**Bundle**: repl
## Overview
Abductive-REPL enables exploratory abductive reasoning through an interactive REPL. Given observed outcomes, it generates hypotheses, tests them, and refines understanding through iterative loops.
## Core Concept
```
Observation → Generate Hypotheses → Test → Refine → Repeat
Abduction: Given effect E and rule "A implies E",
hypothesize A as possible cause.
```
## Enhanced Integration: Interpreters
### Julia (Gay.jl) - Primary
```julia
# Start abductive REPL with Gay.jl
julia --project=Gay.jl -e 'using Gay; Gay.repl()'
# In REPL:
gay> !abduce 216 125 157
# Searches invader space for color match
```
### Hy (HyJAX) - Secondary
```hy
;; thread_relational_hyjax.hy integration
(import lib.thread_relational_hyjax :as tra)
(defn abduce-from-color [r g b]
"Abduce invader ID from observed RGB"
(let [target [r g b]
analyzer (tra.ThreadRelationalAnalyzer)]
;; Search hypothesis space
(lfor id (range 1 10000)
:if (color-match? id target 0.05)
{:hypothesis id :confidence (- 1.0 (color-distance id target))})))
```
### Babashka (bb) - Scripting
```clojure
;; abductive_repl.bb
(require '[babashka.process :refer [shell]])
(defn abduce [observed-color]
(let [result (shell {:out :string}
"julia" "--project=Gay.jl" "-e"
(format "using Gay; Gay.abduce(RGB(%s))"
(clojure.string/join "," observed-color)))]
(parse-hypotheses (:out result))))
```
## REPL Commands Enhanced
| Command | Description | Interpreter |
|---------|-------------|-------------|
| `!teleport <id>` | Jump to invader's world state | Julia |
| `!abduce r g b` | Infer invader from observed RGB | Julia/Hy |
| `!test [n]` | Run n abductive roundtrip tests | Julia |
| `!hy-analyze` | Run HyJAX relational analysis | Hy |
| `!bb-export` | Export hypotheses via Babashka | Babashka |
## Properties (Testable Predicates)
```ruby
# world_broadcast.rb integration
module AbductiveProperties
def self.spi_determinism(id, seed)
# Same input always produces same output
c1 = WorldBroadcast::CondensedAnima.liquid_norm([id], r: 0.5)
c2 = WorldBroadcast::CondensedAnima.liquid_norm([id], r: 0.5)
c1 == c2
end
def self.abductive_roundtrip(id, seed)
# Forward → Abduce → Verify
forward = CondensedAnima.analytic_stack([id])
cellular = CondensedAnima.to_cellular_sheaf(forward)
cellular[:vertices].include?(id)
end
end
```
## GF(3) Triad Integration
| Trit | Skill | Role |
|------|-------|------|
| -1 | slime-lisp | Validates REPL expressions |
| 0 | **abductive-repl** | Coordinates inference |
| +1 | cider-clojure | Generates evaluations |
**Conservation**: (-1) + (0) + (+1) = 0 ✓
## Justfile Recipes
```makefile
# Start abductive REPL
abduce-repl:
julia --project=Gay.jl -e 'using Gay; Gay.repl()'
# Run via Hy
abduce-hy:
uv run hy -c '(import lib.thread_relational_hyjax) (print "HyJAX ready")'
# Babashka roundtrip test
abduce-bb-test n="100":
bb -e '(println "Abductive tests:" {{n}})'
```
## Related Skills
- `world-hopping` - Possible world navigation
- `unworld` - Derivation chains
- `gay-mcp` - Color generation
- `condensed-analytic-stacks` - 6-functor sheaf bridgeRelated Skills
world-replay-buffer
Maximally snapshotted replay buffer with DuckLake embedding VSS and moments of interaction for world-transition storage
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.
xlsx
Comprehensive spreadsheet creation, editing, and analysis with support
wycheproof
Google's Wycheproof test vectors for cryptographic implementation testing.
Writing Hookify Rules
This skill should be used when the user asks to "create a hookify rule", "write a hook rule", "configure hookify", "add a hookify rule", or needs guidance on hookify rule syntax and patterns.
worldmat-tidar
worldmat-tidar