distill

Extract entities, states, and transitions from code into an Allium specification.

1|Updated Mar 11, 2026
One-click install
npx skills add https://github.com/Bullish-Design/remora-v2 --skill distill-bullish-design
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: distill
Source: https://github.com/Bullish-Design/remora-v2/tree/main/.agents/skills/allium/skills/distill
Command: npx skills add https://github.com/Bullish-Design/remora-v2 --skill distill-bullish-design

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Distill a domain-level Allium specification from an existing codebase by extracting entities, states, and transitions.

Core Features & Use Cases

  • Extract domain entities, states, and transitions from code
  • Define scope, boundaries, and library vs application distinctions
  • Produce reusable Allium rules and abstractions while removing implementation details
  • Guide stakeholder validation and alignment with product goals

Quick Start

Provide an Allium distillation for the provided codebase excerpt by identifying entities, states, and rules.

Frequently Asked Questions about distill

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

FAQPage Schema
How do I extract a domain-level specification from an existing codebase?

Extracting a domain-level specification from an existing codebase involves distilling entities, states, and transitions while removing implementation details to preserve domain semantics. This process defines scope and boundaries for mono-repos or multi-service architectures.

What is domain distillation in software design?

Domain distillation in software design is the process of extracting reusable domain rules and abstractions from code. It produces a structured specification containing entities and derivations without retaining underlying implementation details.

How do I generate Allium specs from source code?

Generating Allium specs from source code requires analyzing codebase excerpts to identify domain entities, states, and rules. This distillation delivers a structured specification that guides stakeholder validation and aligns with product goals.

Can I define reusable library boundaries for a multi-service architecture?

Defining reusable library and application boundaries for a multi-service architecture is possible by distilling domain-level specifications. This extraction process clarifies scope and architectural boundaries while preserving core domain semantics.

What is the best way to document domain entities and state transitions?

The best way to document domain entities and state transitions is by distilling them into a structured specification. This captures essential rules and derivations while intentionally removing implementation details to validate alignment with product goals.