kan-extensions

Migrate schemas across versions using left and right Kan extensions.

60|13|Updated Dec 22, 2025
One-click install
npx skills add https://github.com/plurigrid/asi --skill kan-extensions
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: kan-extensions
Source: https://github.com/plurigrid/asi/tree/main/skills/kan-extensions
Command: npx skills add https://github.com/plurigrid/asi --skill kan-extensions

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Kan extensions enable universal schema migration by left/right Kan extensions, enabling forward/backward compatibility of schemas.

Core Features & Use Cases

  • Lan_K F: left Kan extension for forward migration
  • Ran_K F: right Kan extension for backward migration
  • Schema transport patterns and universal properties
  • Integration with ACSets for migrations

Quick Start

Perform a forward migration using Lan_K F to migrate a schema, then validate with Ran_K F for backward compatibility.

Frequently Asked Questions about kan-extensions

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

FAQPage Schema
How do I migrate schemas between versions using Kan extensions?

Schema migration via Kan extensions uses left Kan extension (Lan_K F) for forward migrations and right Kan extension (Ran_K F) for backward migrations. You provide a mapping K from old to new schema and a functor F from the old schema to Set, then apply the extension to evolve schemas and their instances across versions while maintaining compatibility.

What's the difference between forward and backward schema migration?

Forward migration (Lan_K F) evolves data to a new schema by taking colimits; backward migration (Ran_K F) maintains compatibility by taking limits. Forward handles schema evolution; backward ensures old data remains accessible under the new structure through universal properties of Kan extensions.

Can I use Kan extensions for ACSets-based schema migrations?

Yes, Kan extensions integrate directly with ACSets for schema migrations. The approach handles schema transport patterns and preserves universal properties specific to ACSets structures, enabling both forward and backward compatibility in attribute-colored set migrations.

Do I need category theory knowledge to perform schema migrations?

While Kan extensions are grounded in category theory, the migration workflow abstracts the mathematical complexity. You define the schema mapping K and functor F, then apply Lan_K or Ran_K; the Julia/Catlab framework handles the categorical computation underneath.

What input data do I need to set up a schema migration?

You need a mapping K from your old schema to the new schema and a functor F from the old schema to Set. These define how data transforms; Kan extensions then compute the migrated schema and instances automatically within Julia/Catlab workflows.