allium

Capture domain-level software behavior in a formal specification language.

Updated Apr 27, 2026
One-click install
npx skills add https://github.com/ravenoak/oh-my-stigmergy --skill allium-ravenoak
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: allium
Source: https://github.com/ravenoak/oh-my-stigmergy/tree/main/.agents/skills/allium
Command: npx skills add https://github.com/ravenoak/oh-my-stigmergy --skill allium-ravenoak

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Allium provides a formal language for capturing software behavior at the domain level, bridging vague requirements and concrete implementations with precise, testable specifications.

Core Features & Use Cases

  • Defines entities, relations, rules, and surfaces to model how software should behave.
  • Supports contracts, invariants, derived values, transitions graphs (v3), and boundary surfaces for open integration points.
  • Enables automated test generation and verification by tooling against the spec.

Quick Start

Create a minimal Allium file declaring a single entity and a rule; then run the Allium CLI to validate and generate tests.

Frequently Asked Questions about allium

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

FAQPage Schema
How do I write formal specifications for software behavior?

Formal specifications for software behavior are written using the Allium language, which captures domain-level entities, relations, and rules to bridge requirements with precise, testable definitions. You define structured sections for surfaces and contracts.

What is a behavior specification language and when do I need one?

A behavior specification language captures domain-level software behavior for precise, testable specifications. You need one to bridge vague requirements and concrete implementations, enabling automated test generation and formal verification.

Can I define cross-cutting invariants and state transitions in a formal spec?

Yes, formal specs can define cross-cutting invariants, transitions graphs, and derived values across modules. This allows modeling complex contract-driven surfaces and lifecycle graphs from simple to complex scales.

How do I generate automated tests from a formal specification?

Automated test generation from a formal specification is done by running the Allium CLI to validate the spec file. Tooling generates tests against the defined rules, surfaces, and contracts.

Does formal verification scaling work for complex contract-driven surfaces?

Formal verification scaling supports complex contract-driven surfaces by enabling cross-cutting invariants and transitions across modules. It scales from simple lifecycle graphs to complex boundary surfaces for integration points.

What are the limitations of formal methods for domain-level behavior modeling?

Limitations of formal methods include the strict requirement to declare a name and description in frontmatter and structure sections for rules and surfaces precisely. Incorrect structuring prevents validation and test generation.