Common Lisp Coding Practices
Application skill for Common Lisp style learning (from the archived awesome-guidelines style capsules). For Emacs Lisp, use emacs-lisp-coding-practices when ingested.
Core Principle
Common Lisp quality is idiomatic names + explicit packages + documented CLOS, small libraries, exported APIs only, SLIME-consistent layout.
When to Use / NOT
- Common Lisp libraries, ASDF systems, SBCL/CCL deployments.
- Setting up SLIME indent, SBCL warnings, ASDF test-op in CI.
NOT when:
- Clojure/Scheme/Racket, use language-specific practice skills.
- Generated system stubs only, validate generator.
Workflow
- Format & files, indent, columns, headers (
lisp-style-formatting-files.md).
- Naming, lisp-case, *, +, predicates (
lisp-style-naming-symbols.md).
- Packages, defpackage, ASDF (
lisp-style-packages-systems.md).
- CLOS & control, classes, when/unless (
lisp-style-clos-control.md).
- Verify, load/test system; SBCL
(declaim (optimize ...)) policy; review exports.
Red Flags
- camelCase or snake_case symbols
:use heavy packages (beyond :cl)
other-package::internal in production
- Missing docstrings on exported API
slot-value in application logic
- Unrelated generic function overloads
- Commented-out code blocks
- Monolithic system with no library boundaries
- Abbreviated symbol names
Verification
asdf:test-system / project test script
- SBCL compile with project warning policy
- SLIME/common-lisp-indent style check
- Capsule checklist on package export list
References
awesome-guidelines/references/lisp-style-learning-note.md
awesome-guidelines/references/lisp-style-formatting-files.md
awesome-guidelines/references/lisp-style-naming-symbols.md
awesome-guidelines/references/lisp-style-packages-systems.md
awesome-guidelines/references/lisp-style-clos-control.md
1---2name: common-lisp-coding-practices3description: Use when authoring or reviewing Common Lisp, lisp-case naming, *earmuffs*/+constants+, SLIME indentation,:import-from packages, CLOS typed slots, defgeneric protocols, and ASDF test in CI.4---56# Common Lisp Coding Practices78Application skill for Common Lisp style learning (from the archived `awesome-guidelines` style capsules). For Emacs Lisp, use `emacs-lisp-coding-practices` when ingested.910## Core Principle1112Common Lisp quality is **idiomatic names + explicit packages + documented CLOS**, small libraries, exported APIs only, SLIME-consistent layout.1314## When to Use / NOT1516- Common Lisp libraries, ASDF systems, SBCL/CCL deployments.17- Setting up SLIME indent, SBCL warnings, ASDF test-op in CI.1819**NOT when:**2021- Clojure/Scheme/Racket, use language-specific practice skills.22- Generated system stubs only, validate generator.2324## Workflow25261. **Format & files**, indent, columns, headers (`lisp-style-formatting-files.md`).272. **Naming**, lisp-case, *, +, predicates (`lisp-style-naming-symbols.md`).283. **Packages**, defpackage, ASDF (`lisp-style-packages-systems.md`).294. **CLOS & control**, classes, when/unless (`lisp-style-clos-control.md`).305. **Verify**, load/test system; SBCL `(declaim (optimize ...))` policy; review exports.3132## Red Flags3334- camelCase or snake_case symbols35- `:use` heavy packages (beyond `:cl`)36- `other-package::internal` in production37- Missing docstrings on exported API38- `slot-value` in application logic39- Unrelated generic function overloads40- Commented-out code blocks41- Monolithic system with no library boundaries42- Abbreviated symbol names4344## Verification4546- `asdf:test-system` / project test script47- SBCL compile with project warning policy48- SLIME/common-lisp-indent style check49- Capsule checklist on package export list505152## References5354- `awesome-guidelines/references/lisp-style-learning-note.md`55- `awesome-guidelines/references/lisp-style-formatting-files.md`56- `awesome-guidelines/references/lisp-style-naming-symbols.md`57- `awesome-guidelines/references/lisp-style-packages-systems.md`58- `awesome-guidelines/references/lisp-style-clos-control.md`