Claude-skill-registry add-dependency

Add a dependency to a Lean project's lakefile. Use when adding requires, dependencies, or imports to a project.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/add-dependency" ~/.claude/skills/majiayu000-claude-skill-registry-add-dependency && rm -rf "$T"
manifest: skills/data/add-dependency/SKILL.md
source content

Add Dependency

Add dependencies to a Lean project with tier validation.

Quick Start

  1. Identify the project and dependency
  2. Check tier ordering (can't depend on higher tiers)
  3. Find the dependency's current version tag
  4. Update lakefile.lean with require statement
  5. Run
    lake update
    and
    lake build

Dependency Tiers

Projects should only depend on projects in the same or lower tiers.

TierProjects
0crucible, staple, cellar, assimptor, raster
1herald, trellis, collimator, protolean, scribe, chronicle, terminus, fugue, linalg, chronos, measures, rune, tincture, wisp, chisel, ledger, quarry, convergent, reactive, tabular, entity, totem, conduit, tracer, smalltalk
2citadel, legate, oracle, parlance, arbor, blockfall, twenty48, minefield, solitaire, stencil
3loom, afferent, canopy, ask, lighthouse, enchiridion, docgen
4todo-app, homebase-app, chroma, vane, worldmap, grove, cairn, afferent-demos

Require Statement Format

require <name> from git "https://github.com/nathanial/<repo>" @ "v0.0.X"

Finding Current Version

cd <category>/<dependency>
git describe --tags --abbrev=0

Or check GitHub releases.

Common Dependencies

DependencyUse CaseRequire Statement
crucibleTesting
require crucible from git "https://github.com/nathanial/crucible" @ "v0.0.1"
collimatorOptics/lenses
require collimator from git "https://github.com/nathanial/collimator" @ "v0.0.1"
terminusTUI apps
require terminus from git "https://github.com/nathanial/terminus" @ "v0.0.1"
wispHTTP client
require wisp from git "https://github.com/nathanial/wisp" @ "v0.0.1"
chronosTime/dates
require chronos from git "https://github.com/nathanial/chronos-lean" @ "v0.0.1"

External Dependencies

-- Mathlib (for collimator)
require mathlib from git "https://github.com/leanprover-community/mathlib4" @ "v4.X.0"

-- Batteries (for ledger)
require batteries from git "https://github.com/leanprover-community/batteries" @ "v4.X.0"

-- Plausible (for property testing)
require plausible from git "https://github.com/leanprover-community/plausible" @ "v4.X.0"

After Adding

lake update   # Fetch new dependency
lake build    # Verify it builds
lake test     # Ensure tests still pass

Tier Violation Warning

If adding a dependency from a higher tier, warn the user:

⚠️ Warning: Adding

<dep>
(Tier X) to
<project>
(Tier Y) violates tier ordering. This creates a circular dependency risk. Consider:

  • Moving
    <project>
    to a higher tier
  • Finding an alternative in a lower tier
  • Extracting shared code to a new lower-tier project