Agent Skills: ACSet Skill Taxonomy

Taxonomy of ACSet skills with morphisms to semantically similar categorical/relational skills

UncategorizedID: plurigrid/asi/acset-taxonomy

Install this agent skill to your local

pnpm dlx add-skill https://github.com/plurigrid/asi/tree/HEAD/skills/acset-taxonomy

Skill Files

Browse the full folder contents for acset-taxonomy.

Download Skill

Loading file tree…

skills/acset-taxonomy/SKILL.md

Skill Metadata

Name
acset-taxonomy
Description
Taxonomy of ACSet skills with morphisms to semantically similar categorical/relational skills

ACSet Skill Taxonomy

Trit: 0 (ERGODIC - coordinates between schema validation and data generation)

Overview

This skill maps the ecosystem of ACSet-based skills and their morphisms to semantically similar categorical/relational skills.

                    ┌─────────────────────────────────────────┐
                    │         ACSET SKILL UNIVERSE            │
                    └─────────────────────────────────────────┘
                                      │
           ┌──────────────────────────┼──────────────────────────┐
           │                          │                          │
    ┌──────▼──────┐           ┌───────▼───────┐          ┌───────▼───────┐
    │  EXPLICIT   │           │  DOMAIN-      │          │  SEMANTICALLY │
    │  ACSET      │           │  SPECIFIC     │          │  SIMILAR      │
    │  CORE       │           │  ACSET        │          │  CATEGORICAL  │
    └─────────────┘           └───────────────┘          └───────────────┘
         (3)                       (12)                       (12)

I. EXPLICIT ACSET CORE (3 skills)

Foundation skills that define ACSet theory and operations:

| Skill | Description | Schema Pattern | Trit | |-------|-------------|----------------|------| | acsets | Algebraic databases with Specter navigation | Ob::, Hom::, Attr:: | 0 | | acsets-relational-thinking | Functors X: C → Set, DPO rewriting | Category → Set | -1 | | specter-acset | Bidirectional navigation, inline caching | Lenses/Prisms | +1 |

GF(3) Triad: acsets-relational-thinking (-1) ⊗ acsets (0) ⊗ specter-acset (+1) = 0 ✓


II. DOMAIN-SPECIFIC ACSET (12 skills)

ACSet schemas instantiated for specific domains:

A. Google Workspace ACSet Family

| Skill | Domain | Schema Objects | MCP Equivalence | |-------|--------|----------------|-----------------| | calendar-acset | Google Calendar | Event, Attendee, Recurrence | calendar-mcp | | docs-acset | Google Docs/Sheets | Document, Comment, Cell | docs-mcp | | drive-acset | Google Drive | File, Folder, Permission | drive-mcp | | tasks-acset | Google Tasks | Task, TaskList, Due | tasks-mcp |

Common Pattern: Transform API operations → GF(3)-typed Interactions → triadic queues

B. Data Import/Export ACSet Family

| Skill | Domain | Schema Objects | Source | |-------|--------|----------------|--------| | chatgpt-export-acset | ChatGPT exports | Conversation, Message, Author | JSON export | | openai-acset | OpenAI API | Request, Response, Token | API calls | | browser-history-acset | Browser history | Visit, Page, Domain | SQLite |

C. Infrastructure ACSet Family

| Skill | Domain | Schema Objects | Use Case | |-------|--------|----------------|----------| | nix-acset-worlding | Nix store | Derivation, StorePath, Dep | GC analysis | | protocol-acset | P2P protocols | Message, Peer, Channel | Interop design | | rg-flow-acset | Ripgrep flows | Match, File, Pattern | Code search |

D. Language Bridge ACSet Family

| Skill | Domain | Schema Objects | Bridge | |-------|--------|----------------|--------| | lispsyntax-acset | S-expressions | Sexp, Atom, List | Julia ↔ Lisp | | compositional-acset-comparison | Algorithm analysis | Query, Result, Schema | DuckDB ↔ LanceDB |


III. SEMANTICALLY SIMILAR CATEGORICAL (12 skills)

Skills that share categorical/relational structure but don't explicitly use ACSets:

A. Sheaf/Cohomology Family

| Skill | Structure | Relation to ACSet | Morphism | |-------|-----------|-------------------|----------| | sheaf-cohomology | Čech cohomology | Sheaves on schemas | H^n(C, F) | | structured-decomp | Tree decompositions | Sheaves on trees | FPT algorithms | | persistent-homology | Persistence modules | Filtered ACSets | Barcodes |

Morphism: ACSet schema C → Sheaf F: C^op → Set

B. Fibration/Extension Family

| Skill | Structure | Relation to ACSet | Morphism | |-------|-----------|-------------------|----------| | covariant-fibrations | Dependent types over 2 | Fibered ACSets | π: E → B | | kan-extensions | (L ⊣ R) adjunctions | Schema change functors | Lan_F, Ran_F | | ordered-locale | Frames with preorder | Directed ACSets | ≪ relation |

Morphism: Schema morphism F: C → D induces Lan_F: Set^C → Set^D

C. Computational/Rewriting Family

