Awesome-omni-skill cl-library-craft
Analyze and generate idiomatic Common Lisp libraries following patterns from Edi Weitz, Marijn Haverbeke, and Eitaro Fukamachi
git clone https://github.com/diegosouzapw/awesome-omni-skill
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/development/cl-library-craft" ~/.claude/skills/diegosouzapw-awesome-omni-skill-cl-library-craft && rm -rf "$T"
skills/development/cl-library-craft/SKILL.mdCL Library Craft
A comprehensive skill for analyzing and creating idiomatic Common Lisp libraries.
Purpose
This skill enables AI assistants to:
- Analyze existing CL libraries to understand patterns and conventions
- Generate new CL libraries following established best practices
- Reference design patterns from exemplary CL authors
Sub-Skills
This skill is organized into sub-skills for better context management. Read only the sub-skills relevant to your task.
For Analyzing Libraries
analyze/SKILL.md
Use when: "Analyze this CL library", "What patterns does X use?", "Compare these libraries"
For Writing Libraries
write/SKILL.md
Use when: "Create a CL library for...", "Generate a Lisp package", "Scaffold a CL project"
For Reference Only
guide/ # Design pattern guides templates/ # Code templates analyses/ # Library analyses
Quick Routing
| User Request | Sub-Skill to Read |
|---|---|
| "Analyze the library at..." | |
| "What patterns does X use?" | + |
| "Create a CL library for..." | |
| "Write a Common Lisp package" | |
| "How should I structure..." | files |
| "Show me the template for..." | files |
Directory Structure
cl-library-craft/ ├── SKILL.md # This file - routing ├── analyze/ │ └── SKILL.md # Library analysis sub-skill ├── write/ │ └── SKILL.md # Library generation sub-skill ├── guide/ │ ├── 00-philosophy.md │ ├── 01-project-structure.md │ ├── 02-asdf-systems.md │ ├── 03-package-design.md │ ├── 04-api-design.md │ ├── 05-error-handling.md │ ├── 06-documentation.md │ ├── 07-portability.md │ ├── 08-testing.md │ ├── 09-pattern-matrix.md │ ├── 10-author-styles.md │ └── 11-sbcl-optimizations.md ├── templates/ │ ├── edi-weitz.md # Traditional flat style │ ├── fukamachi.md # Modern src/ style │ ├── haverbeke.md # Multi-system layered │ ├── minimal.md # Smallest possible │ └── snippets.md # Common code patterns └── analyses/ ├── edi-weitz/ │ ├── hunchentoot.md │ ├── cl-ppcre.md │ ├── drakma.md │ └── cl-who.md ├── marijn-haverbeke/ │ └── postmodern.md ├── fukamachi/ │ └── libraries.md └── portability/ └── libraries.md
Usage Examples
Example 1: Analyze a Library
User: "Analyze the patterns in Hunchentoot"
- Read
analyze/SKILL.md - Read
analyses/edi-weitz/hunchentoot.md - Provide analysis
Example 2: Create a New Library
User: "Create a CL library for parsing TOML files"
- Read
write/SKILL.md - Determine style (edi-weitz for parsers)
- Read
templates/edi-weitz.md - Generate files
Example 3: Understand a Pattern
User: "How should I handle errors in CL?"
- Read
guide/05-error-handling.md - Optionally check
for examplesanalyses/ - Provide guidance
Key Principles
These guides are built from analysis of exemplary CL libraries by:
- Edi Weitz - Hunchentoot, CL-PPCRE, Drakma, CL-WHO
- Marijn Haverbeke - Postmodern, S-SQL
- Eitaro Fukamachi - Mito, SXQL, Woo
- Portability authors - bordeaux-threads, closer-mop, ironclad
The patterns reflect real-world, battle-tested conventions from the CL community.