clojure-programmer

Guide Clojure development with idiomatic patterns, REPL workflows, and spec validation.

8|Updated Nov 29, 2025
One-click install
npx skills add https://github.com/Pyroxin/opinionated-claude-skills --skill clojure-programmer
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: clojure-programmer
Source: https://github.com/Pyroxin/opinionated-claude-skills/tree/main/opinionated-lisp-development/skills/clojure-programmer
Command: npx skills add https://github.com/Pyroxin/opinionated-claude-skills --skill clojure-programmer

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides expert guidance on Clojure's core philosophies, idiomatic patterns, and best practices, helping developers write more robust, maintainable, and idiomatic Clojure code.

Core Features & Use Cases

  • Core Philosophy: Understand "simple over easy," data-oriented design, and the open-world assumption.
  • REPL-Driven Development: Master the interactive development workflow.
  • Data-Oriented Design: Learn to leverage maps and qualified keywords effectively.
  • Spec: Implement robust runtime validation at system boundaries.
  • Common Mistakes: Avoid pitfalls common for developers coming from other language backgrounds.
  • Use Case: A developer new to Clojure can use this Skill to understand why maps are preferred over classes, how to structure their code for REPL-driven development, and when and how to use spec for validation.

Quick Start

Explain the core philosophy of Clojure development, emphasizing simplicity and data orientation.

Frequently Asked Questions about clojure-programmer

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why does Clojure prefer data-oriented design over classes?

Clojure's data-oriented design emphasizes simplicity and open-world assumptions, preferring maps and qualified keywords over rigid class hierarchies to keep systems flexible and maintainable.

How do I start with REPL-driven development in Clojure?

Clojure REPL-driven development allows you to interactively evaluate code, test functions instantly, and build applications incrementally, ensuring immediate feedback and rapid iteration cycles.

When should I use spec for runtime validation in Clojure?

Use Clojure spec at system boundaries to implement robust runtime validation. It ensures data integrity by validating structures and functions where external data enters your application.

What are common mistakes when transitioning to Clojure from other paradigms?

Common Clojure mistakes include overusing object-oriented patterns, ignoring functional programming idioms, and neglecting data-oriented design, which compromise the simplicity and robustness of the codebase.

Can I use Clojure for systems requiring an open-world assumption?

Yes, Clojure is designed with an open-world assumption, allowing systems to integrate and interact with external data and services dynamically without requiring exhaustive upfront definitions.

What does simple over easy mean in Clojure development?

Simple over easy in Clojure means prioritizing uncomplicated architectures and data-oriented design over easy shortcuts, ensuring long-term maintainability and robustness rather than short-term convenience.