cl-asdf-system

Standardize ASDF system definitions for Common Lisp projects.

1|Updated Dec 8, 2025
One-click install
npx skills add https://github.com/cxxxr/.claude --skill cl-asdf-system
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: cl-asdf-system
Source: https://github.com/cxxxr/.claude/tree/main/skills/cl-asdf-system
Command: npx skills add https://github.com/cxxxr/.claude --skill cl-asdf-system

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

ASDF のシステム定義を標準化し、依存関係・構成・テストの統合を容易にします。

Core Features & Use Cases

  • defsystem の基本構造: バージョン、著者、ライセンス、.href などのメタデータと長い説明
  • モジュールとコンポーネント: serial/parts の適切な依存関係管理
  • 依存関係とフィーチャー依存: 主要依存関係と条件付きコンポーネントの指定
  • テスト統合: Rove/Quicklisp などのテストフローを ASDF に統合

Quick Start

簡易な .asd ファイルを作成し、ASDF でシステムを定義・ロード・テストします。

Frequently Asked Questions about cl-asdf-system

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I standardize ASDF system definitions for Common Lisp projects?

ASDF system definitions standardize Common Lisp project structure by organizing defsystem declarations with consistent metadata, component hierarchies, dependency management, and semantic versioning. This ensures reproducible builds, proper dependency resolution, and compatibility with package managers like Quicklisp across small libraries and large multi-module systems.

What should I include in an .asd file for a Common Lisp project?

An .asd file should declare the system name, version, author, license, and description in defsystem, then organize components using serial and non-serial ordering for proper dependency sequencing. Include main dependencies, conditional feature dependencies, test components, and metadata like long descriptions and URLs for clarity and Quicklisp submission.

How do I manage dependencies and conditional components in ASDF?

ASDF supports primary and weak dependencies specified in defsystem, plus feature-driven conditional components. Use :depends-on for required modules, :weakly-depends-on for optional ones, and :if-feature to load components only when features are enabled, enabling modular design across both small and large systems.

Can I integrate testing into ASDF system definitions?

Yes, ASDF integrates test components directly into system definitions. Define a separate test system or add test components within defsystem, connecting them to testing frameworks like Rove. This enables ASDF to run tests as part of the build workflow and supports Quicklisp test integration.

What's the difference between serial and non-serial component ordering in ASDF?

Serial component ordering loads files sequentially with each file depending on previous ones, ensuring strict evaluation order. Non-serial ordering allows independent compilation, reducing build time. Choose serial for interdependent code and non-serial for modular components to balance correctness and performance.

When should I use weak dependencies versus regular dependencies in ASDF?

Use regular dependencies for required libraries that must load before your system. Use weak dependencies for optional enhancements that gracefully skip if unavailable, preventing build failures when optional packages aren't installed while maintaining system functionality and modularity.