Rename All Skills and Agents to Consistent `ce-` Prefix
Rename all 37 compound-engineering-owned skills and all 49 agents to use a consistent `ce-` hyphen prefix, eliminating namespace collisions with other plugins and removing the colon character that required filesystem sanitization. Agent files are renamed with `ce-` prefix within their existing category subdirs, and 3-segment fully-qualified references (`compound-engineering:<category>:<agent>`) ar
Overview
Rename All Skills and Agents to Consistent ce- Prefix
Overview
Rename all 37 compound-engineering-owned skills and all 49 agents to use a consistent ce- hyphen prefix, eliminating namespace collisions with other plugins and removing the colon character that required filesystem sanitization. Agent files are renamed with ce- prefix within their existing category subdirs, and 3-segment fully-qualified references (compound-engineering:<category>:<agent>) are simplified to <category>:ce-<agent> (drop plugin prefix, keep category). This is a cross-cutting mechanical rename touching skill directories, agent files, frontmatter, cross-references, converter source code, tests, and documentation.
Problem Frame
Generic skill names (setup, plan, review) collide when users install multiple Claude Code plugins. The current naming is inconsistent: 8 core workflow skills use ce: colon prefix while 33 others have no prefix. Agent references use verbose 3-segment format (compound-engineering:review:adversarial-reviewer). Standardizing on ce- eliminates collisions, aligns directory names with frontmatter names, and simplifies agent references. (see origin: docs/brainstorms/2026-03-27-ce-skill-prefix-rename-requirements.md)
Requirements Trace
- R1. All owned skills AND agents adopt
ce-hyphen prefix - R2.
ce:colon prefix ->ce-hyphen prefix (e.g.,ce:plan->ce-plan) - R3. Unprefixed skills and agents get
ce-prepended (e.g.,setup->ce-setup,repo-research-analyst->ce-repo-research-analyst) - R4.
git-*skills replace prefix withce-(e.g.,git-commit->ce-commit) - R5.
report-bug-cenormalizes toce-report-bug - R6.
agent-browserandrcloneexcluded (upstream) - R7.
lfgandslfgexcluded (memorable names), but internal references updated (R12) - R8. Skill/agent frontmatter
name:must match; directories reflect new names - R9. All cross-references updated (slash commands, fully-qualified, prose, descriptions, intra-skill paths)
- R10. Active documentation updated (README, AGENTS.md); historical docs left as-is
- R11. Agent prompt files updated where they reference skill names
- R11b. Skill prompt files updated where they reference agent names
- R11c. Agent references
compound-engineering:<category>:<agent>simplified to<category>:ce-<agent> - R12. lfg/slfg orchestration chains updated (skill AND agent invocations)
- R13. Sanitization infrastructure preserved; add lint assertion for no-colon invariant
- R14-R16. Tests pass, release:validate passes
- R17. Codex converter hardcoded
ce:checks updated - R18. Test fixtures updated appropriately
- R19. Grep sanity check: new names correct, old names do not persist in active code
Scope Boundaries
- Not removing
sanitizePathName()(defense-in-depth for future colons) - Not adding backward-compatibility aliases (clean break)
- Not updating historical docs in
docs/ - Not renaming
agent-browser,rclone,lfg,slfg - All renames use
git mv; fallback only with notification - Single commit for the entire change
Context & Research
Relevant Code and Patterns
src/parsers/claude.ts:108— Skill name from frontmatterdata.name, fallback to dir basenamesrc/utils/files.ts:84-86—sanitizePathName()replaces colons with hyphenssrc/converters/claude-to-codex.ts:180-195— Hardcodedce:prefix checks for canonical workflow skillssrc/utils/codex-content.ts:75-86—normalizeCodexName()for Codex flat namingtests/path-sanitization.test.ts— Collision detection test loading real plugin
Institutional Learnings
docs/solutions/integrations/colon-namespaced-names-break-windows-paths-2026-03-26.md— Documents the colon/hyphen duality and three-layer sanitization (target writers, sync paths, converter dedupe sets). After this rename, the duality is eliminated for CE skills but sanitization stays for other plugins.docs/solutions/codex-skill-prompt-entrypoints.md— Codex derives skill names from directory basenames. TheisCanonicalCodexWorkflowSkill()function identifies which skills get prompt wrappers. After rename, ALL skills start withce-, so prefix-based detection breaks — needs frontmatter-field-based detection instead.docs/solutions/skill-design/beta-skills-framework.md— Validates that stale cross-references after rename cause routing bugs. Must search all SKILL.md files for old names after rename.
Key Technical Decisions
- Codex canonical skill detection via frontmatter field: After rename,
startsWith("ce-")matches ALL skills. Rather than a hardcoded allowlist (fragile, poor discoverability), addcodex-prompt: trueto the 8 workflow SKILL.md frontmatter files, extendClaudeSkilltype withcodexPrompt?: boolean, and parse it inloadSkills(). The converter then checksskill.codexPrompt === trueinstead of name patterns. This follows the codebase grain (parser already extracts frontmatter fields) and naturally propagates when copying workflow skill templates. New workflow skills are discoverable because the field is right where the skill is defined. workflows:alias mapping:toCanonicalWorkflowSkillName()currently producesce:planfromworkflows:plan. Update to producece-plan. TheisDeprecatedCodexWorkflowAlias()check (startsWith("workflows:")) is unaffected.- Converter content-transformation is idempotent — no other converter code changes needed: All 6 converters with slash-command rewriting (Windsurf, Droid, Kiro, Copilot, Pi, Codex) use generic
normalizeName()that replaces colons with hyphens via.replace(/[:\\s]+/g, "-"). So/ce:planand/ce-planboth normalize toce-plan— identical output. The 4 converters without slash-command rewriting (OpenClaw, Qwen, OpenCode, Gemini) pass skill content through untransformed. Only the CodexisCanonicalCodexWorkflowSkill()function needs updating. - Droid converter behavioral change (expected, beneficial): Droid's
flattenCommandName()strips everything before the last colon:/ce:plan->/plan. After rename,/ce-planhas no colon so it passes through as/ce-plan. This preserves thece-prefix in Droid target output, which is an improvement. No code change needed — it happens automatically from the content change. - Test fixture strategy: Fixtures testing compound-engineering-specific behavior (Codex prompt wrappers, review skill contracts) update to
ce-plan. Fixtures testing abstract colon handling (path-sanitization) change examples to non-CE names likeother:skillto preserve coverage of the colon path. - Agent rename in place (no flattening): Category subdirs preserved for organization. Agent files renamed with
ce-prefix within their category dir:agents/review/adversarial-reviewer.md->agents/review/ce-adversarial-reviewer.md. References drop thecompound-engineering:plugin prefix but keep category:compound-engineering:review:adversarial-reviewer->review:ce-adversarial-reviewer. - Major version bump: This is a breaking change affecting all users; plugin version will bump major to signal it.
- git mv required: All renames use
git mvfor history preservation per requirements. Fallback only with notification. - Single atomic commit: All directory renames, content changes, code changes, and test updates in one commit. Intermediate states would have broken tests and stale references.
Open Questions
Resolved During Planning
- Codex
isCanonicalCodexWorkflowSkillfix strategy: Usecodex-prompt: truefrontmatter field instead of prefix check or hardcoded allowlist. Follows the codebase grain, is self-documenting, and naturally propagates via skill template copying. - Other converter content-transformation: Verified all 6 converters with slash-command rewriting use generic
normalizeName()— idempotent on colon/hyphen. No code changes needed beyond CodexisCanonicalCodexWorkflowSkill. - Commit strategy: Single commit. The PR is the review artifact.
- Test fixtures for colon handling: Change
ce:planexamples in path-sanitization tests toother:skillso colon sanitization is still tested without depending on CE skill names. /syncstale reference in README: Clean up during documentation pass.- Cross-reference scope: Exhaustive inventory found 24 files with ~100+ replacements across 7 distinct reference patterns (see Unit 3).
Deferred to Implementation
- Exact wording of the AGENTS.md "Why
ce-?" rationale rewrite — depends on how the surrounding context reads after all name changes - Whether any additional agent files beyond the 5 identified contain skill name references — implementer should grep comprehensively
Implementation Units
- Unit 1: Skill directory renames
Goal: Rename all 29 skill directories that need new names via git mv.
Requirements: R1, R3, R4, R5, R8
Dependencies: None (first unit)
Files:
git mv29 directories underplugins/compound-engineering/skills/:- 4 git-* replacements:
git-commit/->ce-commit/,git-commit-push-pr/->ce-commit-push-pr/,git-worktree/->ce-worktree/,git-clean-gone-branches/->ce-clean-gone-branches/ - 1 normalization:
report-bug-ce/->ce-report-bug/ - 24 prefix additions:
agent-native-architecture/->ce-agent-native-architecture/,agent-native-audit/->ce-agent-native-audit/,andrew-kane-gem-writer/->ce-andrew-kane-gem-writer/,changelog/->ce-changelog/,claude-permissions-optimizer/->ce-claude-permissions-optimizer/,deploy-docs/->ce-deploy-docs/,dhh-rails-style/->ce-dhh-rails-style/,document-review/->ce-document-review/,dspy-ruby/->ce-dspy-ruby/,every-style-editor/->ce-every-style-editor/,feature-video/->ce-feature-video/,frontend-design/->ce-frontend-design/,gemini-imagegen/->ce-gemini-imagegen/,onboarding/->ce-onboarding/,orchestrating-swarms/->ce-orchestrating-swarms/,proof/->ce-proof/,reproduce-bug/->ce-reproduce-bug/,resolve-pr-feedback/->ce-resolve-pr-feedback/,setup/->ce-setup/,test-browser/->ce-test-browser/,test-xcode/->ce-test-xcode/,todo-create/->ce-todo-create/,todo-resolve/->ce-todo-resolve/,todo-triage/->ce-todo-triage/
- 4 git-* replacements:
- 8
ce:skills need NO directory rename (dirs already use hyphens:ce-brainstorm/,ce-plan/, etc.)
Approach:
- Execute all
git mvoperations in sequence - The 4 excluded skills remain:
agent-browser/,rclone/,lfg/,slfg/
Verification:
- All 41 skill directories present with correct names
git statusshows 29 renames tracked
- Unit 1b: Agent file renames (in place)
Goal: Rename all 49 agent files with ce- prefix within their existing category subdirs.
Requirements: R1, R3, R8
Dependencies: None (can run in parallel with Unit 1)
Files:
git mv49 agent files within their category subdirs:agents/<category>/<name>.md->agents/<category>/ce-<name>.md- Category subdirs preserved:
design/,docs/,document-review/,research/,review/,workflow/
Approach:
- For each agent file:
git mv agents/<category>/<name>.md agents/<category>/ce-<name>.md - See the complete agent rename map in the requirements doc for all 49 mappings
Verification:
- 49
ce-*.mdfiles across category subdirs - Category directory structure unchanged
git statusshows 49 renames tracked
- Unit 2: Frontmatter and description updates
Goal: Update the name: and description: fields in all 37 renamed skills' SKILL.md files. Add codex-prompt: true to the 8 workflow skills.
Requirements: R1, R2, R3, R4, R5, R8, R9, R17
Dependencies: Unit 1 (directories exist at new paths)
Files:
- Modify: All 37
SKILL.mdfiles in renamed skill directories- 8
ce:skills: changename: ce:Xtoname: ce-Xin frontmatter - 29 others: change
name: Xtoname: ce-X(with appropriate prefix rule) - Update
description:fields that reference old skill names (confirmed:ce-work-betareferences "ce:work",setupreferences "ce:review",ce-planreferences "ce:brainstorm") - Add
codex-prompt: trueto frontmatter of the 8 workflow skills:ce-brainstorm,ce-compound,ce-compound-refresh,ce-ideate,ce-plan,ce-review,ce-work,ce-work-beta
- 8
Approach:
- For each SKILL.md, edit the YAML frontmatter
name:field - Search each
description:field for references to old skill names and update - Add
codex-prompt: truefield to the 8 workflow skill frontmatter blocks - Use the rename map from the requirements doc as the authoritative mapping
Patterns to follow:
- Frontmatter format:
name: ce-plan(no colons) - Keep
description:prose style consistent with existing descriptions
Test scenarios:
- Every SKILL.md has a
name:field matching its directory name - No
name:field contains a colon character - Exactly 8 SKILL.md files have
codex-prompt: true
Verification:
grep -r "^name: ce:" plugins/compound-engineering/skills/returns zero results- Every
name:matches its containing directory name grep -rl "codex-prompt: true" plugins/compound-engineering/skills/returns exactly 8 files
- Unit 3: Intra-skill cross-reference updates
Goal: Update all skill-to-skill references inside SKILL.md content (not frontmatter). Exhaustive inventory: 20 SKILL.md files, ~100+ individual replacements across 7 reference patterns.
Requirements: R9, R12
Dependencies: Unit 2
Files:
- Modify (20 SKILL.md files with cross-references):
skills/ce-plan/SKILL.md— ~8/ce:workrefs + 7document-reviewbacktick refsskills/ce-brainstorm/SKILL.md— ~12/ce:plan,/ce:workrefs + 1document-reviewrefskills/ce-compound/SKILL.md— ~7/ce:compound-refresh,/ce:planrefsskills/ce-ideate/SKILL.md—/ce:brainstorm,/ce:planrefsskills/ce-review/SKILL.md— routing table refs + 2todo-createbacktick refsskills/ce-work/SKILL.md—/ce:plan,/ce:review+skill: git-worktreeloader refskills/ce-work-beta/SKILL.md— same as ce-work +frontend-designbacktick refskills/lfg/SKILL.md—/ce:plan,/ce:work,/ce:review+/compound-engineering:todo-resolve,:test-browser,:feature-videoskills/slfg/SKILL.md— same patterns as lfgskills/ce-worktree/SKILL.md—/ce:review,/ce:work+ 20${CLAUDE_PLUGIN_ROOT}/skills/git-worktree/path refs + 2call git-worktree skillself-refsskills/ce-todo-create/SKILL.md—/ce:review+todo-triagebacktick ref +/todo-resolve, `/tod