Summary
Comprehensive CLI consistency inspection performed on 2026-07-10 across all gh aw commands.
Commands inspected: 25 top-level commands + subcommands
Total issues found: 25
Severity breakdown: 1 high · 7 medium · 17 low
Severity Breakdown
| Severity |
Count |
| 🔴 High |
1 |
| 🟡 Medium |
7 |
| 🟢 Low |
17 |
1. Grammar & Style Issues
7 issues (click to expand)
1.1 --fail-fast example comment incomplete — gh aw validate (low)
Quoted CLI output: gh aw validate --fail-fast # Stop at the first error
Expected: # Stop at the first validation error (matches the flag description)
Suggested fix: Update example comment to add the word "validation".
1.2 Missing blank line before "The workflow-id" paragraph — gh aw logs (low)
Quoted CLI output:
- summary.json: Complete metrics and run data for all downloaded runs
The workflow-id is the basename of the Markdown file without the .md extension.
Expected: A blank line between the artifact list and the The workflow-id is... paragraph.
Suggested fix: Add a blank line separator.
1.3 workflow(s) informal pluralization — gh aw trial (low)
Quoted CLI output: ...installs the specified workflow(s) from their source repositories...
Expected: ...installs the specified workflows from their source repositories...
Suggested fix: Remove parenthetical (s) — all other commands use the plain plural.
1.4 Floating "Unlike upgrade" sentence — gh aw compile (medium)
Quoted CLI output:
Unlike 'upgrade', compilation only applies codemods when you opt in with --fix.
--action-mode <mode>
Expected: This sentence should appear in the opening description paragraph, not floating between unrelated sections.
Suggested fix: Move to opening description or add a Note: prefix.
1.5 "Flag behavior" bullets have lowercase openers — gh aw upgrade (low)
Quoted CLI output:
Flag behavior:
- upgrade runs codemods, action version updates, and workflow compilation by default; use --no-fix to skip all three steps
- --no-actions and --no-compile are only applied when --no-fix is not set
Suggested fix: Capitalize bullet openers and use complete sentences.
1.6 gh aw lint examples have no inline comments (low)
Quoted CLI output:
Examples:
gh aw lint
gh aw lint .github/workflows/foo.lock.yml
gh aw lint --dir .github/workflows
gh aw lint --shellcheck --pyflakes
Suggested fix: Add inline # comment descriptions to all example lines.
1.7 gh aw fix numbered steps missing terminal periods (low)
Quoted CLI output:
4. Write updated files back to disk
5. Delete deprecated .github/aw/schemas/agentic-workflow.json file if it exists
Suggested fix: Add periods consistently to all numbered steps.
2. Flag Naming & Description Inconsistencies
5 issues (click to expand)
2.1 --repo flag uses different phrasing on gh aw deploy (medium)
Quoted CLI output: -r, --repo string Target repository in [HOST/]owner/repo format (required unless --org is provided)
All other commands: Target repository ([HOST/]owner/repo format). Defaults to current repository
Issues: Different bracket style, missing trailing period.
Suggested fix: Target repository ([HOST/]owner/repo format). Required unless --org is provided
2.2 --no-security-scanner uses "Disable" while all other --no-* flags use "Skip" (low)
Affected commands: add, add-wizard, deploy, update, trial
Quoted CLI output: --no-security-scanner Disable security scanning of workflow markdown content
Suggested fix: Change Disable to Skip.
2.3 --dry-run descriptions use different verbs across commands (low)
gh aw run: Validate workflow without actually triggering execution on GitHub Actions
gh aw trial: Preview trial execution without applying any changes
Suggested fix: Standardize to one verb.
2.4 --no-compile description inconsistency between update and upgrade (low)
gh aw update: Missing ; ignored when --no-fix is set qualifier (which correctly appears in upgrade).
2.5 --last flag description omits -c short alias (low)
Quoted CLI output: --last int Alias for --count: number of recent runs to download
Docs say: "alias for --count/-c"
Suggested fix: Alias for --count/-c: number of recent runs to download
3. Command Description Gaps
5 issues (click to expand)
3.1 🔴 gh aw experiments documented in cli.md but absent from CLI (HIGH)
CLI output: The word "experiments" appears 0 times in CLI help output.
Docs (cli.md):
#### `experiments`
Inspect experiment state tracked in `experiments/*` branches.
gh aw experiments # List experiment workflow branches
gh aw experiments list --json # List all experiments in JSON format
gh aw experiments analyze my-workflow # Analyze one experiment workflow
Suggested fix: Either register the command in CLI help, or remove it from the public documentation.
3.2 gh aw upgrade opening description is vague (medium)
Quoted CLI output: Upgrade the repository to the latest version of agentic workflows.
Issue: Undistinguishable from gh aw update.
Suggested fix: Upgrade repository agent files, apply codemods, and recompile all workflows.
3.3 gh aw add one-line description omits local files and URL sources (medium)
Quoted CLI output: Add one or more agentic workflows from repositories to .github/workflows.
Suggested fix: Add one or more agentic workflows from repositories, URLs, or local files to .github/workflows.
3.4 gh aw env get / gh aw env update have no standalone help sections (medium)
Issue: Only the parent gh aw env section exists. Subcommand flags are undiscoverable.
Suggested fix: Ensure subcommands produce full --help output.
3.5 gh aw secrets set / gh aw secrets bootstrap have no standalone help sections (medium)
Issue: Only the parent gh aw secrets section exists. Flags like --value, --value-from-env, --non-interactive are undiscoverable from --help.
Suggested fix: Ensure subcommands produce full --help output.
4. Docs vs CLI Mismatches
4 issues (click to expand)
4.1 cli.md run examples omit --dry-run (low)
Suggested fix: Add gh aw run workflow --dry-run # Validate without actually running
4.2 cli.md run description says "Displays workflow URL for tracking" — not in CLI (low)
Docs text: Execute workflows immediately in GitHub Actions. Displays workflow URL for tracking.
Suggested fix: Add this sentence to CLI help, or remove from docs description.
4.3 --non-interactive documented for secrets bootstrap but absent from help (medium)
Docs: **Options:** --engine, --non-interactive, --repo
Suggested fix: Add full help section for gh aw secrets bootstrap.
4.4 Example workflow name inconsistency: daily-planner vs daily-plan (low)
gh aw forecast examples: Use daily-planner
gh aw trial / gh aw compile examples: Use daily-plan
Suggested fix: Standardize on daily-plan.
5. Example Accuracy Issues
4 issues (click to expand)
5.1 --start-date comments inconsistent — gh aw logs (medium)
Quoted CLI output:
gh aw logs --start-date -1w # Download up to 10 runs from last week
gh aw logs --start-date -1mo # Download all runs from last month
Issue: Identical flags but one says "up to 10 runs" and the other "all runs".
Suggested fix: Make comments consistent.
5.2 --end-date -1d comment semantics may be inaccurate — gh aw logs (low)
Quoted CLI output: gh aw logs --end-date -1d # Download all runs until yesterday
Flag description: Filter runs created before this date (exclusive)
Suggested fix: # Download all runs created before yesterday
5.3 --watch flag placed before workflow name, inconsistent ordering — gh aw compile (low)
Quoted CLI output: gh aw compile --watch ci-doctor # Watch and auto-compile
Suggested fix: gh aw compile ci-doctor --watch # Watch and auto-compile
5.4 --no-release-bump example comment oversimplifies — gh aw update (medium)
Quoted CLI output: gh aw update --no-release-bump # Update without force-bumping all action versions
Flag description: Only disables non-core action bumps; actions/* are still force-updated.
Suggested fix: # Restrict force-updates to core actions/* only
Full Issues Table
| # |
Category |
Severity |
Command |
Issue |
| 1.1 |
grammar |
low |
validate |
--fail-fast example omits "validation" |
| 1.2 |
style |
low |
logs |
Missing blank line before workflow-id paragraph |
| 1.3 |
grammar |
low |
trial |
workflow(s) inconsistent pluralization |
| 1.4 |
style |
medium |
compile |
"Unlike upgrade" sentence floats between sections |
| 1.5 |
style |
low |
upgrade |
"Flag behavior" bullets use lowercase openers |
| 1.6 |
style |
low |
lint |
Only command with zero inline example comments |
| 1.7 |
style |
low |
fix |
Numbered list steps missing terminal periods |
| 2.1 |
flag-naming |
medium |
deploy |
--repo different phrasing/format than all other commands |
| 2.2 |
flag-naming |
low |
add, add-wizard, deploy, update, trial |
--no-security-scanner uses "Disable" vs "Skip" |
| 2.3 |
flag-naming |
low |
run/trial |
--dry-run uses different verbs |
| 2.4 |
flag-naming |
low |
update/upgrade |
--no-compile missing qualifier in update |
| 2.5 |
flag-naming |
low |
logs |
--last omits -c short alias |
| 3.1 |
docs-mismatch |
HIGH |
experiments |
Documented in cli.md but entirely absent from CLI |
| 3.2 |
style |
medium |
upgrade |
Opening description vague, indistinguishable from update |
| 3.3 |
style |
medium |
add |
One-line description omits local files and URLs |
| 3.4 |
docs-mismatch |
medium |
env get/env update |
No standalone help sections |
| 3.5 |
docs-mismatch |
medium |
secrets set/secrets bootstrap |
No standalone help sections |
| 4.1 |
docs-mismatch |
low |
run |
Docs examples omit --dry-run |
| 4.2 |
docs-mismatch |
low |
run |
Docs description includes detail not in CLI |
| 4.3 |
docs-mismatch |
medium |
secrets bootstrap |
--non-interactive undiscoverable from help |
| 4.4 |
example |
low |
forecast |
daily-planner vs daily-plan inconsistency |
| 5.1 |
example |
medium |
logs |
--start-date comments inconsistent (10 runs vs all runs) |
| 5.2 |
example |
low |
logs |
--end-date -1d comment semantically inaccurate |
| 5.3 |
example |
low |
compile |
--watch flag ordering inconsistent with other examples |
| 5.4 |
example |
medium |
update |
--no-release-bump comment oversimplifies behavior |
Inspection Metadata
| Field |
Value |
| Date |
2026-07-10 |
| Commands inspected |
25 top-level + subcommands |
| Help output lines analyzed |
1,562 |
| Documentation file |
docs/src/content/docs/setup/cli.md |
| Workflow run |
29097140710 |
| Method |
Automated help collection + static analysis |
Generated by ✅ CLI Consistency Checker · 135 AIC · ⌖ 9.38 AIC · ⊞ 4.4K · ◷
Summary
Comprehensive CLI consistency inspection performed on 2026-07-10 across all
gh awcommands.Commands inspected: 25 top-level commands + subcommands
Total issues found: 25
Severity breakdown: 1 high · 7 medium · 17 low
Severity Breakdown
1. Grammar & Style Issues
7 issues (click to expand)
1.1
--fail-fastexample comment incomplete —gh aw validate(low)Quoted CLI output:
gh aw validate --fail-fast # Stop at the first errorExpected:
# Stop at the first validation error(matches the flag description)Suggested fix: Update example comment to add the word "validation".
1.2 Missing blank line before "The workflow-id" paragraph —
gh aw logs(low)Quoted CLI output:
Expected: A blank line between the artifact list and the
The workflow-id is...paragraph.Suggested fix: Add a blank line separator.
1.3
workflow(s)informal pluralization —gh aw trial(low)Quoted CLI output:
...installs the specified workflow(s) from their source repositories...Expected:
...installs the specified workflows from their source repositories...Suggested fix: Remove parenthetical
(s)— all other commands use the plain plural.1.4 Floating "Unlike upgrade" sentence —
gh aw compile(medium)Quoted CLI output:
Expected: This sentence should appear in the opening description paragraph, not floating between unrelated sections.
Suggested fix: Move to opening description or add a
Note:prefix.1.5 "Flag behavior" bullets have lowercase openers —
gh aw upgrade(low)Quoted CLI output:
Suggested fix: Capitalize bullet openers and use complete sentences.
1.6
gh aw lintexamples have no inline comments (low)Quoted CLI output:
Suggested fix: Add inline
# commentdescriptions to all example lines.1.7
gh aw fixnumbered steps missing terminal periods (low)Quoted CLI output:
Suggested fix: Add periods consistently to all numbered steps.
2. Flag Naming & Description Inconsistencies
5 issues (click to expand)
2.1
--repoflag uses different phrasing ongh aw deploy(medium)Quoted CLI output:
-r, --repo string Target repository in [HOST/]owner/repo format (required unless --org is provided)All other commands:
Target repository ([HOST/]owner/repo format). Defaults to current repositoryIssues: Different bracket style, missing trailing period.
Suggested fix:
Target repository ([HOST/]owner/repo format). Required unless --org is provided2.2
--no-security-scanneruses "Disable" while all other--no-*flags use "Skip" (low)Affected commands:
add,add-wizard,deploy,update,trialQuoted CLI output:
--no-security-scanner Disable security scanning of workflow markdown contentSuggested fix: Change
DisabletoSkip.2.3
--dry-rundescriptions use different verbs across commands (low)gh aw run:Validate workflow without actually triggering execution on GitHub Actionsgh aw trial:Preview trial execution without applying any changesSuggested fix: Standardize to one verb.
2.4
--no-compiledescription inconsistency betweenupdateandupgrade(low)gh aw update: Missing; ignored when --no-fix is setqualifier (which correctly appears inupgrade).2.5
--lastflag description omits-cshort alias (low)Quoted CLI output:
--last int Alias for --count: number of recent runs to downloadDocs say: "alias for
--count/-c"Suggested fix:
Alias for --count/-c: number of recent runs to download3. Command Description Gaps
5 issues (click to expand)
3.1 🔴
gh aw experimentsdocumented incli.mdbut absent from CLI (HIGH)CLI output: The word "experiments" appears 0 times in CLI help output.
Docs (
cli.md):Suggested fix: Either register the command in CLI help, or remove it from the public documentation.
3.2
gh aw upgradeopening description is vague (medium)Quoted CLI output:
Upgrade the repository to the latest version of agentic workflows.Issue: Undistinguishable from
gh aw update.Suggested fix:
Upgrade repository agent files, apply codemods, and recompile all workflows.3.3
gh aw addone-line description omits local files and URL sources (medium)Quoted CLI output:
Add one or more agentic workflows from repositories to .github/workflows.Suggested fix:
Add one or more agentic workflows from repositories, URLs, or local files to .github/workflows.3.4
gh aw env get/gh aw env updatehave no standalone help sections (medium)Issue: Only the parent
gh aw envsection exists. Subcommand flags are undiscoverable.Suggested fix: Ensure subcommands produce full
--helpoutput.3.5
gh aw secrets set/gh aw secrets bootstraphave no standalone help sections (medium)Issue: Only the parent
gh aw secretssection exists. Flags like--value,--value-from-env,--non-interactiveare undiscoverable from--help.Suggested fix: Ensure subcommands produce full
--helpoutput.4. Docs vs CLI Mismatches
4 issues (click to expand)
4.1
cli.mdrun examples omit--dry-run(low)Suggested fix: Add
gh aw run workflow --dry-run # Validate without actually running4.2
cli.mdrun description says "Displays workflow URL for tracking" — not in CLI (low)Docs text:
Execute workflows immediately in GitHub Actions. Displays workflow URL for tracking.Suggested fix: Add this sentence to CLI help, or remove from docs description.
4.3
--non-interactivedocumented forsecrets bootstrapbut absent from help (medium)Docs:
**Options:** --engine, --non-interactive, --repoSuggested fix: Add full help section for
gh aw secrets bootstrap.4.4 Example workflow name inconsistency:
daily-plannervsdaily-plan(low)gh aw forecastexamples: Usedaily-plannergh aw trial/gh aw compileexamples: Usedaily-planSuggested fix: Standardize on
daily-plan.5. Example Accuracy Issues
4 issues (click to expand)
5.1
--start-datecomments inconsistent —gh aw logs(medium)Quoted CLI output:
Issue: Identical flags but one says "up to 10 runs" and the other "all runs".
Suggested fix: Make comments consistent.
5.2
--end-date -1dcomment semantics may be inaccurate —gh aw logs(low)Quoted CLI output:
gh aw logs --end-date -1d # Download all runs until yesterdayFlag description:
Filter runs created before this date(exclusive)Suggested fix:
# Download all runs created before yesterday5.3
--watchflag placed before workflow name, inconsistent ordering —gh aw compile(low)Quoted CLI output:
gh aw compile --watch ci-doctor # Watch and auto-compileSuggested fix:
gh aw compile ci-doctor --watch # Watch and auto-compile5.4
--no-release-bumpexample comment oversimplifies —gh aw update(medium)Quoted CLI output:
gh aw update --no-release-bump # Update without force-bumping all action versionsFlag description: Only disables non-core action bumps;
actions/*are still force-updated.Suggested fix:
# Restrict force-updates to core actions/* onlyFull Issues Table
validate--fail-fastexample omits "validation"logstrialworkflow(s)inconsistent pluralizationcompileupgradelintfixdeploy--repodifferent phrasing/format than all other commandsadd,add-wizard,deploy,update,trial--no-security-scanneruses "Disable" vs "Skip"run/trial--dry-runuses different verbsupdate/upgrade--no-compilemissing qualifier inupdatelogs--lastomits-cshort aliasexperimentsupgradeupdateaddenv get/env updatesecrets set/secrets bootstraprun--dry-runrunsecrets bootstrap--non-interactiveundiscoverable from helpforecastdaily-plannervsdaily-planinconsistencylogs--start-datecomments inconsistent (10 runs vs all runs)logs--end-date -1dcomment semantically inaccuratecompile--watchflag ordering inconsistent with other examplesupdate--no-release-bumpcomment oversimplifies behaviorInspection Metadata
docs/src/content/docs/setup/cli.md