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".
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".
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".
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".
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".
a0eb184 to
3834842
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3834842e12
ℹ️ 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: 12a79e7c6b
ℹ️ 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".
- scope Kiro stale agent cleanup to compound fingerprints - clean legacy Codex workflow wrappers across pre- and post-rename formats - remove stale OpenClaw agent-* directories during upgrades - cover session-historian and slack-researcher cleanup regressions
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.
Align the rebased session history agent with the plugin's ce- naming convention and update the README plus skill dispatch references to match.
- scope Kiro stale agent cleanup to compound fingerprints - clean legacy Codex workflow wrappers across pre- and post-rename formats - remove stale OpenClaw agent-* directories during upgrades - cover session-historian and slack-researcher cleanup regressions
Update the live skill dispatch to use research:ce-slack-researcher so the command resolves the renamed agent at runtime.
Update the pipeline contract assertions to match the current hyphenated ce-work-beta and ce-frontend-design skill references used by the skill docs.
…m upstream Agent references in ce-compound, ce-optimize, and ce-sessions still used the old compound-engineering:research:* format after rebases absorbed upstream changes. Updated to the new category:ce-agent format. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…orbed from upstream Recent upstream changes introduced new content (ce-polish-beta, ce-optimize) and added updates to existing skills (ce-plan, ce-brainstorm, ce-code-review, ce-ideate, ce-compound, ce-session-historian) that still used the old ce:<skill> and compound-engineering:<category>:<agent> formats. Aligned all of them to the new ce-<skill> and <category>:ce-<agent> conventions. Also fixed ce-polish-beta frontmatter name from ce:polish-beta to ce-polish-beta. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Two pipeline-review-contract tests still expected the old `document-review` skill name. Updated to `ce-doc-review` to match the rename applied in ce-brainstorm/references/handoff.md and ce-plan/references/plan-handoff.md. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…from upstream ce-pr-description and ce-demo-reel skills referenced the pre-rename `git-commit-push-pr` name in their prose. Updated to `ce-commit-push-pr` and removed the now-stale "sibling git-* skills will rename later" line from the ce-pr-description naming rationale (the rename has happened). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Unify ce-code-review artifact directory path: fixed 5 remaining stale references to .context/compound-engineering/ce-review/<run-id> in SKILL.md (Stage 4 run-id mkdir, persona dispatch, per-agent JSON write, Stage 6 detail-enrichment read) and the subagent-template.md output contract. Announced path and actual write path now match. - Close legacy-cleanup fingerprint gap for stale names without ce-* counterpart: loadLegacyFingerprints previously skipped any legacy name whose mapped current file was missing, leaving isLegacyPluginOwned unable to verify ownership of orphaned entries (4 skills, 2 agents). Added LEGACY_ONLY_SKILL_DESCRIPTIONS and LEGACY_ONLY_AGENT_DESCRIPTIONS maps sourced from last-shipped frontmatter, wired as fallback. Content- match safety preserved — user files with same names are still protected. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Upstream PR #589 introduced the ce-release-notes skill with frontmatter name ce:release-notes (old colon format) and two in-content references to /ce:release-notes. Aligned all three to the new ce-release-notes hyphen convention this branch standardizes on. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…nership The exact-description match in isLegacyPromptWrapper keeps missing real upgrade paths because skill description text drifts (different wording across shipped plugin versions). Two prior rounds on this file patched the symptom by adding ce:->ce- normalization, then per-file description aliases — but ce-plan drifted again when HEAD added a trailing "prefer ce-brainstorm first" sentence that no shipped version contains. Swap prompt-ownership detection to a body-instruction fingerprint: "Use the $<skill> skill for this command and follow its instructions." (plus pre-rename workflow-style variants). The Codex converter writes this boilerplate deterministically and has since v2.39.0. The skill name is embedded by reference, so the fingerprint stays accurate across description rewordings. Added two regression tests: drifted-description wrapper is removed, user-authored file with the same path but a different body is preserved. Resolves #503 review feedback on legacy-cleanup.ts:404. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Upstream PR #588 added mode-aware v2 ideation with a new web-researcher agent and restructured post-ideation-workflow. Files included several stale refs from the pre-rename era: - agents/research/web-researcher.md was introduced without ce- prefix; renamed file to ce-web-researcher.md, updated frontmatter name, and fixed its in-prose skill refs (ce:brainstorm, ce:plan, and the stray compound-engineering:ce-ideate) to match our naming convention - ce-ideate/SKILL.md: /ce:ideate -> /ce-ideate, and all compound- engineering:research:<agent> refs simplified to <category>:ce-<agent> - ce-ideate/references/universal-ideation.md: ce:ideate, ce:brainstorm, ce:plan, ce:work refs updated to hyphenated form - README.md: ce-web-researcher added to Research agent table alongside our existing ce- prefixed agents Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Remove stray merge markers in ce-ideate/references/post-ideation-workflow.md that survived the last rebase. Kept the upstream v2 quality-bar bullets (persistence opt-in, mode defaults) and dropped the stale pre-v2 line. - Scope isLegacyPromptWrapper to compound-owned wrappers. Body-instruction fingerprint alone was too permissive — renderPrompt emits the same boilerplate for every plugin, so a shared ~/.codex/prompts/ with a sibling plugin's ce-plan.md would have been deleted. Now requires BOTH signals: body matches the plugin-generated boilerplate AND description matches either the current shipped ce-* description or a historical alias in LEGACY_PROMPT_DESCRIPTION_ALIASES. Seeded alias map from shipped releases for ce-plan, ce-work, ce-work-beta, ce-brainstorm, ce-ideate, ce-compound, ce-compound-refresh, ce-review. Added regression test: foreign plugin's same-named wrapper is preserved. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Update remaining stale references to skill/agent names after rebase: - AGENTS.md cross-platform reference example uses ce-doc-review - ce-compound/SKILL.md internal /compound heading and session-historian ref - ce-code-review/references/resolve-base.sh header comment - pi converter and codex-agents tool mapping use ce-todo-create - pi-converter test assertion matches converter output - release preview/components tests use ce-plan (non-beta) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Without this, upgrades from pre-rename installs that contain the old `web-researcher` agent artifact leave the stale file alongside the new `ce-web-researcher`, producing duplicate entries on Codex/OpenCode/etc. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
PR #590 landed new reference files (bulk-preview, tracker-defer, walkthrough) and test assertions under the old ce-review path while this branch was renaming to ce-code-review. Update the absorbed content to match: artifact path strings inside tracker-defer.md and walkthrough.md, plus hardcoded skill paths in review-skill-contract.test.ts. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 853276053d
ℹ️ 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".
| BASE_REF=$(git rev-parse --verify "$PR_BASE_REMOTE/$REVIEW_BASE_BRANCH" 2>/dev/null || true) | ||
| if [ -z "$BASE_REF" ]; then | ||
| git fetch --no-tags "$PR_BASE_REMOTE" "$REVIEW_BASE_BRANCH:refs/remotes/$PR_BASE_REMOTE/$REVIEW_BASE_BRANCH" 2>/dev/null || git fetch --no-tags "$PR_BASE_REMOTE" "$REVIEW_BASE_BRANCH" 2>/dev/null || true |
There was a problem hiding this comment.
Refresh remote base refs before merge-base lookup
The script now fetches the base branch only when rev-parse cannot find a local tracking ref, so a stale-but-present origin/<base> (or <pr-remote>/<base>) is treated as current. In long-lived clones this can make git merge-base use an outdated base commit and inflate the review diff with already-merged changes, which directly degrades review accuracy. Fetching the resolved base remote unconditionally before computing BASE_REF avoids this stale-ref path.
Useful? React with 👍 / 👎.
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 — and aligns source agent filenames with the.agent.mdconvention used by GitHub Copilot plugins.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 (50 agents):
ce-prefix within their category dirs:adversarial-reviewer.md→ce-adversarial-reviewer.agent.md.agent.mdextension to match the canonical Copilot plugin convention (VS Code docs: "Custom agent files use the.agent.mdextension"). Plain.mdis a tolerated fallback in VS Code and github.com, but Copilot CLI expects.agent.md. Preparing source files now unblocks future Copilot install support.compound-engineering:review:adversarial-reviewer→review:ce-adversarial-reviewerlearnings-researcher) →ce-learnings-researcherParser and cleanup hardening for
.agent.md:src/parsers/claude.ts— filename-based name fallback strips.agentalongside.mdsofoo.agent.mdderivesfoo, notfoo.agent. Not triggered in this repo (all 50 agents have explicitname:frontmatter), but protects downstream consumers.src/utils/legacy-cleanup.ts—buildAgentIndexapplies the same strip, so lookups likece-${legacyName}continue to resolve after the rename. Without this, legacy cleanup would silently fall through to hardcoded description aliases and lose drift protection.Codex 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 coveragece-prefix and the.agent.mdextensionHow to review
This is a large but mechanical change (230 files). Suggested approach:
src/converters/claude-to-codex.ts) — the only real logic change on the ce- rename. The prompt wrapper removal and alias-to-skill-target mapping are the interesting bits.src/parsers/claude.tsandsrc/utils/legacy-cleanup.ts. Small diffs, but they're the only code that cares about the.agent.mdextension. The accompanying parser and cleanup tests cover both with-frontmatter and fallback cases.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— 784 passbun run release:validate— 50 agents, 41 skills, 0 MCP servers/ce:,compound-engineering:category:agent, or bare agent names in active code*.agent.md; Claude Code still resolves them via frontmattername:agent-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 wrappers.agent.mdfilenamesBREAKING CHANGE: All skill and agent names changed.
/ce:plan→/ce-plan,/ce:review→/ce-code-review, agent refs use<category>:ce-<name>format. Source agent filenames now use.agent.md; this is source-tree only and does not affect installed output paths.Closes #337