cl-library-craft

Analyze and generate idiomatic Common Lisp libraries following patterns from Edi Weitz, Marijn Haverbeke, and Eitaro Fukamachi

16 stars

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

$curl -o ~/.claude/skills/cl-library-craft/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/development/cl-library-craft/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/cl-library-craft/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How cl-library-craft Compares

Feature / Agentcl-library-craftStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/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

16
from diegosouzapw/awesome-omni-skill

Master Minecraft server plugin development with Bukkit, Spigot, and

lyriccraft

16
from diegosouzapw/awesome-omni-skill

Collaborative lyric writing with section-by-section approval

library-writer

16
from diegosouzapw/awesome-omni-skill

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

16
from diegosouzapw/awesome-omni-skill

User library, favorites, and reading progress

library-doc

16
from diegosouzapw/awesome-omni-skill

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

16
from diegosouzapw/awesome-omni-skill

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

16
from diegosouzapw/awesome-omni-skill

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

16
from diegosouzapw/awesome-omni-skill

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

16
from diegosouzapw/awesome-omni-skill

This skill provides a way to retrieve information from the AgentScope library for analysis and decision-making.

Advanced Modular Library Design

16
from diegosouzapw/awesome-omni-skill

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

16
from diegosouzapw/awesome-omni-skill

Creates and validates Agent Skills (SKILL.md). Use when creating skills, writing frontmatter, or validating skill structure.

bgo

10
from diegosouzapw/awesome-omni-skill

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.

Coding & Development