Automated CLI consistency inspection on 2026-07-01. 32 issues across help text, flag naming, and docs/CLI mismatches.
Severity: 5 high · 14 medium · 13 low | Workflow run: 28522559500
🔴 High Severity (5)
H-1 · completion docs mislabel shell args as "Subcommands"
- Docs list
bash, zsh, fish, powershell as "Subcommands" — confirmed in source they are ValidArgs (positional values), not cobra subcommands. Only install/uninstall are actual subcommands.
- Fix: Docs → "Subcommands:
install, uninstall. Shell values: bash, zsh, fish, powershell"
H-2 · markdown should be Markdown (6+ occurrences)
- All 25+ other uses in help text capitalize it correctly. Lowercase instances in:
--no-security-scanner (add, deploy, trial), MIME-type bullet (add, add-wizard), hash-frontmatter description bullet.
- Fix: Replace
markdown → Markdown in all flag/description prose.
H-3 · mcp list-tools description is incomplete
- Help says
"List available tools for a specific MCP server" but without a workflow arg it searches workflows containing the server. The parent mcp command correctly says "...or find workflows using it".
- Fix:
"List available tools for a specific MCP server, or find workflows using an MCP server"
H-4 · add-wizard missing four flags vs add/deploy
| Flag |
add |
add-wizard |
deploy |
--append |
✓ |
✗ |
✓ |
--force / -f |
✓ |
✗ |
✓ |
--name / -n |
✓ |
✗ |
✓ |
--no-security-scanner |
✓ |
✗ |
✓ |
H-5 · --disable-codemod breaks --no-X naming convention
- Every other feature-disabling flag uses
--no-X (10 flags across 7 commands). --disable-codemod is the sole --disable-X.
- Fix: Rename to
--no-codemod.
🟡 Medium Severity (14)
M-1 · Grammar: "recent completed" → "recently completed" (forecast description)
M-2 · Grammar: Missing article "an" — "end of agentic workflow" → "end of an agentic workflow" (--append in add, deploy, trial)
M-3 · Engine names capitalized in add-wizard bullet only — "Copilot, Claude, Codex, Gemini, Crush" vs lowercase everywhere else. Fix: Use lowercase CLI values (copilot, claude, codex, gemini, crush).
M-4 · "GitHub Project V2" should be "GitHub Projects V2" (brand name uses plural). Affects two lines in the project command description.
M-5 · "kanban" → "Kanban" (proper noun) in project command description.
M-6 · "lock files" vs ".lock.yml files" inconsistent — deploy, update, upgrade use "lock files" in prose; lint/init use ".lock.yml files". Fix: Use .lock.yml files consistently.
M-7 · run --push docs contradict CLI — Docs: "stages all changes, requires a clean working directory". CLI: "Commit and push workflow files (including transitive imports)". Fix: Update docs to reflect CLI behavior (workflow files only, no clean-tree requirement).
M-8 · --repo description format inconsistent in deploy — uses prose "in [HOST/]owner/repo format" vs parenthetical style "([HOST/]owner/repo format)" used by all other 10 commands.
M-9 · --dir description deviates in lint — uses "Directory to scan for *.lock.yml files" vs standard "Workflow directory" form used by 8 other commands.
M-10 · --dry-run wording inconsistent — run: "Validate workflow without actually triggering execution" vs trial: "Preview trial execution without applying any changes".
M-11 · --yes description incomplete in trial — "Skip confirmation prompts" vs "Auto-accept org-mode X confirmations (required in CI)" in deploy/upgrade.
M-12 · --force in new drops "workflow" — "Overwrite existing files" vs "Overwrite existing workflow files" in add/deploy.
M-13 · --stop-after / --no-stop-after absent from update/upgrade — present in add, add-wizard, deploy. If intentional, should be documented.
M-14 · --no-gitattributes absent from update/upgrade — present in add, add-wizard, deploy.
🔵 Low Severity (13)
| ID |
Location |
Issue |
Fix |
| L-1 |
health description |
"over time period" |
→ "over a time period" |
| L-2 |
init bullet |
"use expires field" |
→ "use the expires field" |
| L-3 |
logs description |
"By default only" |
→ "By default**, only**" (missing comma) |
| L-4 |
env description |
"in batch" (non-idiomatic) |
→ "in bulk" |
| L-5 |
trial description |
"support workflow_dispatch trigger" |
→ "support the workflow_dispatch trigger" |
| L-6 |
update example comment |
"# Refuse workflows that use redirect frontmatter" |
→ "# Refuse updates for workflows..." |
| L-7 |
trial description |
"workflow(s)" with hedge |
→ "workflows" (all other uses don't hedge) |
| L-8 |
run, upgrade |
--approve multi-sentence description lacks terminal period |
Add . |
| L-9 |
upgrade |
Example comment "prerelease" (unhyphenated) |
→ "pre-release" to match flag name --pre-releases |
| L-10 |
init, trial |
"current repo" in prose |
→ "current repository" (matches all flag descriptions) |
| L-11 |
outcomes |
--output flag missing default value |
Add (default: ".github/aw/logs") |
| L-12 |
add, update, upgrade |
--create-pull-request descriptions differ |
Unify to "Create a pull request with the workflow changes" |
| L-13 |
run, trial |
--auto-merge-prs differ by one word |
Unify to "Auto-merge any pull requests created during execution" |
Inspection Metadata
| Field |
Value |
| Date |
2026-07-01 |
| Commands inspected |
29 top-level + 12 subcommands |
| Docs compared |
docs/src/content/docs/setup/cli.md |
| Method |
--help output analysis + docs/CLI comparison + flag cross-reference |
Generated by ✅ CLI Consistency Checker · 527.2 AIC · ⌖ 12.9 AIC · ⊞ 1.5K · ◷
Automated CLI consistency inspection on 2026-07-01. 32 issues across help text, flag naming, and docs/CLI mismatches.
Severity: 5 high · 14 medium · 13 low | Workflow run: 28522559500
🔴 High Severity (5)
H-1 ·
completiondocs mislabel shell args as "Subcommands"bash,zsh,fish,powershellas "Subcommands" — confirmed in source they areValidArgs(positional values), not cobra subcommands. Onlyinstall/uninstallare actual subcommands.install,uninstall. Shell values:bash,zsh,fish,powershell"H-2 ·
markdownshould beMarkdown(6+ occurrences)--no-security-scanner(add,deploy,trial), MIME-type bullet (add,add-wizard),hash-frontmatterdescription bullet.markdown→Markdownin all flag/description prose.H-3 ·
mcp list-toolsdescription is incomplete"List available tools for a specific MCP server"but without a workflow arg it searches workflows containing the server. The parentmcpcommand correctly says"...or find workflows using it"."List available tools for a specific MCP server, or find workflows using an MCP server"H-4 ·
add-wizardmissing four flags vsadd/deployaddadd-wizarddeploy--append--force / -f--name / -n--no-security-scannerH-5 ·
--disable-codemodbreaks--no-Xnaming convention--no-X(10 flags across 7 commands).--disable-codemodis the sole--disable-X.--no-codemod.🟡 Medium Severity (14)
M-1 · Grammar: "recent completed" → "recently completed" (
forecastdescription)M-2 · Grammar: Missing article "an" —
"end of agentic workflow"→"end of an agentic workflow"(--appendinadd,deploy,trial)M-3 · Engine names capitalized in
add-wizardbullet only —"Copilot, Claude, Codex, Gemini, Crush"vs lowercase everywhere else. Fix: Use lowercase CLI values(copilot, claude, codex, gemini, crush).M-4 · "GitHub Project V2" should be "GitHub Projects V2" (brand name uses plural). Affects two lines in the
projectcommand description.M-5 · "kanban" → "Kanban" (proper noun) in
projectcommand description.M-6 · "lock files" vs ".lock.yml files" inconsistent —
deploy,update,upgradeuse "lock files" in prose;lint/inituse ".lock.yml files". Fix: Use.lock.yml filesconsistently.M-7 ·
run --pushdocs contradict CLI — Docs:"stages all changes, requires a clean working directory". CLI:"Commit and push workflow files (including transitive imports)". Fix: Update docs to reflect CLI behavior (workflow files only, no clean-tree requirement).M-8 ·
--repodescription format inconsistent indeploy— uses prose"in [HOST/]owner/repo format"vs parenthetical style"([HOST/]owner/repo format)"used by all other 10 commands.M-9 ·
--dirdescription deviates inlint— uses"Directory to scan for *.lock.yml files"vs standard"Workflow directory"form used by 8 other commands.M-10 ·
--dry-runwording inconsistent —run:"Validate workflow without actually triggering execution"vstrial:"Preview trial execution without applying any changes".M-11 ·
--yesdescription incomplete intrial—"Skip confirmation prompts"vs"Auto-accept org-mode X confirmations (required in CI)"indeploy/upgrade.M-12 ·
--forceinnewdrops "workflow" —"Overwrite existing files"vs"Overwrite existing workflow files"inadd/deploy.M-13 ·
--stop-after/--no-stop-afterabsent fromupdate/upgrade— present inadd,add-wizard,deploy. If intentional, should be documented.M-14 ·
--no-gitattributesabsent fromupdate/upgrade— present inadd,add-wizard,deploy.🔵 Low Severity (13)
healthdescriptioninitbulletlogsdescriptionenvdescriptiontrialdescriptionupdateexample commenttrialdescriptionrun,upgrade--approvemulti-sentence description lacks terminal period.upgrade"prerelease"(unhyphenated)"pre-release"to match flag name--pre-releasesinit,trialoutcomes--outputflag missing default value(default: ".github/aw/logs")add,update,upgrade--create-pull-requestdescriptions differ"Create a pull request with the workflow changes"run,trial--auto-merge-prsdiffer by one word"Auto-merge any pull requests created during execution"Inspection Metadata
docs/src/content/docs/setup/cli.md--helpoutput analysis + docs/CLI comparison + flag cross-reference