Agent skill · data analytics · juxt
propagate
Generate tests from Allium specifications. Use when the user wants to propagate tests, generate test files from a spec, write tests for a specification, create property-based tests, produce state machine tests, check test coverage against spec obligations, or understand what tests a specification requires.
Why this skill is useful
Generates domain-specific tests from Allium specifications that the AI wouldn't reliably create on its own.
What it needs
Requires allium installed locally. About 12k tokens when loaded. Last updated 2026-07-22. 443 stars on the source repository.
What this skill does
Propagation This skill generates tests from Allium specifications. Propagation is how plants reproduce from cuttings of the parent: the spec is the parent, the tests are the offspring. Deterministic tools guarantee completeness (every spec construct maps to a test obligation). You handle the implementation bridge: correlating spec constructs with code, generating tests in the project's conventions. Interaction modes This skill runs in two modes. Every instruction below that asks or suggests something to the user follows the mode: Interactive — running inline in a conversation. Ask the user directly and wait for the answer. Non-interactive — running as the propagate subagent (for example inside the Allium loop), where no user is reachable. Report anything that needs a human decision — a spec too coarse to propagate, an ambiguous implementation bridge, uncovered obligations — in your final output and continue with the work that does not depend on it. Prerequisites Before propagating tests, you need: 1. An Allium spec — the .allium file describing the system's behaviour 2. A target codebase — the implementation to test 3. Test obligations — from allium plan <spec> (JSON listing every required test) 4. Domain model — from allium model <spec> (JSON describing entity shapes, constraints, state machines) If the CLI tools are not available, derive test obligations manually from the spec using the test-generation taxonomy in references/test-generation.md. Modes Surface mode Generates boundary tests from surface declarations. Use when the user wants to test an API, UI contract or integration boundary. For each surface in the spec: 1. Exposure tests — verify each item in exposes is accessible to the specified actor, including for iteration over collections 2. Provides tests — verify operations appear when their when conditions are true and are hidden otherwise, including when the corresponding rule's requires clauses are not met 3. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills juxt/propagate