[claude-code-user-docs-review] Claude Code User Documentation Review - 2026-05-21 #33757
Closed
Replies: 1 comment
|
This discussion has been marked as outdated by Claude Code User Documentation Review. A newer discussion is available at Discussion #34003. |
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 and explicitly does not use GitHub Copilot or the Copilot CLI. The good news: adoption is viable —
engine: claudeis documented,ANTHROPIC_API_KEYsetup has a step-by-step section, and most tools (edit, bash, github, web-fetch, playwright, memory, MCP servers, safe-outputs) are engine-agnostic. The friction: every onboarding surface — the README, the Quick Start, the defaultgh aw initbehavior, and the sample workflows — leads with Copilot. A non-Copilot user can succeed, but never feels like the documentation was written with them in mind.Key Finding: No critical blockers — but Copilot is hardcoded as the default engine, and Claude users must consciously opt in at every step. Compared to the previous review (2026-05-20), the count of Claude examples in docs ticked from 5 to 6; the underlying Copilot-default framing has not changed.
Persona Context
I reviewed this documentation as a developer who:
Summary Scorecard
Blocker counts: 🚫 0 critical ·⚠️ 4 major · 💡 6 minor (unchanged from prior run)
Question 1: Onboarding Experience
Can a Claude Code user understand and get started with gh-aw?
Yes, but the path requires reading carefully and skipping over Copilot framing. The README's Overview does an honest one-liner — "Supports GitHub Copilot, Claude (Anthropic), Codex (OpenAI), and Gemini (Google) — pick whichever AI account you already have" — which is the single most welcoming sentence for Claude users in the entire onboarding surface. Everything downstream from that sentence then defaults to Copilot.
The Quick Start (
docs/src/content/docs/setup/quick-start.mdx) lists all four AI accounts in the Prerequisites (L29) and surfaces engine choice during the interactiveadd-wizard(L70). Two dedicated NOTE callouts exist: one forCOPILOT_GITHUB_TOKEN(L75–79) and one forANTHROPIC_API_KEY(L82–85). Codex and Gemini get equal billing in the engine-selection step but no setup callout — they're treated as second-tier even though the Prerequisites lists them peer-to-peer.The "customize" step at L130–136 finally shows how to set
engine: claudein frontmatter — but only as one example among the customization instructions, not as a first-class onboarding step. A Claude user reading top-to-bottom will runadd-wizard, hit the AI Engine prompt, and have to choose Claude there with no prior guidance that this is the supported path.Specific Issues Found:
docs/src/content/docs/setup/quick-start.mdx:14— sample workflow linkdaily-repo-status.mdshould be a workflow the Quick Start has demonstrated runs on Claude.docs/src/content/docs/setup/quick-start.mdx:71— the step-3 sentence listsCOPILOT_GITHUB_TOKENfirst and longest (15+ words of inline parenthetical), while Claude/OpenAI/Gemini keys get just a link.docs/src/content/docs/setup/quick-start.mdx:132–135— the exampleengine: claudesnippet is buried in step 4, after the user has already committed and run a Copilot-based workflow.README.md:39— the Overview heading promises engine flexibility but immediately links to a Copilot-default Quick Start without a Claude-specific landing page.Recommended Fixes:
engine: claudefrontmatter snippet in Step 2's preview, not Step 4.Question 2: Inaccessible Features for Non-Copilot Users
What features or steps don't work without Copilot?
From
docs/src/content/docs/reference/engines.md:Features that are Copilot-only (no Claude equivalent):
engine.agent— custom agent files in.github/agents/(engines.md L41, L111–121). The defaultgh aw initeven creates.github/agents/agentic-workflows.agent.md— a Copilot-only artifact — for every user regardless of intended engine.engine.harness— custom harness script (engines.md L44, L293–315). Explicit doc note: "Currently only applied during Copilot engine execution. Setting it on other engines has no effect."max-continuations— autopilot mode (engines.md L38, L51, L395–401).BYOK(Bring Your Own Key) — routed via the Copilot CLI (engines.md L201–268).Features that are Claude-only:
max-turns— iteration budget control (engines.md L37, L406–417).Features that are engine-agnostic (work the same for Claude users): edit, bash, github (toolsets), web-fetch, playwright, cache-memory, repo-memory, qmd, agentic-workflows, cli-proxy, mcp-servers, safe-outputs, threat-detection.
Features with engine-specific quirks:
web-search— native opt-in for Codex; other engines need third-party MCP servers (tools.md L62–67).Missing Documentation:
gh aw init(cli.mdL134) does not flag that the dispatcher agent file it creates is Copilot-only and ignored by Claude. A Claude user who runsgh aw initgets a file they will never use, with no warning.engine.harnessandengine.agentmention they're Copilot-only inside their own sections, but the engines.md feature matrix would benefit from a "What this means for you" paragraph for non-Copilot users.Question 3: Documentation Gaps and Assumptions
Where does the documentation assume Copilot usage?
Copilot-Centric Language Found In:
docs/src/content/docs/introduction/how-they-work.mdx:26— "Workflows support GitHub Copilot (default), Claude by Anthropic, Codex, and Gemini by Google." — the bold(default)qualifier on Copilot, with no corresponding "how do I switch" hint inline.docs/src/content/docs/introduction/architecture.mdx:228— the firewall configuration example usesengine: copilotfor the only complete example.docs/src/content/docs/introduction/architecture.mdx:280— "AI Engine (Copilot, Claude, Codex)" in a sandboxing diagram omits Gemini even though it's listed in support elsewhere.docs/src/content/docs/setup/cli.md:134—gh aw initdescription says it "creates the dispatcher agent file (.github/agents/agentic-workflows.agent.md)" without noting this file is only used by the Copilot engine.docs/src/content/docs/reference/auth.mdx— Claude section references both(platform.claude.com/redacted) (L109) andhttps://console.anthropic.com/` (L199). Both work, but the inconsistency makes a Claude user second-guess which is canonical.Repo-Wide Example Counts:
Docs has roughly a 10:1 Copilot-to-Claude example ratio. The 109 Claude workflows that exist in the repo are mostly in
pkg/cli/workflows/test-claude-*.md— test fixtures, not user-facing docs.Missing Alternative Instructions:
engines.md,auth.mdx, and CLI flag descriptions.max-turns").Severity-Categorized Findings
🚫 Critical Blockers
None. A Claude Code user can complete the Quick Start, set up
ANTHROPIC_API_KEY, and run a workflow without any genuinely blocking gap.Obstacle 1: Copilot is the default engine, baked into init
Impact: Every user — including Claude users — gets a Copilot-shaped repo after
gh aw init.Current State:
cli.md:134documents thatgh aw init"Creates the dispatcher agent file (.github/agents/agentic-workflows.agent.md)." This file is consumed by the Copilotengine.agentmechanism (engines.md L41, L53). For Claude/Codex/Gemini users, the file is dead weight.Why It's Problematic: A Claude Code user has no way to know from the docs that this generated file is Copilot-only.
Suggested Fix: Add an
--engineflag togh aw init(or document that runninggh aw init --no-mcpis the non-Copilot path). Add a sentence tocli.md:134: "The dispatcher agent file is consumed by the Copilot engine; other engines ignore it."Affected Files:
docs/src/content/docs/setup/cli.md,docs/src/content/docs/reference/copilot-custom-agents.mdObstacle 2: Quick Start callouts only cover Copilot and Claude
Impact: Codex and Gemini users land on the Quick Start, choose their engine in the wizard, and then get no dedicated NOTE block telling them which secret to set and where to get the key.
Current State:
quick-start.mdx:75–79and:82–85give detailed setup boxes forCOPILOT_GITHUB_TOKENandANTHROPIC_API_KEYrespectively.OPENAI_API_KEYandGEMINI_API_KEYappear only as links in the step-3 paragraph (:71).Why It's Problematic: The Prerequisites section presents all four engines as peer choices. The Step 3 setup makes only two of them first-class.
Suggested Fix: Add equivalent NOTE callouts for OPENAI_API_KEY and GEMINI_API_KEY. Or fold all four into a tabbed component.
Affected Files:
docs/src/content/docs/setup/quick-start.mdxObstacle 3: Engine parity is unclear — Claude has only one exclusive feature, Copilot has four
Impact: A Claude user reading the engines reference will discover, item by item, that Copilot has
engine.agent,engine.harness,max-continuations, and BYOK — and Claude hasmax-turns. There is no single "feature parity" view.Current State:
docs/src/content/docs/reference/engines.mdrows L37–L51 contain the comparison table, but it is presented as a feature inventory rather than a guidance page. There is no narrative answer to "What do I give up by choosing Claude over Copilot?"Suggested Fix: Add a short "Choosing an Engine" subsection that summarizes: "Choose Copilot if you need custom agent files, autopilot continuations, or BYOK routing. Choose Claude if you need fine-grained max-turns control."
Affected Files:
docs/src/content/docs/reference/engines.mdObstacle 4: No Claude-first end-to-end tutorial in user-facing docs
Impact: All complete
engine: claudeworkflows live inpkg/cli/workflows/test-claude-*.md(test fixtures). The 6 docs-side appearances ofengine: claudeare mostly inline snippets or short examples inpatterns/research-plan-assign-ops.md,patterns/deterministic-ops.md,setup/cli.md,reference/faq.md, andreference/frontmatter-hash-specification.md.Why It's Problematic: A Claude user has no published "hello world" Claude workflow showing frontmatter + body together. The repo has 109 such workflows, but they're test fixtures, not documentation.
Suggested Fix: Promote one Claude test workflow into the docs as a featured example, or write a "Build Your First Claude Workflow" tutorial parallel to the Quick Start.
Affected Files: New file under
docs/src/content/docs/setup/ordocs/src/content/docs/patterns/💡 Minor Confusion Points (6)
auth.mdx:109directs toplatform.claude.com,auth.mdx:199directs toconsole.anthropic.com. Pick one.auth.mdx:143–145documentsCODEX_API_KEY→OPENAI_API_KEYpriority, then the Azure example (L157) introducesAZURE_OPENAI_API_KEYas a third name with no recap.architecture.mdx:280says "(Copilot, Claude, Codex)" in a diagram, omitting Gemini; other places list all four.README.md:18about retired versions takes the same visual weight as the Overview, which can mislead new readers into thinking gh-aw itself is risky.engine: customis in the type table but has 0 examples — searched the entire repo: zero.mdfiles useengine: custom. Either remove from supported list or add an example.gh aw secrets bootstrapflag list —cli.md:245documents--engine (copilot, claude, codex, gemini, crush)butcrushis experimental perengines.md. The CLI docs surface experimental engines without flagging them.Engine Comparison Analysis
Available Engines
Based on
docs/src/content/docs/reference/engines.md:copilot(default)claudecodexgeminicrushopencodepiDocumentation Quality by Engine
Claude scores well on the engines.md reference page (it has a
max-turnssection, an env-var equivalent, and bare-mode details) but is starved of tutorial-style examples. Codex and Gemini are documented at minimum-viable depth — they're listed but rarely featured.Tool Availability Analysis
Engine-Agnostic Tools (work identically on Claude):
edit,bash,github,web-fetch,playwright,cache-memory,repo-memory,qmd,agentic-workflows,cli-proxy,mcp-servers,safe-outputs,threat-detectionEngine-Specific Tools / Features:
web-search— native on Codex (opt-in viatools.web-search:); other engines require third-party MCPengine.agent— Copilot only (engines.md L41)engine.harness— Copilot only (engines.md L44, L306)max-continuations— Copilot only (engines.md L38)max-turns— Claude only (engines.md L37)Unclear:
engine.bareis documented for Copilot/Claude/Codex/Gemini, but its behavior on Crush/OpenCode/Pi is not stated.Authentication Requirements
Quick Start guide covers authentication for:
quick-start.mdx:75–79quick-start.mdx:82–85quick-start.mdx:71quick-start.mdx:71Full auth reference (
auth.mdx) covers all four engines with step-by-step setup +gh aw secrets sethelpers. The reference page is solid; the Quick Start surface is uneven.Secret Names (confirmed in
auth.mdx):COPILOT_GITHUB_TOKEN(fine-grained PAT with Copilot Requests: Read)ANTHROPIC_API_KEYOPENAI_API_KEY(withCODEX_API_KEYfallback; Azure usesAZURE_OPENAI_API_KEY)GEMINI_API_KEYGaps for Claude users specifically: None critical. The
ANTHROPIC_API_KEYsetup is well documented and thegh aw secrets bootstraphelper auto-detects engines in use. Minor: the dual URLs (platform.claude.comvsconsole.anthropic.com) cause brief confusion.Recommended Actions
Priority 1: Major Improvements
docs/src/content/docs/setup/quick-start-claude.mdxor a tabbed Quick Start.gh aw initCopilot dependency atdocs/src/content/docs/setup/cli.md:134— one sentence noting the dispatcher agent file is Copilot-specific.quick-start.mdxso all four engines have parity in step 3.engines.mdsummarizing the parity table in plain English.Priority 2: Nice-to-Have Enhancements
platform.claude.comvsconsole.anthropic.comURL inconsistency inauth.mdx.architecture.mdx:280(add Gemini).engine: custom(zero examples in the repo).crush,opencode,pi) in CLI help text alongsidecli.md:245.pkg/cli/workflows/test-claude-*.mdfixture into the docs as a featured complete example.Positive Findings
playwright,github,safe-outputs,cache-memory, MCP servers, etc.engines.mdis thorough on Claude specifics (max-turns, env-var equivalents, bare-mode).auth.mdxhas step-by-step setup for all four main engines, not just Copilot.gh aw secrets bootstrapauto-detects engines in use, so a Claude user doesn't have to know secret names in advance.--engine claudeflag is supported ongh aw new,gh aw add,gh aw add-wizard,gh aw compile, andgh aw trial.Conclusion
Can Claude Code Users Successfully Adopt gh-aw?
Answer: Yes, with moderate effort. No critical blockers exist. A Claude Code user can install the CLI, set
ANTHROPIC_API_KEY, add a workflow with--engine claude, and run it successfully — the runtime supports it and the reference docs explain it.The gap is editorial, not technical: every onboarding surface is written as if the reader is a Copilot user, and Claude is documented as the second-class alternative. Claude users will get there; they will just feel slightly unwelcome along the way.
Next Steps
The single highest-leverage change is a Claude-first Quick Start page (or a tabbed Quick Start that treats all four engines equally). Everything else in this report is a paper cut on that core gap.
Appendix: Files Reviewed
Documentation files analyzed
README.mddocs/src/content/docs/setup/quick-start.mdxdocs/src/content/docs/introduction/how-they-work.mdxdocs/src/content/docs/introduction/architecture.mdxdocs/src/content/docs/reference/tools.mddocs/src/content/docs/setup/cli.mddocs/src/content/docs/reference/engines.mddocs/src/content/docs/reference/auth.mdxpkg/cli/workflows/(counts only)docs/src/content/docs/(counts only)References:
All reactions