Skip to content

refactor(cli)!: rename all skills and agents to consistent ce- prefix#503

Open
tmchow wants to merge 12 commits intomainfrom
feat/ce-skill-prefix-rename
Open

refactor(cli)!: rename all skills and agents to consistent ce- prefix#503
tmchow wants to merge 12 commits intomainfrom
feat/ce-skill-prefix-rename

Conversation

@tmchow
Copy link
Copy Markdown
Collaborator

@tmchow tmchow commented Apr 4, 2026

Why

Generic skill names (setup, plan, review) collide when users install multiple Claude Code plugins. Our naming was inconsistent: 8 workflow skills used ce: colon prefix, 33 others had no prefix, and agent references used verbose 3-segment format (compound-engineering:review:adversarial-reviewer). The colon also required filesystem sanitization on Windows.

This PR standardizes everything on ce- hyphen prefix — skills, agents, and cross-references.

What changed

Skill renames (37 skills):

  • ce:plance-plan (colon to hyphen, 8 skills)
  • git-commitce-commit, setupce-setup, etc. (prefix added, 24 skills)
  • git-worktreece-worktree, git-commit-push-prce-commit-push-pr (git- prefix replaced, 4 skills)
  • report-bug-cece-report-bug (normalized, 1 skill)
  • Two clarity renames: ce-reviewce-code-review, ce-document-reviewce-doc-review
  • Excluded: agent-browser, rclone (upstream), lfg, slfg (memorable names)

Agent renames (49 agents):

  • All agent files get ce- prefix within their category dirs: adversarial-reviewer.mdce-adversarial-reviewer.md
  • References simplified: compound-engineering:review:adversarial-reviewerreview:ce-adversarial-reviewer
  • Bare agent names in prose (learnings-researcher) → ce-learnings-researcher

Codex converter simplification:

  • Removed workflow prompt wrappers — skills are directly invocable in Codex, the extra indirection layer was unnecessary
  • Deprecated workflows:* aliases now map to skill targets instead of dead prompt targets
  • Removed codexPrompt field from types/parser (no longer needed)

Tests:

  • Path sanitization examples changed from ce:brainstorm to other:skill to preserve colon coverage
  • New invariant test: no CE skill name contains a colon
  • All agent file paths and content assertions updated

How to review

This is a large but mechanical change (180 files). Suggested approach:

  1. Start with the converter (src/converters/claude-to-codex.ts) — the only real logic change. The prompt wrapper removal and alias-to-skill-target mapping are the interesting bits.
  2. Spot-check cross-references in lfg/SKILL.md and slfg/SKILL.md — these orchestrate the full workflow chain and are where broken refs would be most visible.
  3. Skim the README for the naming convention section rewrite.
  4. Trust the renames — the 78 git mv operations and frontmatter updates are mechanical. The test suite and release:validate confirm consistency.

Test plan

  • bun test — 572 pass (2 pre-existing network failures unrelated to this change)
  • bun run release:validate — 49 agents, 41 skills, 0 MCP servers
  • Grep sweep: no stale /ce:, compound-engineering:category:agent, or bare agent names in active code
  • agent-browser, rclone, lfg, slfg correctly excluded from renaming

Post-Deploy Monitoring & Validation

No runtime deployment — plugin content and CLI converter change. After marketplace publish:

  • Verify /ce-plan, /ce-code-review, /ce-work resolve in a fresh Claude Code session
  • Verify Codex install produces skill dirs with ce- names and no prompt wrappers
  • Watch for "skill not found" reports indicating missed cross-references

BREAKING CHANGE: All skill and agent names changed. /ce:plan/ce-plan, /ce:review/ce-code-review, agent refs use <category>:ce-<name> format.

Closes #337

