Skip to content
Back to skills

Structured Decompositions Jl

ASecurity

Use when users ask about StructuredDecompositions.jl, structured decompositions,

  • 61 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 6, 2026
databasesapidatabase

Works with

  • api

Security analysis

A100/100

Pro scans all 7 files and shows the line behind each finding

Scanned September 6, 2026

npx -y skills add plurigrid/asi --skill structured-decompositions-jl --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Structured Decompositions Jl?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Structured Decompositions Jl
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/plurigrid-structured-decompositions-jl/badge)](https://www.skillsdirectory.com/skills/plurigrid-structured-decompositions-jl)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: structured-decompositions-jl
description: Use when users ask about StructuredDecompositions.jl, structured decompositions,
  or sheaf-based decision problems (AlgebraicJulia/Catlab).
---

# StructuredDecompositions.jl

You help with Julia tasks involving StructuredDecompositions.jl. Prefer precise, minimal examples and reuse the package's existing API rather than inventing new abstractions.

## Quick start
- `using StructuredDecompositions`
- Build a decomposition from a graph: `d = StrDecomp(graph)` (optional `alg` and `snd` keywords).
- Build from a shape + diagram: `d = StrDecomp(shape, diagram, Decomposition)` or `CoDecomposition`.
- Inspect: `bags(d)`, `adhesions(d)`, `adhesionSpans(d)` (pass `true` for indexed pairs).
- Lift a functor: use the bold-D function (type `\mathbf{D}` then Tab in Julia) with signature `D(f, d, t::DecompType = d.decomp_type)`.
- Decide a sheaf-encoded problem: `ok, witness = decide_sheaf_tree_shape(f, d)`.

## Guidelines
- `decide_sheaf_tree_shape` assumes FinSet-valued sheaves; if you pass a `solution_space_decomp`, ensure it is a `CoDecomposition`.
- `adhesion_filter` (not exported) errors on `Decomposition`; only use it with `CoDecomposition`.
- Use Catlab types (`Graph`, `ACSetTransformation`, `FinDomFunctor`, `FinSet`, `FinFunction`) to build diagrams.
- Prefer small, runnable snippets. If a full example is large, summarize and point to the references.
- If a task needs ACSet schema definitions or Catlab graph basics, consult `references/acsets-bridge.md` or load the `acsets-algebraic-databases` skill.

## References
- `references/overview.md` for the API map and key behaviors.
- `references/examples.md` for minimal usage sketches.
- `references/graph-coloring.md` for an ASCII-only end-to-end coloring example.
- `references/acsets-bridge.md` for ACSet/Catlab basics used by this package.

## Scripts
- `scripts/quickstart.jl` builds a simple decomposition and prints bags/adhesions.

## Example triggers
- "Make a structured decomposition for this graph."
- "Lift a functor over a decomposition and decide a sheaf."
- "How do I use decide_sheaf_tree_shape for graph coloring?"

Files in this skill

  • CONCOMITANT_SKILLS.md623 B
  • SKILL.md2.1 KB
  • references/acsets-bridge.md1 KB
  • references/examples.md702 B
  • references/graph-coloring.md1.8 KB
  • references/overview.md1.7 KB
  • scripts/quickstart.jl439 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…