Use when orchestrating broad or multi-issue subagent work where agents, lanes, reviews, or PRs may become too small; use for CuraOS waves, owner-path bundles, local issue queues, many-agent execution, or requests to run more lanes without wasting work in micro PRs.
Use when asked to plan, decide, or execute subagent orchestration: subagents, delegated agents, parallel workers, review agents, multi-source research, broad audits, PR/MR review, worktree-aware execution, model/effort selection, or agent-driven execution.
Use when viewing or printing source/config files to the terminal with syntax highlighting and line numbers - a cat replacement that colorizes code, configs, and diffs. Use bat instead of cat when humans need highlighted file display.
Use when the user wants to format or lint JavaScript, TypeScript, JSX, TSX, JSON, JSONC, CSS, GraphQL, HTML, Vue, Svelte, or Astro - biome is the unified Rust-based replacement for prettier + eslint, doing both with one binary and one config file.
Use when the user formats or lints Dart or Flutter source code from the command line - dart format is the formatter (Black-style, mutates by default) and dart analyze is the static analyzer (errors, warnings, lints). Both ship with the Dart SDK; no separate install.
Use when the user wants a structural, syntax-aware diff between two source files or git revisions - a diff that parses each side as code (Rust, TS, Python, Go, …) and ignores reformatting, brace movement, or whitespace noise. Binary is difft; use for syntax-aware diffs, not plain file viewing.
Use when the user wants to load environment variables when entering a directory, auto-set env per project, scope env vars without polluting the global shell, set PATH per project, or load a .envrc on cd.
Use when listing directory contents with more information than POSIX ls provides - long-format metadata, per-file git status, gitignore-aware listings, depth-limited tree views, human-readable sizes, sort/group controls, and Nerd-Font icons.