refactor(cli)!: rename all skills and agents to consistent ce- prefix#503
refactor(cli)!: rename all skills and agents to consistent ce- prefix#503
Conversation
There was a problem hiding this comment.
💡 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".
plugins/compound-engineering/skills/ce-code-review/references/persona-catalog.md
Show resolved
Hide resolved
There was a problem hiding this comment.
💡 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".
16e4238 to
3f8a92a
Compare
There was a problem hiding this comment.
💡 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".
00b3c26 to
b27f0c0
Compare
There was a problem hiding this comment.
💡 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".
b27f0c0 to
79c262b
Compare
There was a problem hiding this comment.
💡 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".
79c262b to
8b7a83f
Compare
There was a problem hiding this comment.
💡 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".
8b7a83f to
e08be12
Compare
There was a problem hiding this comment.
💡 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".
There was a problem hiding this comment.
💡 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".
There was a problem hiding this comment.
💡 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".
aafcdfc to
ec64d8f
Compare
There was a problem hiding this comment.
💡 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".
| if (extension === ".json") { | ||
| return isLegacyKiroAgentConfig(targetPath) | ||
| } |
There was a problem hiding this comment.
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 👍 / 👎.
ec64d8f to
fe94616
Compare
There was a problem hiding this comment.
💡 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".
| return promptSkillNamesForLegacy(path.basename(targetPath)).some((skillName) => | ||
| body.includes(`Use the $${skillName} skill for this command and follow its instructions.`) | ||
| ) |
There was a problem hiding this comment.
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 👍 / 👎.
fe94616 to
05aa0b0
Compare
There was a problem hiding this comment.
💡 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 |
There was a problem hiding this comment.
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 👍 / 👎.
05aa0b0 to
b8d7eb8
Compare
There was a problem hiding this comment.
💡 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 |
There was a problem hiding this comment.
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 👍 / 👎.
b8d7eb8 to
b490877
Compare
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>
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.
b490877 to
a0eb184
Compare
Why
Generic skill names (
setup,plan,review) collide when users install multiple Claude Code plugins. Our naming was inconsistent: 8 workflow skills usedce: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:plan→ce-plan(colon to hyphen, 8 skills)git-commit→ce-commit,setup→ce-setup, etc. (prefix added, 24 skills)git-worktree→ce-worktree,git-commit-push-pr→ce-commit-push-pr(git- prefix replaced, 4 skills)report-bug-ce→ce-report-bug(normalized, 1 skill)ce-review→ce-code-review,ce-document-review→ce-doc-reviewagent-browser,rclone(upstream),lfg,slfg(memorable names)Agent renames (49 agents):
ce-prefix within their category dirs:adversarial-reviewer.md→ce-adversarial-reviewer.mdcompound-engineering:review:adversarial-reviewer→review:ce-adversarial-reviewerlearnings-researcher) →ce-learnings-researcherCodex converter simplification:
workflows:*aliases now map to skill targets instead of dead prompt targetscodexPromptfield from types/parser (no longer needed)Tests:
ce:brainstormtoother:skillto preserve colon coverageHow to review
This is a large but mechanical change (180 files). Suggested approach:
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.lfg/SKILL.mdandslfg/SKILL.md— these orchestrate the full workflow chain and are where broken refs would be most visible.git mvoperations and frontmatter updates are mechanical. The test suite andrelease:validateconfirm 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/ce:,compound-engineering:category:agent, or bare agent names in active codeagent-browser,rclone,lfg,slfgcorrectly excluded from renamingPost-Deploy Monitoring & Validation
No runtime deployment — plugin content and CLI converter change. After marketplace publish:
/ce-plan,/ce-code-review,/ce-workresolve in a fresh Claude Code sessionce-names and no prompt wrappersBREAKING 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