Skip to content

feat(agents): adopt shared .agents/roles/ layout from adcp#4500#1735

Merged
bokelley merged 1 commit into
mainfrom
bokelley/agent-roles-sync-strategy
May 13, 2026
Merged

feat(agents): adopt shared .agents/roles/ layout from adcp#4500#1735
bokelley merged 1 commit into
mainfrom
bokelley/agent-roles-sync-strategy

Conversation

@bokelley

Copy link
Copy Markdown
Contributor

Summary

  • Adopt the single-source-of-truth .agents/roles/ layout established in adcontextprotocol/adcp#4500
  • 28 subagent prompts (10 short triage checkers, 9 -deep design advisors, 9 long-only specialty advisors) — up from 6 hand-maintained short files
  • .claude/agents/ and .codex/agents/ are now generated by scripts/import-claude-agents.mjs (run npm run sync:agents after edits)
  • New CI workflow blocks PRs that drift .claude/agents/ from .agents/roles/

Why

.claude/agents/ was hand-maintained with 6 files copied from adcp and never refreshed. This PR adopts the shared layout so:

  1. The full 28-role roster is reachable (-deep advisors for design work, language-specific helpers like python-expert and nodejs-testing-expert)
  2. Future edits live in one place and propagate to both Claude Code and Codex outputs
  3. CI catches drift, so the roster can't go stale by accident

What's preserved

  • .claude/skills/build-*-agent/ — the 5 client-specific build skills (unique to this repo, not touched)
  • .agents/routines/ and .agents/scripts/triage-local.sh — repo's existing triage tooling, unchanged
  • All existing source code — this PR only adds infrastructure

Test plan

  • npm run sync:agents produces 28 files in each of .claude/agents/ (md) and .codex/agents/ (toml)
  • diff -rq .agents/roles/ .claude/agents/ clean (ignoring .claude/agents/README.md which is hand-authored)
  • The 6 pre-existing .claude/agents/*.md files are byte-identical to the new source (verified before adoption)
  • CI green, including the new validate-agent-roles-sync check
  • Manual verification post-merge: Claude Code lists all 28 agents

Follow-up

  • Phase 3: cross-repo sync action so the roster stays consistent across adcp, adcp-client, adcp-client-python, adcp-go, adcp-sdk-java
  • Parallel PRs for adcp-client-python, adcp-go, adcp-sdk-java filed via their triage routines

🤖 Generated with Claude Code

Single source of truth for 28 subagent prompts:
- 10 short triage checkers (PR-bound)
- 9 long -deep design advisors (open-ended work; opt-in)
- 9 long-only specialty advisors (debugger, copywriter, css-expert,
  data-analyst, ad-creative-expert, agentic-product-architect,
  javascript-protocol-expert, nodejs-testing-expert, python-expert)

scripts/import-claude-agents.mjs regenerates .claude/agents/ (md
copies, tracked) and .codex/agents/ (toml, gitignored). Run after
editing any source role via:

    npm run sync:agents

CI workflow .github/workflows/validate-agent-roles-sync.yml fails
any PR where .claude/agents/ has drifted from .agents/roles/.

Replaces the previous hand-maintained 6-file .claude/agents/ subset
with the full 28-role roster. The 6 pre-existing short files are
byte-identical to the new source (verified before adoption) so no
agent behavior changes — just expanded coverage.

Preserves .claude/skills/build-*-agent/ — those remain
repo-specific surfaces.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant