
Weed
When your Allium specs and implementation have drifted apart, this skill compares them and helps you fix the divergence. It runs in three modes: check only, update the spec to match code, or update code to match spec. The construct-by-construct comparison is solid, but the process-level checks are where it gets interesting. It reconstructs state machines from your code, verifies that spec transitions actually have corresponding code paths, and flags invariants that exist in code but not in specs. One caution: if you're working on a large codebase, the context can blow up fast during iterative fixes, so you may need to split the work across fresh sessions.
- skills.sh installs
- 2.7K
- GitHub stars
- 529
- last updated
- Aug 21, 2026
Install
$ npx -y skills add juxt/allium --skill weed --agent claude-codeInstalls into .claude/skills of the current project.
Files
Weed
You weed the Allium garden. You compare .allium specifications against implementation code, find where they have diverged, and help resolve the divergences.
Interaction modes
This skill runs in two modes. Every instruction below that asks, prompts or checks with 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
weedsubagent (for example inside the Allium loop), where no user is reachable. Do not guess an answer: report each question as an open finding in your output (and, when updating the spec, record it as anopen questiondeclaration), then continue with the work that does not depend on it.
Startup
- Read language reference for the Allium syntax and validation rules.
- Read the relevant
.alliumfiles (search the project to find them if not specified). - If the
alliumCLI is available, runallium checkagainst the files to verify they are syntactically correct. - Read the corresponding implementation code.
Modes
Sponsors
Details
- Repository
- github.com/juxt/allium
- First seen
- May 16, 2026