cl-library-craft
Analyze and generate idiomatic Common Lisp libraries following patterns from Edi Weitz, Marijn Haverbeke, and Eitaro Fukamachi
Best use case
cl-library-craft is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Analyze and generate idiomatic Common Lisp libraries following patterns from Edi Weitz, Marijn Haverbeke, and Eitaro Fukamachi
Teams using cl-library-craft should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/cl-library-craft/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How cl-library-craft Compares
| Feature / Agent | cl-library-craft | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Analyze and generate idiomatic Common Lisp libraries following patterns from Edi Weitz, Marijn Haverbeke, and Eitaro Fukamachi
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# CL Library Craft
A comprehensive skill for analyzing and creating idiomatic Common Lisp libraries.
## Purpose
This skill enables AI assistants to:
1. **Analyze** existing CL libraries to understand patterns and conventions
2. **Generate** new CL libraries following established best practices
3. **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..." | `analyze/SKILL.md` |
| "What patterns does X use?" | `analyze/SKILL.md` + `analyses/` |
| "Create a CL library for..." | `write/SKILL.md` |
| "Write a Common Lisp package" | `write/SKILL.md` |
| "How should I structure..." | `guide/` files |
| "Show me the template for..." | `templates/` 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"
1. Read `analyze/SKILL.md`
2. Read `analyses/edi-weitz/hunchentoot.md`
3. Provide analysis
### Example 2: Create a New Library
User: "Create a CL library for parsing TOML files"
1. Read `write/SKILL.md`
2. Determine style (edi-weitz for parsers)
3. Read `templates/edi-weitz.md`
4. Generate files
### Example 3: Understand a Pattern
User: "How should I handle errors in CL?"
1. Read `guide/05-error-handling.md`
2. Optionally check `analyses/` for examples
3. 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.Related Skills
minecraft-bukkit-pro
Master Minecraft server plugin development with Bukkit, Spigot, and
lyriccraft
Collaborative lyric writing with section-by-section approval
library-writer
This skill should be used when writing software libraries, packages, or modules following battle-tested patterns for clean, minimal, production-ready code. It applies when creating new libraries, refactoring existing ones, designing library APIs, or when clean, dependency-minimal library code is needed. Triggers on requests like "create a library", "write a package", "design a module API", or mentions of professional library development.
Library Management
User library, favorites, and reading progress
library-doc
Index and search library documentation locally for offline use. Invoke when user asks to index docs, search library topics, or list indexed libraries.
lang-elm-library-dev
Elm-specific library/package development patterns. Use when creating Elm packages, designing pure functional APIs, configuring elm.json for libraries, writing documentation comments, publishing to package.elm-lang.org, or managing semantic versioning in pure functional context. Extends meta-library-dev with Elm tooling and ecosystem patterns.
crafting-rules
Use when creating or modifying OpenCode rules (.md/.mdc files) that customize agent behavior. Helps extract patterns from conversation history, analyze project conventions (AGENTS.md, linters, package.json), and draft well-formatted rules with appropriate globs/keywords. Trigger when user wants to create a rule, codify repeated instructions, persist guidance across sessions, or customize agent behavior for specific files or topics.
ash-library-hotfix
Handles emergency hotfix process for critical bugs in ash_cookie_consent library including branch creation, minimal fixes, testing, and rapid release. Use when user asks to "create hotfix", "emergency fix", "patch critical bug", or "hotfix for version".
Analyzing AgentScope Library
This skill provides a way to retrieve information from the AgentScope library for analysis and decision-making.
Advanced Modular Library Design
Design modular libraries with clear package boundaries, feature-first organization, and clean API surfaces. Use when structuring monorepos, defining module boundaries, or designing library APIs.
skillcraft
Creates and validates Agent Skills (SKILL.md). Use when creating skills, writing frontmatter, or validating skill structure.
bgo
Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.