[claude-code-user-docs-review] Claude Code User Documentation Review - 2026-05-18 #33042
Closed
Replies: 1 comment
|
This discussion has been marked as outdated by Claude Code User Documentation Review. A newer discussion is available at Discussion #33293. |
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 gh-aw documentation as a Claude Code user who does NOT use GitHub Copilot. The docs are largely engine-agnostic at the infrastructure level (compilation, safe-outputs, security), but the on-ramp and reference layer remain Copilot-first: the README has no mention of Claude in its Overview, the engine guide recommends Copilot when "unsure",
gh aw initcreates a Copilot-flavored agent file unconditionally, and several tool docs are silent on which engines support them.Key Finding: A Claude Code user can adopt gh-aw, but only with significant effort to ignore Copilot-centric defaults, decode silent no-ops in copy-pasted examples, and find Claude-specific behavior scattered across reference pages without a dedicated guide. The same four critical issues identified in the three prior daily reviews (2026-05-15, -16, -17) are still present.
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, with friction. The Quick Start (
docs/src/content/docs/setup/quick-start.mdx) explicitly lists all four engines in Prerequisites (line 29) and in Step 2 (line 70: "Select an AI Engine — Choose between Copilot, Claude, Codex, or Gemini"). Step 4 ships aengine: claudeexample (line 134). Authentication forANTHROPIC_API_KEYis called out in a sibling NOTE (line 82-86) with the same weight as the Copilot one. This is a clear improvement over a pure Copilot-first onramp.However, the README.md Overview (line 39) sends new readers to a generic Quick Start link without naming Claude. The single Claude mention in the README (line 40, "Supports GitHub Copilot, Claude (Anthropic), Codex (OpenAI), and Gemini (Google)") is buried as a continuation sentence after the Overview link, and the Documentation section (line 50) gives no signal that Claude is supported.
Specific Issues Found:
Recommended Fixes:
Question 2: Inaccessible Features for Non-Copilot Users
What features or steps don't work without Copilot?
Features That Require Copilot:
engine.agent(custom agent files in.github/agents/) — engines.md:41 marks this as ✅ only for Copilot, ❌ for all others. Thegh aw initcommand (cli.md:134) unconditionally creates.github/agents/agentic-workflows.agent.md, even when the rest of the project usesengine: claude. There is no warning, no flag, no engine-conditional behavior documented.engine.harness(custom Node.js harness wrapper) — engines.md:44 explicitly notes "currently only applied during Copilot engine execution. Setting it on other engines has no effect" (line 305).max-continuations(autopilot mode) — engines.md:38, Copilot-only.COPILOT_PROVIDER_*env vars routing to Anthropic, etc.) — engines.md:201-262, a Copilot-only feature that ironically lets Copilot route requests through Anthropic. The reverse (Claude calling Copilot) is not documented.reference/assign-to-copilot.mdxandreference/copilot-custom-agents.md— two dedicated reference docs for Copilot. No corresponding Claude-specific reference doc exists indocs/src/content/docs/.Features That Work Without Copilot (engine-agnostic):
tools.bash,tools.edit,tools.web-fetch,tools.playwright,tools.cache-memory,tools.repo-memory,tools.qmd,tools.agentic-workflowstimeout-minutes,tools.timeout,tools.startup-timeout(all engines per engines.md:431-437)max-runs(AWF invocation cap) — engines.md:36, all engines ✅max-turns— Claude-only ✅ (engines.md:37) — a positive Claude exclusiveClaude-only features:
max-turns(engines.md:37 and line 405-417): Claude has stronger turn-limit control than any other engine. This is a Claude-positive feature but it is never marketed as such — buried in a comparison table.Missing Documentation:
/guides/has no Claude-specific guide. Zero Claude-named pages in the docs tree.gh aw initCopilot behavior is undocumented as Copilot-specific. cli.md:134 says it "creates the dispatcher agent file.github/agents/agentic-workflows.agent.md" without noting that the agent-file dispatcher mechanism is Copilot-only per engines.md:41.Question 3: Documentation Gaps and Assumptions
Where does the documentation assume Copilot usage?
Copilot-Centric Language Found In:
reference/engines.mdline 16: Engine table marks Copilot as "(default)". Fair, since Copilot is the actual default, but the phrasing emphasizes Copilot status throughout the doc.reference/engines.mdline 28: "Copilot supports the broadest gh-aw feature set..." opens the engine-choice paragraph with a pro-Copilot pitch.reference/engines.mdlines 61-70: The canonical "Extended Coding Agent Configuration" example usesid: copilotwith Copilot-exclusive fieldsagent:and a Copilot-specificcommand:path. A Claude user copy-pasting this will get silent no-ops onagent:andharness:.reference/auth.mdxline 109: ANTHROPIC_API_KEY setup says "Create an API key at (platform.claude.com/redacted) — this is the docs landing page, not a key-creation page.quick-start.mdxline 84 correctly links tohttps://console.anthropic.com/settings/keys. Same inconsistency present in three prior reviews — still unfixed.reference/auth.mdxlines 121-123:CLAUDE_CODE_OAUTH_TOKEN"is not supported... Provider-based OAuth authentication (such as billing through a Claude Teams or Claude Max subscription) is not supported." Claude Code users with Max/Teams subscriptions cannot reuse those credentials — they must pay separately for the Anthropic API. This is correctly documented but represents a real business-model blocker.reference/engines.mdlines 20-22: Crush, OpenCode, and Pi (experimental engines) all listCOPILOT_GITHUB_TOKENas their required secret. The same engines are absent fromauth.mdx"Which secret do I need?" table (lines 14-23) — a non-Copilot user trying Crush has to cross-reference two pages to learn the secret name.setup/cli.mdline 134:gh aw initcreates.github/agents/agentic-workflows.agent.md"and performs non-interactive setup. Enables MCP server integration by default" — no mention that the dispatcher agent file mechanism is Copilot-only.Missing Alternative Instructions:
engine: claudeexample for the "Extended Coding Agent Configuration" (engines.md:61). Recommend adding a sibling example showingid: claudewithmax-turns:,bare:, andversion:— fields Claude users actually use.engine: copilottoengine: claude(which fields are dropped, which become required).Severity-Categorized Findings
🚫 Critical Blockers (Score: 2/10)
Blocker 1: ANTHROPIC_API_KEY setup link points to a non-actionable URL
Impact: A Claude user following
auth.mdxStep 1 cannot create an API key from the linked page.Current State:
docs/src/content/docs/reference/auth.mdxline 109:The URL leads to a docs landing page, not a key-creation page. The correct URL appears in
quick-start.mdxline 84:Why It's a Blocker: Users who land on the auth reference (linked from many other pages) instead of the quick-start get sent to the wrong page. This inconsistency has persisted across at least four daily reviews (2026-05-15 through 2026-05-18).
Fix Required: Replace line 109 with the same URL used in quick-start.mdx:
https://console.anthropic.com/settings/keys.Affected Files:
docs/src/content/docs/reference/auth.mdxBlocker 2: gh aw init creates Copilot-flavored agent file regardless of engine choice
Impact: Repositories using
engine: claudeend up with a.github/agents/agentic-workflows.agent.mdfile that the Claude engine cannot use (engines.md:41 —engine.agentis Copilot-only). This generates confusion ("why is this file here?") and clutters the repository.Current State:
docs/src/content/docs/setup/cli.mdline 134:No flag to opt out, no engine detection, no warning that the file is Copilot-specific.
Why It's a Blocker: Claude users cannot run
gh aw initwithout polluting their repo with Copilot-only artifacts. The CLI documentation never explains that the dispatcher agent file mechanism is Copilot-only.Fix Required:
--engine copilotcheck or a--with-agent-fileflag.engine: copilot. Other engines ignore this file but it is created for forward compatibility."Affected Files:
docs/src/content/docs/setup/cli.md, and likely thegh aw initsource code itself.Obstacle 1: Tool reference docs are engine-silent
Impact: Significant friction — Claude users cannot tell from
reference/tools.mdwhich tools are available with their engine. They must cross-referencereference/engines.md(onlytools.web-fetchandtools.web-searchare tabulated there).Current State:
reference/tools.md,reference/playwright.md,reference/cache-memory.md,reference/repo-memory.md,reference/gh-aw-as-mcp-server.md— none of these mention engine compatibility. Grep across these five files: 0 mentions ofengine:.Why It's Problematic: Claude users discover engine restrictions only after compile-time failure or silent no-ops at runtime.
Suggested Fix: Add a "Engine compatibility" row to each tool section in tools.md, e.g., "Available on: all engines" or "Available on: Copilot only (no-op on other engines)".
Affected Files:
docs/src/content/docs/reference/tools.md,docs/src/content/docs/reference/playwright.md,docs/src/content/docs/reference/cache-memory.md,docs/src/content/docs/reference/repo-memory.md,docs/src/content/docs/reference/gh-aw-as-mcp-server.mdObstacle 2: Engine recommendation paragraph steers users to Copilot
Impact: Friction for Claude users following the docs — they read "Copilot supports the broadest gh-aw feature set" and wonder whether they're choosing a second-class option.
Current State:
engines.mdline 28:Why It's Problematic: The phrasing is technically accurate but the ordering and emphasis bias the recommendation toward Copilot. Claude users who actively chose Claude don't need to be reminded that Copilot has more bells and whistles.
Suggested Fix: Rewrite line 28 to be neutral: "Choose the engine that matches your existing AI account. The feature comparison table below summarizes differences; in most workflows the choice has no effect on functionality."
Affected Files:
docs/src/content/docs/reference/engines.mdObstacle 3: Canonical engine config example is Copilot-only
Impact: Significant — Claude users copy-pasting the canonical example get silent no-ops.
Current State:
engines.mdlines 61-70:A Claude user copy-pasting and changing
id: copilot→id: claudewill silently ignoreagent:and may be confused bymodel: gpt-5.Suggested Fix: Either (a) add a sibling Claude example with
id: claude,model: claude-sonnet-4-5,max-turns: 20,bare: true,version: "2.1.70"; or (b) comment out the Copilot-only fields with a "// Copilot only — remove for other engines" annotation.Affected Files:
docs/src/content/docs/reference/engines.mdObstacle 4: No dedicated Claude guide; two Copilot-specific guides exist
Impact: Friction discovering Claude-specific patterns (e.g., when to use
max-turns,bare: true, howtools.timeoutinteracts with Claude's 60s default).Current State:
docs/src/content/docs/reference/containscopilot-custom-agents.mdandassign-to-copilot.mdx— two Copilot-specific pages. Zero Claude-specific pages exist anywhere indocs/src/content/docs/.Suggested Fix: Add a
reference/claude-configuration.mdcovering Claude-only fields (max-turns,bare), the 60s defaulttools.timeout,ANTHROPIC_BASE_URLfor proxied setups, and whyCLAUDE_CODE_OAUTH_TOKENis not supported.Affected Files: new file
docs/src/content/docs/reference/claude-configuration.md(or similar)💡 Minor Confusion Points (Score: 6/10)
README.mdCOPILOT_GITHUB_TOKENbut are absent from theauth.mdxWhich-secret table — users must cross-reference two pages. Files:reference/engines.mdlines 20-22,reference/auth.mdxlines 14-23engine.harnessfield is documented in engines.md:294-306 with a NOTE that it's Copilot-only, but the surrounding "Extended Coding Agent Configuration" prose (line 57) implies it applies to all engines. File:reference/engines.mdquick-start.mdxStep 2 lists secrets in order COPILOT, ANTHROPIC, OPENAI, GEMINI — alphabetical by engine name would be CLAUDE/ANTHROPIC first. File:setup/quick-start.mdxline 71CLAUDE_CODE_OAUTH_TOKENunsupported note (auth.mdxlines 121-123) is a real business-model issue for Claude Max/Teams subscribers but no explanation of why OAuth-based authentication can't be supported. File:reference/auth.mdxreference/cost-management.mdmention "claude" only twice. File:reference/cost-management.mdEngine Comparison Analysis
Available Engines
Based on my review, gh-aw supports these engines (from
reference/engines.md):engine: copilot(default) — extensive docs, dedicated reference pages, all CLI flags workengine: claude— well-supported at the engine level, but no dedicated reference pageengine: codex— documented at parity with Claude in engines table, no dedicated pageengine: gemini— documented at parity in engines table, no dedicated pageengine: crush/engine: opencode/engine: pi— listed as experimental, requireCOPILOT_GITHUB_TOKEN(confusing for non-Copilot users)Documentation Quality by Engine
Tool Availability Analysis
Engine-Agnostic Tools (documented in
reference/tools.md):edit,bash,web-fetch,playwright,cache-memory,repo-memory,qmd,agentic-workflows,cli-proxy,mcp-servers(custom),safe-outputsgithubtoolset (uses MCP gateway — engine-agnostic per architecture)Engine-Specific Tools / Behaviors:
web-search— Codex✅ (opt-in), others usevia MCPper engines.md:40engine.agent— Copilot only (engines.md:41)engine.harness— Copilot only (engines.md:44, line 305)max-continuations— Copilot only (engines.md:38)max-turns— Claude only (engines.md:37)engine.bare: true) — works on Copilot/Claude/Codex/Gemini; not Crush/OpenCode/PiUnclear/Undocumented:
agentic-workflowsMCP tool (tools.md:116-127) doesn't say which engines support it. From architecture.mdx, it's an MCP server, so presumably all engines that speak MCP — but this should be stated.Authentication Requirements
Current Documentation
auth.mdx"Which secret do I need?" table (lines 14-23) covers:CODEX_API_KEYalternative documentedMissing for Claude Users
auth.mdx)CLAUDE_CODE_OAUTH_TOKENis not supported (just a flat "not supported" statement)Secret Names
COPILOT_GITHUB_TOKEN(documented)ANTHROPIC_API_KEY(documented, but with broken setup URL on auth.mdx)OPENAI_API_KEY/CODEX_API_KEY(documented)GEMINI_API_KEY(documented)COPILOT_GITHUB_TOKEN(per engines.md, not documented in auth.mdx table)Example Workflow Analysis
Engine reference count in docs (grep across
docs/src/content/docs/)Copilot is ~6x more prevalent than Claude in YAML examples. This has improved from the 2026-05-17 baseline (73:9 ratio) — Claude examples grew while overall doc volume also grew. Still imbalanced.
Quality of Examples
Copilot Examples: Numerous, varied, and cover advanced configuration (BYOK, custom harness, custom agent, API targets).
Claude Examples: Present in
quick-start.mdx(Step 4, line 134),engines.md(bare mode line 322, max-turns line 410, token-weights line 343),auth.mdx(line 105-125). Sufficient for basic adoption but no end-to-end Claude-only workflow example exists — Claude users must mentally translate Copilot examples.Recommended Actions
Priority 1: Critical Documentation Fixes
auth.mdx:109from(platform.claude.com/redacted) tohttps://console.anthropic.com/settings/keys`. File:docs/src/content/docs/reference/auth.mdxgh aw initCopilot artifacts — either skip.github/agents/agentic-workflows.agent.mdcreation when--engineis non-Copilot, or document its Copilot-only purpose in cli.md:134. File:docs/src/content/docs/setup/cli.mdand CLI source.Priority 2: Major Improvements
reference/tools.md,reference/playwright.md,reference/cache-memory.md,reference/repo-memory.md,reference/gh-aw-as-mcp-server.mdshould each state which engines the tool works with.reference/claude-configuration.mdpage — analogous tocopilot-custom-agents.md. Covers Claude-only fields (max-turns,bare), Claude-specific defaults (60stools.timeout), and Anthropic API/proxy patterns.engine:example to engines.md:61 — alongside the Copilot canonical example, show an equivalentid: claudeexample with Claude-specific fields.Priority 3: Nice-to-Have Enhancements
COPILOT_GITHUB_TOKEN.CLAUDE_CODE_OAUTH_TOKENrationale — explain why Claude Max/Teams OAuth is not supported (e.g., API endpoint differences) so Claude users understand the constraint rather than treating it as a bug.Positive Findings
engine: claudeexample in Step 4 (line 134)max-turnsis documented as a Claude exclusive (engines.md:37, 405-417) — a Claude advantage over Copilotgh aw new --engine claudeflag exists and is documented (cli.md:182, 187)gh aw secrets bootstrap --engine claudeis supported (cli.md:225)Conclusion
Can Claude Code Users Successfully Adopt gh-aw?
Answer: Yes, with significant effort.
Reasoning: The infrastructure is engine-agnostic and Claude is a first-class engine in the comparison tables. A determined Claude user can get a workflow running by following Quick Start carefully. But the documentation still leads with Copilot in framing, examples, and dedicated reference pages, and four prior daily reviews have flagged the same issues without resolution: the broken Claude setup URL in
auth.mdx, the unconditional Copilot agent file fromgh aw init, the Copilot-leaning engine recommendation, and engine-silent tool docs.Overall Assessment Score: 6/10
Breakdown:
Next Steps
The two Critical Blockers (broken auth URL, unconditional Copilot agent-file creation) are mechanical fixes that have persisted across four daily reviews. Addressing those alone would meaningfully improve the Claude user onramp. The Priority-2 items (engine-aware tool docs, a dedicated Claude reference page, a neutral engine recommendation) would close most of the remaining gap.
Appendix: Files Reviewed
Complete List of Documentation Files Analyzed
README.mddocs/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/copilot-custom-agents.md(file existence check)docs/src/content/docs/reference/assign-to-copilot.mdx(file existence check)docs/src/content/docs/guides/*(directory inventory — no Claude-specific guide found)Engine reference counts gathered via grep across the entire
docs/src/content/docs/tree.Report Generated: Workflow run §26036993882
Workflow: claude-code-user-docs-review
Engine Used: claude (eating our own dog food)
Review Date: 2026-05-18
Trend vs Prior Reviews: Same 2 critical blockers persist across 4 daily reviews (2026-05-15, -16, -17, -18). Claude example count improved (9 → 17). No regressions.
All reactions