$npx -y skills add PaulRBerg/agent-skills --skill cli-justUse for just/justfile task automation: create justfiles, write recipes, configure settings, add modules/attributes, or set up command-runner workflows.
| 1 | # Just Command Runner |
| 2 | |
| 3 | Create readable task automation that matches the repository's installed Just version and existing justfile conventions. |
| 4 | |
| 5 | ## Defaults |
| 6 | |
| 7 | - Inspect `just --version`, the existing justfile/module tree, and `just --list` before editing. Installed capabilities |
| 8 | and existing syntax are authoritative over this skill's examples. |
| 9 | - Preserve bespoke formatting. Do not rewrite a justfile with `just --fmt`; use `just --fmt --check` only when the |
| 10 | repository explicitly treats the built-in formatter as authoritative. `just --dump` is inspection output, not a |
| 11 | formatting source. |
| 12 | - Prefer explicit, small recipes; `require()` for tool dependencies; private helpers; check/write recipe pairs; and |
| 13 | aliases after their target recipes. |
| 14 | - Make recipes quiet by default: prefix the recipe name with `@` unless echoing commands has clear value. Recipe-level |
| 15 | `@` inverts per-line `@`, so never also prefix lines inside a `@recipe`. Never add `@` to a `[script]` recipe: scripts |
| 16 | are already quiet, and `@` un-mutes them. See "Quiet Recipes and Command Prefixes" in `references/recipes.md`. |
| 17 | - On stock macOS, assume `/bin/bash` 3.2 unless the recipe explicitly selects a newer shell. |
| 18 | - Use the user's section-banner style when creating a new standalone justfile; existing repository organization |
| 19 | overrides it. |
| 20 | |
| 21 | ## Workflow |
| 22 | |
| 23 | 1. Determine the requested recipe behavior, inputs, outputs, cwd, shell, environment, dependencies, and success |
| 24 | condition. |
| 25 | |
| 26 | 2. Use the installed manual (`just --help`, `just --man`, or <https://just.systems/man/en/>) for version-sensitive |
| 27 | syntax. Read only the task-specific reference: |
| 28 | |
| 29 | | Task | Reference | |
| 30 | | ------------------------------------------ | ------------------------------ | |
| 31 | | Recipes, parameters, dependencies, cache | `references/recipes.md` | |
| 32 | | Settings, dotenv, lists, modules | `references/settings.md` | |
| 33 | | Expressions, functions, constants | `references/syntax.md` | |
| 34 | | Shell or script recipes | `references/inline-scripts.md` | |
| 35 | | Check/write, status, aliases, organization | `references/patterns.md` | |
| 36 | |
| 37 | 3. Make the smallest recipe or setting change. Do not enable unstable features unless the requested design needs them |
| 38 | and the installed version supports them. |
| 39 | |
| 40 | 4. Validate parsing with `just --list` or `just --summary`, then execute the narrowest safe recipe path. For |
| 41 | state-changing recipes, use an existing dry-run/check mode or inspect the expanded command first. |
| 42 | |
| 43 | ## Opinionated Organization |
| 44 | |
| 45 | For a new standalone file, prefer dependency declarations, constants, public recipes, checks, then private helpers. Use |
| 46 | `set default-list := true` when no single default action makes sense and the installed version supports it. Example |
| 47 | starting points live in `examples/standalone.just` and `examples/devkit.just`; load one only when creating that shape. |
| 48 | |
| 49 | Completion requires a parsable justfile, the requested recipe behavior, and execution or dry-run evidence appropriate to |
| 50 | its side effects. Finish with `### ✅ Just workflow ready`, a compact recipe/alias/purpose table when several entries |
| 51 | changed, and `### 🧪 Verification` with exact commands and outcomes. Keep confirmation prompts, recipe data output, |
| 52 | compiler output, and `just --list` output undecorated; preserve the repository's own banner vocabulary. |