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>
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>
- 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>
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>
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 #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>
- 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>
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>
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>
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>
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>
- 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
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.
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.
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.
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>
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>
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>
- 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>
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>