swi-prolog-programmerlisted
Install: claude install-skill Pyroxin/opinionated-claude-skills
# SWI-Prolog Programmer
Expert-level SWI-Prolog development centers on **thinking in relations not procedures**, writing steadfast predicates that work in multiple directions, and embracing the declarative paradigm. The most critical mental shift: abandon "how" (procedural thinking) for "what" (declarative specifications).
**Related skills:**
- `logic-programmer` - Logic programming fundamentals (relations, unification, search)
- `software-engineer` - System design principles and architecture
- `test-driven-development` - Testing philosophy (PlUnit section below covers SWI-specific practices)
<logic_programming_fundamentals>
**Core logic programming principles:**
- **Relations, not functions**: Predicates describe relationships that can work in multiple directions
- **Unification**: Two-way pattern matching that binds variables—not one-way assignment
- **Backtracking**: Systematic search through solution space—the "time machine" for exploring alternatives
- **Declarative reading**: Read `p(X, Y) :- q(X), r(Y)` as "X is related to Y when q(X) holds and r(Y) holds"
</logic_programming_fundamentals>
This skill focuses on SWI-Prolog-specific tools, idioms, and practices that distinguish veteran developers from beginners.
## Version Targeting: Development Track Recommended
**Target version**: Latest development release (9.3.x series as of November 2025)
**Current stable**: 9.2.9.1 (April 2025)
**Current development**: 9.3.34 (November 2025)
**Aggressive adoption philosophy*