🤖 Generated with Claude Code · Compound Engineered · Model: claude-opus-4-6 · Harness: claude-code

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 79b5508dbc

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8cab52e383

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@tmchow tmchow force-pushed the feat/ce-skill-prefix-rename branch from 16e4238 to 3f8a92a Compare April 4, 2026 22:30
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 00b3c26e06

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@tmchow tmchow changed the title refactor!: rename all skills and agents to consistent ce- prefix refactor(cli)!: rename all skills and agents to consistent ce- prefix Apr 5, 2026
@tmchow tmchow force-pushed the feat/ce-skill-prefix-rename branch from 00b3c26 to b27f0c0 Compare April 5, 2026 07:09
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b27f0c0c60

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@tmchow tmchow force-pushed the feat/ce-skill-prefix-rename branch from b27f0c0 to 79c262b Compare April 5, 2026 18:39
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 79c262bf35

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@tmchow tmchow force-pushed the feat/ce-skill-prefix-rename branch from 79c262b to 8b7a83f Compare April 5, 2026 20:49
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8b7a83fbdf

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@tmchow tmchow force-pushed the feat/ce-skill-prefix-rename branch from 8b7a83f to e08be12 Compare April 5, 2026 21:31
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e08be12b45

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: fd32cb77bc

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 84975ffc05

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@tmchow tmchow force-pushed the feat/ce-skill-prefix-rename branch 2 times, most recently from aafcdfc to ec64d8f Compare April 6, 2026 18:48
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ec64d8f8c0

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +304 to +306
if (extension === ".json") {
return isLegacyKiroAgentConfig(targetPath)
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Scope Kiro stale-agent cleanup to compound ownership

cleanupStaleAgents routes .json entries through isLegacyKiroAgentConfig without using expectedDescription, so Kiro cleanup treats any matching-shape agent config as legacy compound output. Since the Kiro converter emits this same config shape for all plugins, a shared ~/.kiro/agents install can lose unrelated agents with names in STALE_AGENT_NAMES (for example lint or security-reviewer) when this cleanup runs. Please gate the Kiro path with a compound-specific fingerprint (for example description/welcome message match) before deleting.

Useful? React with 👍 / 👎.

@tmchow tmchow force-pushed the feat/ce-skill-prefix-rename branch from ec64d8f to fe94616 Compare April 6, 2026 19:41
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: fe94616987

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +334 to +336
return promptSkillNamesForLegacy(path.basename(targetPath)).some((skillName) =>
body.includes(`Use the $${skillName} skill for this command and follow its instructions.`)
)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Detect pre-rename Codex workflow wrappers during prompt cleanup

cleanupStalePrompts currently recognizes wrappers only when the body contains Use the $<skill> skill for this command... (and promptSkillNamesForLegacy only emits ce-* names), but the legacy Codex workflow prompts from before this rename were generated with Use the ce:* skill for this workflow... text. In upgrade scenarios from those versions, this predicate never matches, so stale ce-*.md prompt wrappers are left behind and still point at removed ce:* skills, yielding broken prompt entrypoints instead of being cleaned.

Useful? React with 👍 / 👎.

@tmchow tmchow force-pushed the feat/ce-skill-prefix-rename branch from fe94616 to 05aa0b0 Compare April 7, 2026 19:23
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 05aa0b03e6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".


// TODO(cleanup): Remove after v3 transition (circa Q3 2026)
await cleanupStaleSkillDirs(paths.skillsDir)
await cleanupStaleAgents(paths.skillsDir, null) // agents are converted to skill dirs in OpenClaw
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Remove OpenClaw stale agents using the agent- dir prefix

This cleanup call does not actually match OpenClaw’s legacy agent directories during upgrades. cleanupStaleAgents(..., null) deletes <skillsDir>/<legacy-name>/, but OpenClaw agent skills are written as agent-<name> directories (see convertAgentToSkill), so pre-rename folders like skills/agent-adversarial-reviewer/ survive alongside new agent-ce-* dirs. In upgrade scenarios this leaves stale agent skills on disk and can keep deprecated agent entries discoverable in tooling that scans the skills tree.

Useful? React with 👍 / 👎.

@tmchow tmchow force-pushed the feat/ce-skill-prefix-rename branch from 05aa0b0 to b8d7eb8 Compare April 8, 2026 06:28
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b8d7eb8412

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

try {
const raw = await fs.readFile(targetPath, "utf8")
const { data, body } = parseFrontmatter(raw, targetPath)
if (data.description !== expectedDescription) return false
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Accept legacy workflow descriptions when pruning stale prompts

cleanupStalePrompts currently requires an exact description match in isLegacyPromptWrapper, but this commit also updated workflow skill descriptions (for example ce-plan and ce-work-beta changed ce:* wording to ce-*). On upgrades from pre-rename installs, legacy Codex prompt wrappers keep the old descriptions, so this equality check fails and stale ce-plan.md/ce-work-beta.md wrappers are not removed. Those wrappers still reference removed ce:* skills, so users can be left with broken prompt entrypoints after upgrade.

Useful? React with 👍 / 👎.

@tmchow tmchow force-pushed the feat/ce-skill-prefix-rename branch from b8d7eb8 to b490877 Compare April 8, 2026 07:11
tmchow and others added 5 commits April 8, 2026 01:06
Standardize all 37 compound-engineering skills and 49 agents on a
`ce-` hyphen prefix, eliminating namespace collisions with other
plugins and removing the colon character that required filesystem
sanitization.

Key changes:
- `ce:plan` → `ce-plan`, `git-commit` → `ce-commit`, etc. (29 skill
  directory renames + 8 frontmatter-only updates)
- `adversarial-reviewer` → `ce-adversarial-reviewer`, etc. (49 agent
  file renames + frontmatter updates)
- `ce-review` → `ce-code-review` (clearer purpose)
- `ce-document-review` → `ce-doc-review` (more concise)
- Agent references simplified: `compound-engineering:review:X` → `review:ce-X`
- All bare agent names in prose now carry `ce-` prefix
- Codex converter: remove workflow prompt wrappers (skills are directly
  invocable), replace `isCanonicalCodexWorkflowSkill` prefix check with
  direct skill copying, map deprecated `workflows:*` aliases to skill
  targets instead of dead prompt targets
- Remove `codexPrompt` field from types/parser (no longer needed)
- Path sanitization tests use non-CE examples to preserve colon coverage
- New invariant test: no CE skill name contains a colon

BREAKING CHANGE: All skill and agent names changed. `/ce:plan` is now
`/ce-plan`, `/ce:review` is now `/ce-code-review`, agent references use
`<category>:ce-<name>` format instead of `compound-engineering:<category>:<name>`.

Closes #337

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…mizer skill

The extract-commands-normalize test imported from the old
`claude-permissions-optimizer` directory path. Update to
`ce-claude-permissions-optimizer` to match the rename.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… mapping, OpenCode 2-segment rewrite

- Update ce-work and ce-work-beta to reference `ce-commit-push-pr` and
  `ce-commit` instead of old `git-commit-push-pr`/`git-commit` names
- Add WORKFLOW_ALIAS_OVERRIDES map so `workflows:review` correctly
  resolves to `ce-code-review` instead of non-existent `ce-review`
- Add 2-segment `category:ce-agent` rewrite to OpenCode transform so
  refs like `review:ce-correctness-reviewer` flatten to `ce-correctness-reviewer`

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…dled plugin uses ce- prefix

The fixture's agent-one.md has `name: repo-research-analyst` (no ce-
prefix), so fixture-based tests check for `repo-research-analyst.md`.
The bundled plugin test checks for `ce-repo-research-analyst.md`.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Users who previously ran `install --to codex` (or any target) have old
skill dirs (git-commit/, setup/, document-review/) and agent files
(adversarial-reviewer.md, etc.) that would coexist with the new ce-*
names after re-installing. This causes duplicate/conflicting entries
at runtime.

Add a one-time legacy cleanup module that removes known stale paths
before writing new content. Wired into all 10 target writers. Handles:
- 31 stale skill dirs (29 renamed + ce-review, ce-document-review)
- 49 stale agent files/dirs (all agents gained ce- prefix)
- 8 stale Codex prompt wrappers (removed in this release)

Cleanup is idempotent and marked with TODO(cleanup) for removal after
the v3 transition window.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
tmchow and others added 7 commits April 8, 2026 01:06
Covers skill dir removal, agent file removal (flat .md, .agent.md,
and directory formats), prompt wrapper removal, preservation of
non-stale files, and idempotency.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Make stale skill and agent removal fingerprint-aware so shared install roots keep user-owned files with overlapping names.

Also move Qwen cleanup ahead of agent writes and clean Pi legacy agent directories from skills/ instead of prompts, with regression tests for both cases.
Remove pre-rename agent skill directories from Gemini installs before writing generated skills so stale unprefixed agents do not remain discoverable after the ce- rename.
Teach stale cleanup about the historical setup skill description and Kiro's legacy JSON/prompt agent formats so rename cleanup still works after later wording changes and on Kiro installs.
@tmchow tmchow force-pushed the feat/ce-skill-prefix-rename branch from b490877 to a0eb184 Compare April 8, 2026 08:15
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.

feat: support namespaced skill aliases (e.g. ce:setup)

1 participant