# Writing Clojure Code

> Use when writing or refactoring any Clojure code — CLJ, CLJC, or CLJS (handlers, domain logic, helpers, defmethods, event handlers). Covers formatting for cond/case (same-line aligned clauses, no blank-line gutters, extract multi-line results), cond-, as-, function-call continuation args, let-binding alignment, and idiomatic patterns for API handlers (short-circuit with or, extract guard helpers, extract reusable predicates). Also applies to Clojure you write into implementation plans, design specs, scaffolding examples, or code-review prompts/comments — plan/spec code blocks get transcribed into the codebase verbatim, so they must already follow these rules (e.g. API handlers use an or-chain of maybe- guards, never a multi-branch guard cond; cond/case clauses are same-line with no blank-gutter). For Reagent-component-specific conventions use writing-reagent-components instead.

## Facts
- Page: https://tashan.sh/capability/skill-cleancoders-writing-clojure-code
- tashan id: skill:cleancoders/writing-clojure-code
- Source: https://github.com/cleancoders/agent-plugins
- Type: skill
- Category: other
- tashan score: not scored (catalogued only — too little public evidence)
- Adoption: 9.0
- Upkeep: 98.0
- Freshness: 96.0
- Evidence coverage: 84% of the inputs this score can use
- Health: active
- Instruction depth: not yet graded
- Official: no

## Install

```sh
cp -r writing-clojure-code ~/.claude/skills/
```

## Security audit
Not scanned. We audit npm-published capabilities; this one has no npm package we can resolve, or has not reached the queue. This is not a clean bill of health.

---
Measured 2026-08-15 by tashan (https://tashan.sh) from public evidence. Scorer s5.
