[claude-code-user-docs-review] 🔍 Claude Code User Documentation Review - 2026-05-12 #31687
Closed
Replies: 1 comment
|
This discussion has been marked as outdated by Claude Code User Documentation Review. A newer discussion is available at Discussion #31940. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Executive Summary
I reviewed the gh-aw documentation as a developer who uses Claude Code but does not use GitHub Copilot or the Copilot CLI. Overall verdict: Claude users can successfully adopt gh-aw, but the Quick Start path is meaningfully more friction-laden for non-Copilot users than it needs to be.
Key Finding: The reference documentation (
engines.md,auth.mdx) is genuinely engine-agnostic and well-structured —engine: claudeis a fully supported, first-class option with its own auth section, BYOK guidance, and a Claude-onlymax-turnsfeature. However, the onboarding surface area (README.md,quick-start.mdx,index.mdx,architecture.mdx, examples) is Copilot-first: examples referenceengine: copilotroughly 7× more often thanengine: claude, the only engine-specific setup callout in the Quick Start is forCOPILOT_GITHUB_TOKEN, and the security architecture diagram literally renders "Copilot CLI" as the agent box.Overall Assessment Score: 7/10 — Adopt-able with friction, not blocked.
Persona Context
I reviewed this documentation as a developer who:
Question 1: Onboarding Experience
Can a Claude Code user understand and get started with gh-aw?
Mostly yes — the Prerequisites in
quick-start.mdx(line 29) explicitly list four engine options including "Anthropic Claude", andadd-wizardis described as letting you "Select an AI Engine - Choose between Copilot, Claude, Codex, or Gemini." A Claude user reading top-to-bottom will see Claude is supported.However, the Quick Start then pivots into Copilot-only specifics in the Step 2 NOTE box (line 76-79), which spends 4 lines walking through
COPILOT_GITHUB_TOKENsetup with no equivalent walkthrough forANTHROPIC_API_KEY. A Claude user who selects Claude in the wizard gets dropped into the auth.mdx reference without a tailored callout in the Quick Start itself.Specific Issues Found:
docs/src/content/docs/setup/quick-start.mdxline 75-80: "Setting upCOPILOT_GITHUB_TOKEN?" NOTE box is the only inline engine-setup callout. No parallelANTHROPIC_API_KEYcallout.docs/src/content/docs/setup/quick-start.mdxline 61-64: Thegh aw add-wizard githubnext/agentics/daily-repo-statuscommand doesn't mention--engine claudeexists as an option, even though the CLI supports it (docs/src/content/docs/setup/cli.mdline 157 lists--engine/-eforadd-wizard).daily-repo-status) is added with no indication of its default engine, so a Claude user can't predict whetherengine: claudewill be injected.Recommended Fixes:
ANTHROPIC_API_KEYsetup inquick-start.mdxStep 2, linking tohttps://console.anthropic.com/.gh aw add-wizard ... --engine claude(and codex/gemini) alongside the default invocation.add-wizardwill prompt for engine selection if--engineis omitted.Question 2: Inaccessible Features for Non-Copilot Users
What features or steps don't work without Copilot?
Very few things are truly Copilot-only, and the engines reference is honest about this in its feature-comparison table (
engines.mdline 33-44). The asymmetries that exist are documented, just not flagged on the onboarding path.Features That Require Copilot:
max-continuations(autopilot mode) — Copilot only, documented inengines.md.engine.agent(custom agent file in.github/agents/) — Copilot only.engine.harness(custom Node.js harness wrapper) — Copilot only.COPILOT_PROVIDER_BASE_URL) — Copilot-only configuration path (though it can route to Claude/OpenAI providers, which is interesting).Features That Work Without Copilot:
create-issue,create-pull-request,add-comment, ...) — engine-agnostic.edit:,bash:,web-fetch:,web-search:(via MCP for Claude),playwright:,cache-memory:,repo-memory:,agentic-workflows:,qmd:,mcp-servers:.engine.api-target,engine.bare,engine.env,engine.args, customengine.command— all engines.max-turnsis actually Claude-only (a Claude advantage, per engines.md line 36 and FAQ).gh aw init,gh aw add,gh aw add-wizard,gh aw new,gh aw compile,gh aw run,gh aw trial,gh aw secrets bootstrap— all support--engine claude.Missing/Confusing Documentation:
gh aw init(cli.mdline 132-145) says it "creates the dispatcher agent file (.github/agents/agentic-workflows.agent.md)". Perengines.md,.github/agents/files are a Copilot-specific custom-agent mechanism (engine.agent, marked ❌ for all non-Copilot engines). Documentation doesn't tell Claude users whether this generated file matters to them, whether--no-mcpis preferable for non-Copilot setups, or whether the file is silently ignored.crushandopencode(experimental) engines surprisingly useCOPILOT_GITHUB_TOKENas their required secret (engines.mdline 20-21,auth.mdx). This naming is confusing — a non-Copilot user reading the table sees "Copilot" in the secret name for an unrelated engine.tools.web-searchrequires a third-party MCP server for Claude (tools.mdline 65,engines.mdline 39 "via MCP") with a pointer toguides/web-search/, but the engines table cell just says "via MCP" without flagging this as friction worth understanding before commit.Question 3: Documentation Gaps and Assumptions
Where does the documentation assume Copilot usage?
The structural assumption is that Copilot is the default and most readers will land there. This shows up in concrete ways:
Copilot-Centric Language Found In:
README.md— extremely thin (sends readers to docs); doesn't mention engine alternatives or that Claude is a first-class engine option.docs/src/content/docs/index.mdxline 39: "Supported AI engines | 4 (GitHub Copilot, Claude, OpenAI Codex, custom)" — drops Gemini from the count despite engines.md listing it. Minor but inconsistent.docs/src/content/docs/index.mdxline 144: example caption says "runs an AI agent (Copilot, Claude, Codex, ...)" — fine ordering, but the Example: Daily Issues Report snippet (lines 117-141) has noengine:field at all, so readers infer the default (Copilot).docs/src/content/docs/introduction/architecture.mdxline 188: the AWF mermaid diagram has a node literally labeledCOPILOT["Copilot CLI"], even though the security architecture is engine-agnostic. Claude users reading the security model see a Copilot-specific picture.docs/src/content/docs/introduction/architecture.mdxline 228: the Configuration Example usesengine: copilotrather than something engine-neutral or Claude.docs/src/content/docs/introduction/how-they-work.mdxline 26: "Workflows support GitHub Copilot (default), Claude by Anthropic, Codex, and Gemini by Google" — single line, no inlineengine: claudesnippet anywhere in the document.docs/src/content/docs/reference/engines.mdhas dedicated subsections titled "Copilot Custom Configuration" (line 109) and "Copilot Bring Your Own Key (BYOK) Mode" (line 199), totalling ~70 lines of Copilot-specific guidance. There is no parallel "Claude Custom Configuration" subsection — Claude-specific guidance is scattered across tables.docs/src/content/docs/setup/cli.mdline 222 example:gh aw secrets bootstrap --engine copilot(could just as well have usedclaudeto demonstrate non-default usage).^engine:\s*Xandid:\s*Xacrossdocs/src/content/docs/: Copilot ~100 occurrences, Claude ~15, Codex 1, Gemini 1. Copilot examples outnumber Claude by ~7×.Missing Alternative Instructions:
engines.mdline 27 ("Choose Claude when you want stronger control over turn limits (max-turns) for long reasoning sessions"). This understates the realistic reasons (existing Anthropic billing, preference for Claude family, organizational policy, etc.)..github/agents/agentic-workflows.agent.mdfile created bygh aw initis Copilot-specific and how it interacts (or doesn't) with Claude workflows.Severity-Categorized Findings
🚫 Critical Blockers (Score: 0/10 — none found)
Nothing prevents a Claude user from successfully adopting gh-aw.
engine: claudeis fully supported,ANTHROPIC_API_KEYis well-documented, and the wizard path explicitly offers Claude. This is a real success and worth noting.Obstacle 1: Quick Start auth callout is Copilot-only
Impact: A Claude user finishing the wizard's engine selection is dropped into auth.mdx without an inline callout matching the depth of the
COPILOT_GITHUB_TOKENwalkthrough.Current State:
quick-start.mdxlines 75-80 dedicate a NOTE block to PAT creation steps for Copilot. No parallel block forANTHROPIC_API_KEY,OPENAI_API_KEY, orGEMINI_API_KEY.Why It's Problematic: Visual asymmetry signals "Copilot is the default-and-supported path; everything else is a side option." The actual auth reference is fine, but the Quick Start's signal is wrong.
Suggested Fix: Convert the NOTE block to a tabbed component (or four parallel collapsible boxes) covering all four engines with their respective key-creation links and
gh aw secrets setcommands.Affected Files:
docs/src/content/docs/setup/quick-start.mdxObstacle 2: Quick Start `add-wizard` command doesn't surface `--engine claude`
Impact: Claude users reading Step 2 don't learn they can skip the interactive prompt by passing
--engine claude. The flag exists (CLI reference, line 157) but is invisible at the moment of adoption.Current State:
quick-start.mdxline 62-64 shows only the bare command.Suggested Fix: Add a follow-up tip showing the non-interactive variant for each engine:
Affected Files:
docs/src/content/docs/setup/quick-start.mdxObstacle 3: Architecture diagram hard-codes "Copilot CLI"
Impact: The flagship security-architecture diagram (the AWF section) renders the agent process as
COPILOT["Copilot CLI"]. Claude users reading the security model see a Copilot-specific picture and may wonder whether the firewall protections actually apply to Claude.Current State:
docs/src/content/docs/introduction/architecture.mdxline 188 in the AWF mermaid diagram. Other diagrams in the same file (e.g. the MCP Server Sandboxing diagram at line 282) correctly say"AI Engine<br/>(Copilot, Claude, Codex)"— so the pattern exists, just not consistently applied.Suggested Fix: Rename the node to
AGENT["AI Agent CLI<br/>(Copilot/Claude/Codex/Gemini)"]or similar. The same fix should be applied to the MCP Gateway diagram at line 252 which labels the container"Agent container\nCopilot CLI + MCP client".Affected Files:
docs/src/content/docs/introduction/architecture.mdxObstacle 4: Engines.md has no Claude-specific subsection mirroring Copilot's
Impact: The reference page has substantial dedicated sections — "Copilot Custom Configuration" (~10 lines), "Copilot Bring Your Own Key (BYOK) Mode" (~60 lines) — but Claude has only table entries and a security model section. A Claude user looking for "the Claude part of this page" cannot find a single anchored subsection to read.
Current State:
docs/src/content/docs/reference/engines.mdlines 109-119 (Copilot Custom Configuration), 199-266 (Copilot BYOK). The "Claude Tool Enforcement Security Model" section at line 437 is the closest Claude-specific area but it's about security caveats, not capabilities.Suggested Fix: Add a "Claude Configuration" subsection covering: typical
engine: claudeshape withmodelandversion, common Anthropic models worth using, recommendedmax-turnsvalues for common workloads, Anthropic-specific env vars (ANTHROPIC_BASE_URL, etc.).Affected Files:
docs/src/content/docs/reference/engines.mdObstacle 5: `gh aw init` creates a Copilot-flavored agent file with no Claude guidance
Impact: A Claude user running
gh aw initgets.github/agents/agentic-workflows.agent.mdcreated in their repo. Per engines.md,engine.agent(which references.github/agents/) is Copilot-only (❌ for all other engines). The CLI docs don't tell Claude users whether this file is harmless, useful, or to be deleted.Current State:
docs/src/content/docs/setup/cli.mdline 134-145 (initdescription).Suggested Fix: Add one sentence: "The
agentic-workflows.agent.mdfile is read only by the Copilot engine. If your repository uses Claude, Codex, or Gemini, the file is created for forward-compatibility but has no runtime effect." Or alternatively, condition file creation on the engine flag.Affected Files:
docs/src/content/docs/setup/cli.md, possiblyinternal init logic💡 Minor Confusion Points (Score: 7/10)
README.mddoesn't mention engines at all — sends readers to docs. Could add one line: "Works with Copilot, Claude, Codex, and Gemini." — File:README.mdindex.mdxline 39 says "4 (GitHub Copilot, Claude, OpenAI Codex, custom)" but engines.md lists 5 active engines + 2 experimental. Inconsistent count. — File:docs/src/content/docs/index.mdxCOPILOT_GITHUB_TOKENas their auth secret — counterintuitive naming, briefly explained in engines.md but not in auth.mdx. — File:docs/src/content/docs/reference/auth.mdxengines.mdline 27 "Which engine should I choose?" is a single paragraph; not strong enough as a decision-support tool. Could be a small table with axes like "existing billing", "long reasoning", "autopilot continuations". — File:docs/src/content/docs/reference/engines.mdtools.web-searchrequires third-party MCP for Claude (perengines.mdline 39). The notation "via MCP" doesn't warn Claude users that this is extra setup. — File:docs/src/content/docs/reference/tools.mdgithubnext/agenticsand its default engine is invisible to readers of the Quick Start. — File:docs/src/content/docs/setup/quick-start.mdxbypassPermissionsmode silently ignoring--allowed-tools— is buried near the end of a long page. Worth promoting via a cross-link from the Security Architecture page. — File:docs/src/content/docs/reference/engines.md,docs/src/content/docs/introduction/architecture.mdxEngine Comparison Analysis
Available Engines
Based on
engines.md, gh-aw supports:engine: copilot— Default. Comprehensive docs, dedicated subsections, custom-agent + BYOK capabilities documented.engine: claude— Fully supported. Hasmax-turnsadvantage. Auth and security-mode docs are clear. Missing dedicated configuration subsection.engine: codex— Supported. Documented in tables and BYOK section. Almost no inline examples.engine: gemini— Supported. Documented in tables. Almost no inline examples.engine: crush(experimental) — Documented; reusesCOPILOT_GITHUB_TOKEN.engine: opencode(experimental) — Documented; reusesCOPILOT_GITHUB_TOKEN.custom— Index page mentions "custom AI processors" but this isn't actually an engine ID; minor inconsistency.Documentation Quality by Engine
Tool Availability Analysis
Engine-Agnostic Tools (per
tools.mdandengines.mdfeature table):edit:,bash:,web-fetch:,playwright:,cache-memory:,repo-memory:,agentic-workflows:,qmd:,cli-proxy:,mcp-servers:,github:create-issue,create-pull-request, etc.)Engine-Specific Wrinkles:
tools.web-search— Codex has it natively (opt-in); Claude/Copilot/Gemini/Crush/OpenCode need a third-party MCP.engine.agent— Copilot only.engine.harness— Copilot only.max-continuations— Copilot only.max-turns— Claude only.Verdict: Tool surface is overwhelmingly engine-agnostic. The asymmetries are documented, just not always called out in the right places.
Authentication Requirements
Current Documentation
Quick Start guide visibly covers authentication for:
Reference auth page (
auth.mdx) covers all four with parity: dedicated### ANTHROPIC_API_KEY,### OPENAI_API_KEY,### GEMINI_API_KEYsections, each with setup steps, custom-endpoint guidance, and troubleshooting blocks.Secret Names
COPILOT_GITHUB_TOKEN✅ANTHROPIC_API_KEY✅OPENAI_API_KEY(withCODEX_API_KEYas alternative) ✅GEMINI_API_KEY✅COPILOT_GITHUB_TOKENStrong points for Claude users:
CLAUDE_CODE_OAUTH_TOKENnot-supported gotcha is documented in bothauth.mdxand the FAQ — this is a great preemptive call-out.ANTHROPIC_BASE_URLis documented for self-hosted/Azure/proxy scenarios.Example Workflow Analysis
Workflow Count by Engine (raw
^engine:\s*X+id:\s*Xreferences)Quality of Examples
Copilot examples: Plentiful, varied, embedded in pattern docs, architecture diagrams, BYOK section.
Claude examples: Concentrated in:
network.md,deterministic-agentic-patterns.md,research-plan-assign-ops.md,frontmatter-hash-specification.md,faq.md,cli.md. Theengines.mdreference page has 3id: claudeexamples but uses them mainly to demonstratebaremode,token-weights, andmax-turns— i.e., as showcases of Claude features, not as general-purpose workflow examples.Codex/Gemini: Effectively absent from examples outside the engines reference and BYOK section.
Recommended Actions
Priority 1: Critical Documentation Fixes
docs/src/content/docs/setup/quick-start.mdxdocs/src/content/docs/introduction/architecture.mdx--engine claude(and codex/gemini) variants of theadd-wizardcommand in Quick Start — File:docs/src/content/docs/setup/quick-start.mdxPriority 2: Major Improvements
engines.mdmirroring the structure of the existing "Copilot Custom Configuration" and "Copilot BYOK" sections — File:docs/src/content/docs/reference/engines.md.github/agents/agentic-workflows.agent.mdcreated bygh aw initfor non-Copilot users — File:docs/src/content/docs/setup/cli.mdbypassPermissionsto the Security Architecture page (cross-link) — Files:docs/src/content/docs/reference/engines.md,docs/src/content/docs/introduction/architecture.mdxengine: copilotsnippets in patterns and guides toengine: claude(or to engine-agnostic snippets that omit theengine:field entirely).Priority 3: Nice-to-Have Enhancements
README.md: "Works with Copilot, Claude, Codex, and Gemini."engines.md(axes: existing billing, long reasoning, autopilot, custom agents, web search built-in).index.mdxline 39 ("4 ... custom" vs. the actual 5–7 supported engines).auth.mdxwhy Crush/OpenCode reuseCOPILOT_GITHUB_TOKEN.Positive Findings
engines.mdengine-feature comparison table is genuinely useful and honestly documents per-engine asymmetries.auth.mdxgives each engine a dedicated section with setup link, CLI command, custom-endpoint guidance, and troubleshooting.CLAUDE_CODE_OAUTH_TOKENnot-supported pitfall is preempted in both auth.mdx and FAQ — excellent.max-turnsis positioned as an advantage, not an exception."AI Engine<br/>(Copilot, Claude, Codex)". Pattern exists — just needs propagation.gh aw secrets bootstrap --engine claudeis a smooth onboarding affordance and is documented.gh aw new --engine claudeinjectsengine: claudeinto the generated template (cli.md line 187-194). This is great.engine.bareis engine-agnostic with per-engine effect documented in a clear table (engines.md line 327-333).ANTHROPIC_BASE_URL), OpenAI, Copilot, and Gemini equally.Conclusion
Can Claude Code Users Successfully Adopt gh-aw?
Answer: Yes, with friction.
Reasoning: The reference documentation is solid:
engine: claudeis a first-class option with full auth, security-model, and capability documentation. A determined Claude user reading top-to-bottom can complete adoption. The friction is in the onboarding surface area — the Quick Start, README, architecture diagrams, and examples all read like Copilot-first material with Claude as a footnote. Most of the fixes are mechanical (callouts, diagram labels, example rebalancing) rather than structural — the underlying support is already there.Overall Assessment Score: 7/10
Breakdown:
Next Steps
ANTHROPIC_API_KEY(and Codex/Gemini) auth callouts to Quick Start Step 2.architecture.mdxto be engine-neutral.README.md.Appendix: Files Reviewed
README.mddocs/src/content/docs/index.mdxdocs/src/content/docs/setup/quick-start.mdxdocs/src/content/docs/setup/cli.mddocs/src/content/docs/introduction/how-they-work.mdxdocs/src/content/docs/introduction/architecture.mdxdocs/src/content/docs/reference/tools.mddocs/src/content/docs/reference/engines.mddocs/src/content/docs/reference/auth.mdxdocs/src/content/docs/reference/faq.md(partial — engine and Claude sections)docs/src/content/docs/examples/manual.md(sample examples doc)Grep-based counts across all
docs/src/content/docs/for^engine:\s*Xandid:\s*Xpatterns.References:
All reactions