Skip to content

[deep-report] Inline sub-agent files for claude/codex/gemini engines never get a name: field injected, breaking Claude Code subagent registrat #64822

Description

@github-actions

Description

actions/setup/js/extract_inline_sub_agents.cjs writes inline sub-agent blocks (## agent: \name` syntax) to engine-specific directories (.claude/agents/.mdfor theclaudeengine,.codex/agents/.mdforcodex, .gemini/agents/.mdforgemini) using preserveSubAgentFrontmatter()`, which is a literal no-op passthrough:

function preserveSubAgentFrontmatter(content) {
  return content;
}

The gh-aw authoring syntax derives an agent's identifier purely from the ## agent: \name`heading — nothing requires (or even documents) an explicitname:key inside the sub-agent's own frontmatter block (see the examples inpkg/parser/sub_agent_extractor.go's doc comment, which show frontmatter with only model:/description:, no name:). But Claude Code's own custom-subagent spec requires a name:field in.claude/agents/*.mdfrontmatter for the file to register as a usable subagent type — so any workflow author who follows gh-aw's own documented syntax (frontmatter withoutname:) produces a .claude/agents/.md` file that Claude Code silently fails to register.

This is not hypothetical: .github/workflows/claude-code-user-docs-review.md defines ## agent: \doc-reader`and## agent: `engine-example-counter`with frontmatter containing onlydescription:/model:(noname:). Its own generated report (discussion #64769, and prior runs #64716/#64570) states this has failed to register as a custom agent type for 17+ consecutive days, forcing a general-purposefallback and amissing_tool report each run. The current DeepReport workflow (.github/workflows/deep-report.md) uses the identical pattern for its issues-analyst sub-agent (model: small, description:, no name:`), so it is likely silently falling back the same way.

Expected Impact

A single fix in preserveSubAgentFrontmatter (inject/ensure a name: <name> key, derived from the block's own marker, into the frontmatter before writing) would make every claude/codex/gemini-engine workflow that uses the inline ## agent: syntax actually register its sub-agents correctly — fixing a chronic, repeating failure across at least two known workflows without requiring each workflow author to manually add a redundant name: field.

Suggested Agent

GitHub Copilot coding agent (Go/JS compiler fix: actions/setup/js/extract_inline_sub_agents.cjs, plus matching unit tests in extract_inline_sub_agents.test.cjs if present).

Estimated Effort

Quick (< 1 hour)

Data Source

DeepReport Intelligence Briefing — 2026-10-01, root-caused by direct read of actions/setup/js/extract_inline_sub_agents.cjs (preserveSubAgentFrontmatter) after Claude Code User Documentation Review #64769 reported its 17th consecutive day of the name: frontmatter registration failure for .claude/agents/doc-reader.md and .claude/agents/engine-example-counter.md.

Generated by 🔬 Deep Report · claude · agent · 302 AIC · ⌖ 15.3 AIC · ⊞ 7.3K · ◷

  • expires on Oct 3, 2026, 10:45 AM UTC-08:00

Activity

  1. github-actions commented on Oct 3, 2026

    @github-actions
    ContributorAuthor

    This issue was automatically closed because it expired on 2026-10-03T18:45:43.256Z.

    Closed by Workflow

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions