34 KiB
title, type, status, date, origin, deepened
| title | type | status | date | origin | deepened |
|---|---|---|---|---|---|
| refactor: Rename all skills and agents to consistent ce- prefix | refactor | completed | 2026-03-27 | docs/brainstorms/2026-03-27-ce-skill-prefix-rename-requirements.md | 2026-03-27 |
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,/todo-triageslash refsskills/ce-todo-triage/SKILL.md—todo-createbacktick ref + 2/todo-resolveslash refsskills/ce-todo-resolve/SKILL.md—/ce:compound+ 2.context/compound-engineering/todo-resolve/scratch pathsskills/ce-agent-native-audit/SKILL.md—/compound-engineering:agent-native-architecture+ bare name refskills/ce-test-browser/SKILL.md—agent-browserbacktick ref +todo-createbacktick ref + 4/test-browserself-refsskills/ce-feature-video/SKILL.md— 3agent-browserbacktick refs + 5/feature-videoself-refs + 11.context/compound-engineering/feature-video/scratch pathsskills/ce-reproduce-bug/SKILL.md—agent-browserbacktick refskills/ce-frontend-design/SKILL.md—agent-browserbacktick refskills/ce-report-bug/SKILL.md—/report-bug-ceself-refskills/ce-document-review/SKILL.md— skill reference patterns (verify agent refs vs skill refs)
Approach:
- Seven reference patterns to update:
/ce:X->/ce-X(slash command invocations of workflow skills)ce:X->ce-X(prose mentions of workflow skills without slash)/compound-engineering:X->/compound-engineering:ce-X(fully-qualified skill refs for skills that gainedce-prefix — e.g.,/compound-engineering:todo-resolve->/compound-engineering:ce-todo-resolve)${CLAUDE_PLUGIN_ROOT}/skills/git-worktree/->${CLAUDE_PLUGIN_ROOT}/skills/ce-worktree/(intra-skill paths)- Backtick skill refs:
`document-review`->`ce-document-review`,`todo-create`->`ce-todo-create`,skill: git-worktree->skill: ce-worktree, etc. - Self-referencing slash commands:
/test-browser->/ce-test-browser,/feature-video->/ce-feature-video,/todo-resolve->/ce-todo-resolve,/report-bug-ce->/ce-report-bug - Scratch space paths:
.context/compound-engineering/feature-video/->.context/compound-engineering/ce-feature-video/,.context/compound-engineering/todo-resolve/->.context/compound-engineering/ce-todo-resolve/
Critical exclusions — do NOT update:
agent-browserreferences — this skill is EXCLUDED from renaming (R6, upstream). Many skills reference it withthe \agent-browser` skill`; these must stay as-isrclonereferences — also excludedlfg/slfgreferences — excluded from renaming (R7), though their internal refs ARE updated
Note: Agent references like compound-engineering:review:code-simplicity-reviewer ARE now in scope (R11c) — they will be updated in Unit 3b.
Test scenarios:
grep -r "/ce:" plugins/compound-engineering/skills/returns zero results (after excluding agent refs likecompound-engineering:category:agent)- lfg/slfg chains reference new skill names
- ce-worktree script paths point to
ce-worktree/directory - No stale bare skill name references for renamed skills in backtick patterns
Verification:
- No stale
/ce:skill references remain in any SKILL.md - No stale
/compound-engineering:todo-resolve(withoutce-prefix) patterns remain for renamed skills - No stale bare
document-review,todo-create,git-worktreebacktick refs (replaced withce-prefixed names)
- Unit 3b: Agent reference updates across skills and agents
Goal: Update all agent references throughout skills and agent files. Drop compound-engineering: plugin prefix from 3-segment refs, keeping <category>:ce-<agent>. Update agent frontmatter name: fields.
Requirements: R8, R11, R11b, R11c, R12
Dependencies: Unit 1b (agent files at new paths)
Files:
- Modify: All 49 agent
.mdfiles — update frontmattername:toce-<agent-name> - Modify: All skill SKILL.md files that reference agents via
compound-engineering:<category>:<agent>pattern (many files — ce-plan, ce-review, ce-brainstorm, ce-ideate, ce-document-review, ce-work, ce-work-beta, ce-orchestrating-swarms, ce-resolve-pr-feedback, lfg, slfg, and others) - Modify: Agent files that reference other agents via fully-qualified names
- Modify: Agent
description:frontmatter fields that may reference the old format - Modify:
project-standards-revieweragent — its review criteria explicitly enforce the old 3-segment convention; needs conceptual update
Approach:
- Update all 49 agent frontmatter
name:fields toce-<agent-name> - Replace all
compound-engineering:<category>:<agent>references with<category>:ce-<agent>across ALL skill and agent files. Key patterns:Task compound-engineering:<category>:<agent>->Task <category>:ce-<agent>(Task tool invocations in skills)subagent_type: compound-engineering:<category>:<agent>->subagent_type: <category>:ce-<agent>(orchestrating-swarms and similar)`compound-engineering:<category>:<agent>`->`<category>:ce-<agent>`(backtick references in prose)- Bare prose mentions of fully-qualified agent names
- Agent files that reference skill names (handled in Unit 6) — but agent files referencing OTHER agents by old name need updating here
- lfg/slfg agent invocations updated per R12
project-standards-revieweragent's review criteria updated to enforce<category>:ce-<agent>format instead ofcompound-engineering:<category>:<agent>
Test scenarios:
grep -r "compound-engineering:" plugins/compound-engineering/skills/ plugins/compound-engineering/agents/returns zero results for agent references (skill fully-qualified refs like/compound-engineering:ce-todo-resolvemay still exist)- Every agent frontmatter
name:starts withce-
Verification:
- No
compound-engineering:<category>:<agent>references remain in active skill/agent files - All 49 agent
name:fields updated project-standards-reviewerenforces new naming convention
- Unit 4: Codex converter and parser updates
Goal: Replace the Codex converter's hardcoded ce: prefix logic with a frontmatter-driven codex-prompt field. Update the parser and types to support the new field.
Requirements: R17
Dependencies: Unit 2 (the 8 workflow SKILL.md files must have codex-prompt: true in frontmatter)
Files:
- Modify:
src/types/claude.ts— AddcodexPrompt?: booleantoClaudeSkilltype - Modify:
src/parsers/claude.ts— Extractcodex-promptfrom frontmatter inloadSkills() - Modify:
src/converters/claude-to-codex.ts- Replace
isCanonicalCodexWorkflowSkill(name)with a check onskill.codexPrompt === true - Update
toCanonicalWorkflowSkillNameto producece-instead ofce:
- Replace
Approach:
- Add
codexPrompt?: booleanto theClaudeSkilltype alongside existing fields likedisableModelInvocation - In
loadSkills(), extractcodex-promptfrom frontmatter:codexPrompt: data['codex-prompt'] === true - In the Codex converter, change
isCanonicalCodexWorkflowSkillto accept the skill object (not just name) and checkskill.codexPrompt === true. This may require adjusting the call sites to pass the full skill rather than justskill.name - Update
toCanonicalWorkflowSkillNameto producece-prefix:ce-${name.slice("workflows:".length)} - The
isDeprecatedCodexWorkflowAliasfunction (startsWith("workflows:")) needs no change - No other converter code changes needed — all other content transformations are idempotent on colon/hyphen
Patterns to follow:
- Existing frontmatter field extraction pattern in
src/parsers/claude.ts(seedisableModelInvocationextraction) - Existing
ClaudeSkilltype field pattern insrc/types/claude.ts
Test scenarios:
- A skill with
codex-prompt: truegets identified as a workflow skill - A skill without the field (or
codex-prompt: false) is NOT a workflow skill toCanonicalWorkflowSkillName("workflows:plan")returns"ce-plan"- The 8 workflow skills from the real plugin all have
codexPrompt: truewhen parsed
Verification:
- Codex converter correctly identifies the 8 canonical workflow skills via frontmatter field
workflows:*aliases map toce-*names- No hardcoded skill name checks remain in converter code
- Unit 5: Test fixture updates
Goal: Update all test files with hardcoded skill names to reflect the new ce- prefix.
Requirements: R14, R15, R18
Dependencies: Unit 4 (converter changes affect test expectations)
Files:
- Modify (compound-engineering specific fixtures — update to
ce-plan):tests/codex-converter.test.ts— ~10 fixtures withce:plan,ce:brainstormtests/codex-writer.test.ts— ~5 fixturestests/review-skill-contract.test.ts— string assertions for/ce:reviewtests/compound-support-files.test.ts— describe labeltests/release-metadata.test.ts— mkdir and file contenttests/release-components.test.ts— commit message parsingtests/release-preview.test.ts— title fixture- Writer tests (all have
ce:planfixtures):tests/kiro-writer.test.ts,tests/pi-writer.test.ts,tests/droid-writer.test.ts,tests/gemini-writer.test.ts,tests/copilot-writer.test.ts,tests/windsurf-writer.test.ts tests/windsurf-converter.test.ts— collision dedup fixturetests/copilot-converter.test.ts— collision detection fixturetests/openclaw-converter.test.ts— fixturetests/claude-home.test.ts— frontmatter fixture
- Modify (abstract colon-handling — change to non-CE example):
tests/path-sanitization.test.ts— changece:brainstorm/ce:planexamples toother:skill/other:toolto preserve colon sanitization coverage
- Add: assertion in
tests/path-sanitization.test.tsthat no CE skill name contains a colon (R13 lint requirement)
Approach:
- For CE-specific tests: mechanically replace
ce:planwithce-plan,ce:brainstormwithce-brainstorm, etc. - For path-sanitization tests: replace CE examples with generic colon examples to maintain coverage of the
sanitizePathName()colon path - Add a new test case that loads the real plugin and asserts
!skill.name.includes(":")for every skill
Test scenarios:
- All existing test assertions still pass with new fixture values
- Path sanitization test still covers colon-to-hyphen conversion (with non-CE example)
- New no-colon invariant test passes
Verification:
bun testpasses with zero failures
- Unit 6: Skill-name references in agent files
Goal: Update agent .md files that reference skill names with old patterns (/ce:plan, bare git-worktree, etc.). Agent files are now at agents/ce-*.md after Unit 1b.
Requirements: R11
Dependencies: Unit 1b (agent files at new paths), Unit 3b (agent frontmatter and agent-to-agent refs already done)
Files:
- Modify (agent files with skill name references — paths reflect post-rename location):
plugins/compound-engineering/agents/research/ce-git-history-analyzer.agent.md— references/ce:planplugins/compound-engineering/agents/research/ce-issue-intelligence-analyst.agent.md— references/ce:ideateplugins/compound-engineering/agents/research/ce-learnings-researcher.agent.md— references/ce:planplugins/compound-engineering/agents/review/ce-code-simplicity-reviewer.agent.md— references/ce:plan,/ce:workplugins/compound-engineering/agents/research/ce-best-practices-researcher.agent.md— referencesagent-native-architecture,git-worktreebare names (nowce-agent-native-architecture,ce-worktree)bug-reproduction-validatorworkflow agent reference — excluded, no change needed, verify only
- Comprehensive grep to find any other agent files with old skill references
Approach:
- Replace
/ce:Xwith/ce-Xin skill slash-command references - Replace bare old skill names with
ce-prefixed names in prose - Do NOT update
agent-browserreferences (excluded per R6)
Verification:
grep -r "/ce:" plugins/compound-engineering/agents/returns zero results- No agent file references old skill names (except excluded
agent-browser)
- Unit 7: Documentation updates
Goal: Update active documentation to reflect new skill AND agent names. Rewrite naming convention rationale. Update agent reference convention from 3-segment to flat ce- format.
Requirements: R10
Dependencies: Unit 1, Unit 1b (all names finalized)
Files:
- Modify:
plugins/compound-engineering/README.md— skill tables, agent references - Modify:
plugins/compound-engineering/AGENTS.md— command listing, "Whyce:?" section needs full conceptual rewrite to explaince-convention for both skills and agents, agent reference convention section (wascompound-engineering:<category>:<agent>, now<category>:ce-<agent>) - Modify:
README.md(root) — Workflow table, prose references, Codex output notes. Clean up stale/syncreference. - Modify:
AGENTS.md(root) — update agent reference convention if present
Approach:
- Skill tables: mechanical find-and-replace of
/ce:X->/ce-Xand bare skill names - Agent references: update all
compound-engineering:<category>:<agent>examples to<category>:ce-<agent> - AGENTS.md: rewrite naming convention section to explain unified
ce-prefix for both skills and agents; update "Agent References in Skills" section to reflect new<category>:ce-<agent>format (wascompound-engineering:<category>:<agent>) - Root README: update tables and remove stale
/syncskill reference - Do NOT update historical docs in
docs/brainstorms/,docs/plans/,docs/solutions/
Verification:
- No active doc references old
ce:skill names orcompound-engineering:<category>:<agent>agent patterns - AGENTS.md rationale section explains
ce-convention coherently for both skills and agents - Agent reference convention updated from
compound-engineering:<category>:<agent>to<category>:ce-<agent>
- Unit 8: Verification sweep and commit
Goal: Final verification that no stale references remain for both skills AND agents, all tests pass, and release validation succeeds.
Requirements: R14, R15, R16, R19
Dependencies: All previous units
Files:
- No new files
Approach:
- Run comprehensive grep for stale SKILL names across the entire repo:
grep -r "ce:brainstorm\|ce:plan\|ce:review\|ce:work\|ce:ideate\|ce:compound" plugins/ src/ tests/(should return zero outside historical docs)grep -r "/git-commit\b\|/git-worktree\b\|/git-clean-gone\|/report-bug-ce\b" plugins/(should return zero)grep -r "/compound-engineering:todo-resolve\b\|/compound-engineering:test-browser\b\|/compound-engineering:feature-video\b\|/compound-engineering:setup\b" plugins/(should return zero)
- Run comprehensive grep for stale AGENT references:
grep -r "compound-engineering:review:\|compound-engineering:research:\|compound-engineering:design:\|compound-engineering:workflow:\|compound-engineering:document-review:\|compound-engineering:docs:" plugins/ src/ tests/(should return zero — all converted toce-<agent>)- Verify no agent files remain in category subdirs
- Run
bun test - Run
bun run release:validate - Fix any stragglers found
- Commit all changes in a single commit
Verification:
bun testpasses with zero failuresbun run release:validatepasses- No stale skill or agent name references in active code (plugins/, src/, tests/)
- No 3-segment agent references remain
System-Wide Impact
- Interaction graph: Skill-to-skill handoff chains (
brainstorm->plan->work->review) are the primary interaction surface. lfg/slfg orchestrate these chains. Skills dispatch agents viaTaskorsubagent_type— these change fromcompound-engineering:<category>:<agent>to<category>:ce-<agent>. All handoff and dispatch references must use new names. - Error propagation: A missed cross-reference would cause skill invocation to fail at runtime with "skill not found". Grep-based verification in Unit 8 is the primary defense.
- State lifecycle risks: Existing scratch directories at
.context/compound-engineering/ce-review/are unaffected (already use hyphens). Renamed skills' scratch dirs (e.g.,feature-video/->ce-feature-video/) will start creating new paths; old orphaned scratch dirs from previous runs are harmless and ephemeral. - Converter content-transformation (verified safe): All 6 converters with slash-command rewriting (Windsurf, Droid, Kiro, Copilot, Pi, Codex) use generic
normalizeName()that is idempotent on colon/hyphen —/ce:planand/ce-planboth producece-plan. The 4 converters without content transformation (OpenClaw, Qwen, OpenCode, Gemini) pass content through unmodified. Only the CodexisCanonicalCodexWorkflowSkill()function needs code changes. - Droid target behavioral change: 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 — an improvement, no code change needed. - API surface parity:
sanitizePathName()becomes a no-op for CE skills but remains functional for other plugins that may use colons. - Integration coverage: The collision detection test in
tests/path-sanitization.test.tsloads the real plugin — it will validate that no two renamed skills collide after sanitization.
Risks & Dependencies
- Very large diff size: 29 skill directory renames + 49 agent file renames + content changes across 70+ files. Mitigation: single commit with clear commit message; PR description with summary table.
- Agent reference blast radius: 3-segment
compound-engineering:<category>:<agent>references appear in many skill files (ce-plan, ce-review, ce-brainstorm, ce-ideate, ce-document-review, ce-work, ce-orchestrating-swarms, ce-resolve-pr-feedback, lfg, slfg). All must be updated toce-<agent>. Mitigation: comprehensive grep in Unit 8 verification. - Missed cross-references: 7+ distinct reference patterns across skills, plus agent reference patterns. Mitigation: exhaustive skill inventory from deepening; grep-based verification for both skills and agents.
- Codex converter behavioral change: Moving from prefix-based to frontmatter-field-based detection. Mitigation: explicit test scenarios; field is self-documenting and follows existing codebase patterns.
agent-browserexclusion discipline: Many skills referencethe \agent-browser` skill` — these must NOT be updated since agent-browser is excluded (R6). Mitigation: explicit exclusion list in Unit 3 approach notes.- User muscle memory:
/ce:planstops working;compound-engineering:review:adversarial-reviewerformat stops working. Mitigation: clean break is intentional; major version bump signals the change.
Sources & References
- Origin document: docs/brainstorms/2026-03-27-ce-skill-prefix-rename-requirements.md
- Related issue: #337
- Related learning:
docs/solutions/integrations/colon-namespaced-names-break-windows-paths-2026-03-26.md - Related learning:
docs/solutions/codex-skill-prompt-entrypoints.md - Related learning:
docs/solutions/skill-design/beta-skills-framework.md