| Skill | Structure | Relation to ACSet | Morphism | |-------|-----------|-------------------|----------| | datalog-fixpoint | Bottom-up iteration | Relational queries | IDB/EDB | | interaction-nets | Lafont nets | Graph rewriting | DPO rules | | open-games | Compositional games | Wiring diagrams | Play/Coplay |

Morphism: ACSet rewriting via DPO (Double Pushout)

D. Distributed/Temporal Family

| Skill | Structure | Relation to ACSet | Morphism | |-------|-----------|-------------------|----------| | topos-catcolab | Double theories | Collaborative ACSets | Automerge CRDT | | crdt-vterm | LWW/G-Counter | Mergeable ACSets | ⊔ lattice | | temporal-coalgebra | Final coalgebras | Stream of ACSets | νF bisimulation |

Morphism: ACSet × Time → Temporal ACSet (presheaf on ℕ^op)


IV. MORPHISM DIAGRAM

                         ┌────────────────┐
                         │  acsets (0)    │
                         │  Core Functor  │
                         │   X: C → Set   │
                         └───────┬────────┘
                                 │
            ┌────────────────────┼────────────────────┐
            │                    │                    │
    ┌───────▼────────┐   ┌───────▼────────┐   ┌───────▼────────┐
    │ Domain-Specific│   │ Sheaf/Cohom    │   │ Computation    │
    │ (Workspace,    │   │ (structure on  │   │ (rewriting,    │
    │  Protocol)     │   │  schema)       │   │  queries)      │
    └───────┬────────┘   └───────┬────────┘   └───────┬────────┘
            │                    │                    │
            │    forgetful       │    forgetful       │
            │    functor U       │    functor U       │
            │                    │                    │
            └────────────────────┼────────────────────┘
                                 │
                         ┌───────▼────────┐
                         │  specter-acset │
                         │  Navigation    │
                         │  Lenses/Prisms │
                         └────────────────┘

V. GF(3) TRIADIC ORGANIZATION

Core Triad

acsets-relational-thinking (-1) ⊗ acsets (0) ⊗ specter-acset (+1) = 0 ✓

Sheaf Triad

sheaf-cohomology (-1) ⊗ structured-decomp (0) ⊗ persistent-homology (+1) = 0 ✓

Workspace Triad

calendar-acset (-1) ⊗ docs-acset (0) ⊗ drive-acset (+1) = 0 ✓

Computation Triad

datalog-fixpoint (-1) ⊗ interaction-nets (0) ⊗ open-games (+1) = 0 ✓

Temporal Triad

temporal-coalgebra (-1) ⊗ crdt-vterm (0) ⊗ topos-catcolab (+1) = 0 ✓

VI. SCHEMA PATTERNS

Generic ACSet Schema Template

@present SchDomainACSet(FreeSchema) begin
    # Objects (Ob)
    Entity::Ob
    Relation::Ob
    Attribute::Ob
    
    # Morphisms (Hom)
    source::Hom(Relation, Entity)
    target::Hom(Relation, Entity)
    
    # Attributes (Attr)
    Name::AttrType
    Value::AttrType
    entity_name::Attr(Entity, Name)
    attr_value::Attr(Attribute, Value)
end

Common Schema Transformations

| Transform | From | To | Functor | |-----------|------|----|---------| | Forget | WorkspaceACSet | ACSet | Forgetful U | | Embed | ACSet | SheafACSet | Yoneda y | | Temporal | ACSet | StreamACSet | Δ^* (nerve) | | Distributed | ACSet | CRDTACSet | Free(Lattice) |


VII. USAGE PATTERNS

Cross-ACSet Query

# Query across multiple domain ACSets
using ACSets, Catlab

# Define morphism between schemas
F = SchemaMap(CalendarSchema, TasksSchema, 
    Event => Task,
    due_date => due_date
)

# Pull back tasks to calendar view
calendar_tasks = Δ(F, my_tasks)

Sheaf Consistency Check

# Verify local-to-global consistency
using StructuredDecompositions

decomp = tree_decomposition(my_acset)
consistent = verify_sheaf_condition(decomp)

Temporal Stream

# Create temporal ACSet stream
using TemporalCoalgebra

stream = unfold(initial_acset) do x
    (observe(x), step(x))
end

VIII. INVARIANTS

invariants:
  - name: functor_preservation
    predicate: "F(id_A) = id_{F(A)} and F(g∘f) = F(g)∘F(f)"
    scope: per_morphism
    
  - name: schema_pullback
    predicate: "Δ(F, X) is right adjoint to Σ(F, X)"
    scope: per_schema_map
    
  - name: gf3_triad_conservation
    predicate: "Σ trit = 0 for each triad"
    scope: per_skill_group
    
  - name: crdt_convergence
    predicate: "a ⊔ b = b ⊔ a (commutativity)"
    scope: per_distributed_acset

IX. REFERENCES


Autopoietic Marginalia

The interaction IS the skill improving itself.

Every use of this skill is an opportunity for worlding:

  • MEMORY (-1): Record what was learned
  • REMEMBERING (0): Connect patterns to other skills
  • WORLDING (+1): Evolve the skill based on use

Add Interaction Exemplars here as the skill is used.