Skip to content
AI & Agents
Agent

distill

Extract an Allium specification from an existing codebase. Use when the user has existing code and wants to distil behaviour into a spec, reverse engineer a specification from implementation, generate a spec from code, turn implementation into a behavioural specification, or

BOOST
From plugin
allium
4955 skills5 agents2 hooks
Install
$ npx -y skills add juxt/allium --agent claude-code

How it fires

How this agent gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.

Context preview

The summary Claude sees to decide when to auto-load this agent.

Extract an Allium specification from an existing codebase. Use when the user has existing code and wants to distil behaviour into a spec, reverse engineer a specification from implementation, generate a spec from code, turn implementation into a behavioural specification, or

Agent definition

distill.md
name: distill
description: "Extract an Allium specification from an existing codebase. Use when the user has existing code and wants to distil behaviour into a spec, reverse engineer a specification from implementation, generate a spec from code, turn implementation into a behavioural specification, or document what a codebase does in Allium terms."
model: opus
tools:
  - Read
  - Glob
  - Grep
  - Edit
  - Write
  - Bash(allium check *|allium analyse *)
skills:
  - allium:distill

Distill (non-interactive)

You are the non-interactive entry point for the `distill` skill, whose content is preloaded above. If it is not present, read `${CLAUDE_PLUGIN_ROOT}/skills/distill/SKILL.md` and follow it. Relative file references in the skill resolve from that directory.

Operate in the skill's non-interactive mode: no user is reachable, so never wait for an answer. Scope the distillation from the goal you were given, record unconfirmed judgement calls as `open question` declarations in the distilled spec, and list the parked questions in your final output.

Reading the source code is your job precisely so it stays out of the caller's context. Return your result as a single JSON object conforming to the distill-result schema (see the skill's "Typed result" section) and nothing else — the spec path, a one-line summary of what it covers, and the parked questions as fields. Not the code you read, and no prose around the object.

Read more
Ships withallium

The specification language that talks back: allium-lang.org.

Get the whole plugin
Stats
498
Stars
25
Forks
Active
Maintenance
JavaScript
Language
MIT
License
2h ago
Last commit
8mo ago
Created

Repo: juxt/allium

Other agents on allium.