[claude-code-user-docs-review] 🔍 Claude Code User Documentation Review - 2026-05-17 #32807
Closed
Replies: 1 comment
|
This discussion was automatically closed because it expired on 2026-05-18T12:47:06.560Z.
|
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 (not GitHub Copilot) and tried to follow the published path from
README.md→setup/quick-start.mdx→reference/engines.md→reference/auth.mdx. Adoption is possible but still requires significant effort: the core engine model is honest about supporting Claude, but Copilot-centric defaults persist throughout onboarding, secrets setup, the canonical engine examples, and the dispatcher agent thatgh aw initinstalls.Key Finding: Claude Code users can succeed, but the docs steer them toward Copilot at every decision point — and a few "small" issues (Anthropic key link pointing at a docs landing page,
gh aw initsilently installing a Copilot-only agent file) are still unfixed since the 2026-05-15 and 2026-05-16 reviews. Trend: stable — no regressions, no measurable fixes either.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?
Yes, with friction. The Quick Start (
setup/quick-start.mdx) is engine-aware in the prerequisites (line 29 lists Anthropic, OpenAI, Google alongside Copilot) and Step 2 mentions an interactive engine picker. The Step 4 customization example now usesengine: claude(line 134) — a real improvement from earlier reviews. The README, however, never mentions Claude or Anthropic at all and gives no engine-choice signal upfront.Specific Issues Found:
README.md— zero mention of supported engines outside Copilot. A Claude Code user landing on the project page has no signal this is for them.setup/quick-start.mdx:70— wizard option ordering puts Copilot first: "Choose between Copilot, Claude, Codex, or Gemini."setup/quick-start.mdx:76-80— Copilot setup callout appears before the ANTHROPIC_API_KEY callout (lines 82-86). A Claude user must scroll past Copilot instructions first.reference/engines.md:28— "Which engine should I choose?" still says: "Copilot is the default choice for most users... If you are unsure, start with Copilot and switch later by changing onlyengine:and the corresponding secret." This actively recommends against the user's preferred engine.Recommended Fixes:
README.md's Overview: e.g., "Supports GitHub Copilot, Claude (Anthropic), Codex (OpenAI), and Gemini (Google) — pick whichever AI account you already have."engines.mdso the recommendation is need-based, not subscription-default: e.g., "If you already use Claude Code, setengine: claude. If you already use Copilot, omitengine:."Question 2: Inaccessible Features for Non-Copilot Users
What features or steps don't work without Copilot?
gh aw initis the most concrete blocker. Fromreference/custom-agent-for-aw.mdx:36: "After initialization, you'll have.github/agents/agentic-workflows.agent.md, a Copilot agent file that registers the/agent agentic-workflowscommand in Copilot Chat." Andsetup/creating-workflows.mdx:118confirms it: "Creates a dispatcher agent at.github/agents/agentic-workflows.agent.md, which registers theagentic-workflowscustom agent in GitHub Copilot." Thesetup/cli.md:134description hides this behind a neutral phrase ("dispatcher agent file"). A Claude user who runsgh aw initgets a Copilot-only file committed to their repo with no warning and no equivalent for Claude.Features That Require Copilot (per
reference/engines.mdmatrix):engine.agent(custom agent file) — Copilot onlyengine.harness(custom harness script) — Copilot onlymax-continuations(autopilot mode) — Copilot onlyagentic-workflows.agent.mddispatcher agent installed bygh aw initFeatures That Are Claude-Only:
max-turns— Claude onlyFeatures That Work With Any Engine:
tools.edit,tools.bash,tools.web-fetch,tools.playwright,tools.cache-memory,tools.repo-memory,tools.qmd,tools.agentic-workflows,tools.cli-proxy,mcp-servers,safe-outputs,network,permissions,tools.timeout,tools.startup-timeout,engine.api-target,engine.env,engine.bareMissing Documentation:
gh aw init— it should either skip the agent file for non-Copilot engines or include a--engineflag.setup/cli.md:134description ofinitunderstates what it does ("dispatcher agent file") — should explicitly call out that this is a Copilot Chat integration.Question 3: Documentation Gaps and Assumptions
Where does the documentation assume Copilot usage?
Copilot-Centric Language Found In:
reference/engines.md:61-70— canonical "Extended Coding Agent Configuration" example usesid: copilotwithagent:andharness:fields (both Copilot-only per the matrix below). A Claude user copy-pasting hits silent no-ops onagent:/harness:perengines.md:305: "engine.harnessis currently only applied during Copilot engine execution. Setting it on other engines has no effect."reference/engines.mdBYOK section (lines 201-268) — substantial Copilot-specific routing capability ("Copilot Bring Your Own Key (BYOK) Mode") with 9COPILOT_PROVIDER_*env vars. Claude has no equivalent multi-provider story documented.reference/auth.mdx:109— Claude key creation URL still points at(platform.claude.com/redacted), a docs landing page. **setup/quick-start.mdx:84** points to the correct page (https://console.anthropic.com/settings/keys`). The canonical reference is worse than the quick start.reference/auth.mdx:14-23— "Which secret do I need?" table lists only Copilot, Claude, Codex, Gemini. Crush, OpenCode, and Pi are listed inengines.mdbut have no row in auth.mdx — leaving users to discover they reuseCOPILOT_GITHUB_TOKEN.Engine reference counts in docs (rough proxy for example coverage):
engine: copilotliteral: 73 |id: copilot: 29engine: claudeliteral: 9 |id: claude: 8engine: codex: 1 |engine: gemini: 1 |engine: crush: 0Engine-specific guide files: 3 Copilot-specific (
copilot-custom-agents.md,assign-to-copilot.mdx,custom-agent-for-aw.mdx). 0 Claude-specific. 0 for Codex/Gemini/Crush.Tool docs silent on engine compatibility —
reference/tools.md,reference/playwright.md,reference/cache-memory.md,reference/repo-memory.md,reference/gh-aw-as-mcp-server.mdall have 0 mentions of "engine:". Claude users can't tell from these pages whether the tool works with Claude.Severity-Categorized Findings
🚫 Critical Blockers
Blocker 1:
gh aw initinstalls Copilot-only dispatcher agent unconditionallyImpact: Cannot proceed without committing Copilot-coupled files to the repo
Current State:
setup/cli.md:134describesinitneutrally ("creates the dispatcher agent file.github/agents/agentic-workflows.agent.md") whilereference/custom-agent-for-aw.mdx:36andsetup/creating-workflows.mdx:118confirm this file is a Copilot Chat integration. No--engineflag, no skip behavior for Claude users.Why It's a Blocker: A Claude-only user running
gh aw init(which the docs present as a normal initialization step) commits a Copilot-only agent file that does nothing for them and confuses their repo structure. The dispatcher agent is the path the docs recommend for authoring workflows, but it works only inside Copilot Chat.Fix Required: Either (a) add a
--engine claude|codex|geminiflag toinitthat emits engine-appropriate guidance instead of the Copilot agent file, or (b) prominently document the file's Copilot-only nature onsetup/cli.md:134so non-Copilot users can opt out (already possible by avoidinginitand usingadd-wizarddirectly — but this is not stated).Affected Files:
setup/cli.md,setup/creating-workflows.mdx,reference/custom-agent-for-aw.mdx, (and theinitcommand itself)Blocker 2:
engines.mdactively recommends Copilot over Claude as defaultImpact: Steers new users away from their existing AI subscription
Current State:
reference/engines.md:28: "Copilot is the default choice for most users... Choose Claude when you want stronger control over turn limits... If you are unsure, start with Copilot and switch later."Why It's a Blocker: A Claude Code user reading this for the first time is told their preferred engine is a niche use case ("stronger control over turn limits"). For a user with an Anthropic API key and no Copilot subscription, this is the wrong recommendation.
Fix Required: Reframe around what the user already has, not around which engine is "default": "Use whichever AI account you already have — set
engine:to match. Copilot is the default ifengine:is omitted. Each engine supports a slightly different feature set; see the matrix below."Affected Files:
reference/engines.md:26-28Obstacle 1: Anthropic key creation URL inconsistent across docs
Impact: Claude users following
auth.mdxland on a docs page instead of a key formCurrent State:
reference/auth.mdx:109: *"Create an API key at (platform.claude.com/redacted) — this is a docs landing page.setup/quick-start.mdx:84correctly points athttps://console.anthropic.com/settings/keys. The canonical auth reference is worse than the quick start. (This was already flagged in the 2026-05-15 and 2026-05-16 reviews and remains unfixed.)Suggested Fix: Replace
reference/auth.mdx:109URL withhttps://console.anthropic.com/settings/keysto matchsetup/quick-start.mdx.Affected Files:
reference/auth.mdxObstacle 2: README.md gives Claude users no entry signal
Impact: Claude Code users browsing the GitHub repo page see no indication this tool supports them
Current State:
README.mdmentions "agentic workflows" generically. The Overview, Guardrails, and Quick Start sections never mention engine choice. The only AI engine implied is via the "Peli's Agent Factory" link.Suggested Fix: Add a single sentence to the Overview: "Supports GitHub Copilot (default), Claude by Anthropic, OpenAI Codex, and Google Gemini — choose whichever AI account you already have via the
engine:frontmatter field."Affected Files:
README.mdObstacle 3: Canonical engine example in
engines.mduses Copilot-only fieldsImpact: Claude users copy-paste a configuration that silently no-ops on
agent:andharness:Current State:
reference/engines.md:61-70shows the canonical "Extended Coding Agent Configuration" example usingid: copilotwithagent: agent-idandharness:lines. The feature matrix below (lines 34-45) marks both fields as Copilot-only, andengines.md:305confirmsharnessis a no-op elsewhere — but the example itself has no inline callout.Suggested Fix: Either show a side-by-side Copilot + Claude example, or annotate
agent:andharness:in the example with# Copilot onlycomments matching the matrix.Affected Files:
reference/engines.md:61-70Obstacle 4: Tool reference docs silent on engine compatibility
Impact: Claude users can't quickly confirm which tools work for them
Current State:
reference/tools.md,reference/playwright.md,reference/cache-memory.md,reference/repo-memory.md, andreference/gh-aw-as-mcp-server.mdcontain 0 mentions of "engine:" (verified by grep).reference/web-search.mdandreference/qmd.mdmention engine once each. Thetools.mdweb-search section does call out Codex-specific behavior, but is silent on Claude/Copilot/Gemini.Suggested Fix: Add a short "Engine compatibility" note to each tool reference doc (e.g., a one-line frontmatter-style note: "Works with all engines" or "Copilot only — silent no-op elsewhere").
Affected Files:
reference/tools.md,reference/playwright.md,reference/cache-memory.md,reference/repo-memory.md,reference/gh-aw-as-mcp-server.md, plus other reference tool docs💡 Minor Confusion Points
reference/auth.mdx:14-23— "Which secret do I need?" table omits Crush, OpenCode, Pi — engines listed inengines.md:20-22useCOPILOT_GITHUB_TOKENbut this isn't documented in the auth table.reference/auth.mdx:121-123—CLAUDE_CODE_OAUTH_TOKENis explicitly rejected. Documented honestly, but it's a real blocker for Claude Max/Teams subscribers who'd expect to reuse their CLI auth — there's no migration callout in the Quick Start.setup/cli.md:134—initdescription calls the file "dispatcher agent file" without flagging that this is a Copilot Chat artifact (the Copilot specificity is buried inreference/custom-agent-for-aw.mdx).setup/quick-start.mdx:70— wizard option ordering presents Copilot first; "Copilot, Claude, Codex, or Gemini" wording reinforces Copilot as the default expectation.introduction/how-they-work.mdx:26— "Workflows support GitHub Copilot (default), Claude by Anthropic, Codex, and Gemini by Google." Listing is fair; the(default)parenthetical is the only Copilot-leaning signal here. Mild.copilot-custom-agents.md,assign-to-copilot.mdx,custom-agent-for-aw.mdx). No equivalent "Claude usage patterns" doc.Engine Comparison Analysis
Available Engines
Documented in
reference/engines.md:14-22:copilot(default),claude,codex,gemini,crush(experimental),opencode(experimental),pi(experimental).Documentation Quality by Engine
id: copilotblocks)id: claudeblocks; 9engine: claude)engine: codex)engine: gemini)Authentication Requirements
Current Documentation
reference/auth.mdxcovers:ANTHROPIC_API_KEYURL still points to docs landing page (line 109), not key creation formMissing/Wrong for Claude Users
auth.mdxandquick-start.mdx(fix one or the other)CLAUDE_CODE_OAUTH_TOKEN not supportedSecret Names
COPILOT_GITHUB_TOKEN(documented)ANTHROPIC_API_KEY(documented;CLAUDE_CODE_OAUTH_TOKENexplicitly rejected)OPENAI_API_KEY(alternateCODEX_API_KEY)GEMINI_API_KEYCOPILOT_GITHUB_TOKENper engines.md table — not in auth.mdx tableExample Workflow Analysis
Documentation Engine-Mention Counts
Quality of Examples
Copilot Examples: Comprehensive. BYOK, GHES, custom endpoints, harness scripts, custom agents — all covered with multiple examples.
Claude Examples: Sufficient for basic use (Quick Start Step 4 uses
engine: claude; engines.md hasmax-turns,bare,token-weightsexamples). Not enough to learn Claude-specific patterns: no dedicated Claude guide, no example showingengine.env: ANTHROPIC_BASE_URLend-to-end.Recommended Actions
Priority 1: Critical Documentation Fixes
gh aw init—setup/cli.md,reference/custom-agent-for-aw.mdx. A Claude user shouldn't get a Copilot Chat artifact silently.reference/engines.md:28. Stop steering users to Copilot when they already have a different AI subscription.ANTHROPIC_API_KEYsetup URL inauth.mdx:109— point tohttps://console.anthropic.com/settings/keyslikequick-start.mdxdoes.Priority 2: Major Improvements
README.mdOverview — surface that Claude/Codex/Gemini are supported.reference/engines.md:61-70. Inline# Copilot onlycomments onagent:/harness:.reference/tools.md,playwright.md,cache-memory.md,repo-memory.md,gh-aw-as-mcp-server.md.COPILOT_GITHUB_TOKEN."Priority 3: Nice-to-Have Enhancements
reference/claude-engine-guide.md(orguides/using-claude.md) to match the 3 Copilot-specific guides.engine:swap.CLAUDE_CODE_OAUTH_TOKENnot being supported, so Claude Max/Teams users know upfront they need a separate API key.Positive Findings
What Works Well
engine: claudeas the customization example (setup/quick-start.mdx:134) — concrete signal that Claude is a first-class option.reference/engines.md:34-45) is clear about Copilot-only and Claude-only fields. Anyone who reads it knows what won't work.engine.baretable (reference/engines.md:329-334) explicitly mentions CLAUDE.md memory files — good per-engine documentation.tools.timeoutsection documents per-engine defaults (Claude: 60s, Codex: 120s) — fair, engine-aware tooling docs.CLAUDE_CODE_OAUTH_TOKENrejection is explicit (auth.mdx:121-123) — honest documentation of an unsupported path, even if the underlying limitation is frustrating for Claude Max/Teams users.Conclusion
Can Claude Code Users Successfully Adopt gh-aw?
Answer: Yes — with significant effort.
Reasoning: The core architecture is engine-agnostic for most features, and the Quick Start now shows a
engine: claudeexample. But Copilot remains the assumed default at every decision point:gh aw initsilently installs a Copilot Chat artifact;engines.mdrecommends Copilot if you're "unsure"; the canonical extended-engine example uses Copilot-only fields without inline callouts; and the Claude key URL in the authoritative auth reference still points to a docs landing page rather than a key form. A Claude-Code-only user who reads the docs carefully can succeed, but they will not feel like a first-class citizen of this project.Overall Assessment Score: 6/10
Breakdown:
Trend vs. Previous Reviews
The same critical findings have now appeared in three consecutive reviews:
gh aw initCopilot-specific dispatcher agentengines.mdCopilot-first recommendationauth.mdxClaude key URL inconsistencyThese are small text changes. Fixing them would raise the overall score noticeably.
Next Steps
README.md— single sentence.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/setup/creating-workflows.mdxdocs/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/custom-agent-for-aw.mdxplaywright.md,cache-memory.md,repo-memory.md,qmd.md,gh-aw-as-mcp-server.md,web-search.md,mcp-scripts.mdReport Generated: §25991101822
Engine Used: claude (eating our own dog food 🐕)
All reactions