Use this skill when the user asks to "run an angreal task", "execute angreal command", "discover angreal tasks", "list angreal commands", "use angreal tree", "find available tasks", "what tasks are available", or needs guidance on running tasks, interpreting task output, task workflows, or choosing the right task for a job.
The session-start hook already injects the task tree, the "use angreal first" rule, the top-level CLI surface (tree, mcp, init, alias, completion, -v, --help), the exit-code table, and the debug env vars. This skill covers what doesn't fit in that always-present preamble: argument syntax, group nesting, workflow composition, and how to choose between tasks.
Flags (boolean switches — no value):
angreal build --release
angreal test rust --unit-only
Value arguments (both forms work unless the task uses require_equals):
angreal deploy --version v1.2.3
angreal test completion --shell=bash
Multi-value arguments (repeat the flag):
angreal compile --file a.txt --file b.txt
Short flags chain with single-char names:
angreal build -vj 8 # if -v and -j are both single-char short flags
When in doubt, run angreal <command> --help — it always shows the exact accepted syntax.
Tasks are organized hierarchically. Two-level nesting is common; deeper nesting works but is rare.
angreal test rust # single group
angreal docker compose up # nested groups
angreal docs build --draft # group + flag
Groups are namespaces, not tasks themselves — angreal docker with no subcommand will list the docker group's commands. Use angreal tree to see the full tree at a glance.
A single command name can legitimately appear under multiple groups (e.g. angreal test all and angreal docs all) — Angreal 2.8.5+ keys the registry by full path so this is collision-free.
When angreal tree --long shows several candidates, the ToolDescription blocks include risk_level and "When to use / When NOT to use" guidance. Prefer:
read_only over safe over destructive when exploring or unsure.test rust --unit-only over test all when you only changed Rust unit code).test all, ci) when the user asks for "the full check" or before a release.If two tasks look equally appropriate, the one with the more detailed ToolDescription is usually the canonical entry point — task authors put effort into the one they want agents to pick.
angreal lint check && angreal test all
Chain with && so a failure halts the chain. Each task's non-zero exit propagates naturally.
angreal test all \
&& angreal build --release \
&& angreal docs build \
&& angreal deploy staging
Stop at the first failure. For destructive steps (deploy), confirm the user wants to proceed rather than chaining blindly.
ANGREAL_DEBUG=true angreal test rust --unit-only -v
ANGREAL_DEBUG=true enables Angreal's own debug logging (task discovery, registration, argument parsing). The task-internal -v flag — if the task author wired one — controls the task's own verbosity. The two are independent.
If angreal test python runs the whole pytest suite but you want a single test, check whether the task accepts a pattern argument (angreal test python --help). If not, fall through to the underlying tool (pytest tests/test_foo.py::test_bar) — this is one of the rare cases where bypassing angreal is correct.
The "always use angreal" rule has a few legitimate exceptions:
git log, ls, cat).cargo check directly").Default behavior is still: check angreal tree first; only bypass when the task genuinely can't express what's needed.
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer