With skip-labeling: true, release-please couldn't find its own PRs
on subsequent runs (it searches by the autorelease: pending label).
This prevented it from updating the PR body when new commits landed.
With skip-changelog: true, release-please didn't update the PR body
when new commits landed because the tree SHA was unchanged (no
changelog file to diff). Re-enabling changelogs means each new commit
produces different changelog content, forcing release-please to update
both the branch and PR body.
Closing the release PR before release-please runs prevented
release-please from recognizing the PR on merge, so it never created
GitHub Releases or tags. The close-reopen approach is incompatible
with release-please's PR tracking.
Keep cancel-in-progress: true for rapid-succession merges and the
release-merge detection for skipping validate. Accept that the PR
body may be stale -- GitHub Releases get correct changelogs at merge
time regardless.
release-please defaults to walking 500 commits and 400 releases on
every run, making each API call per-commit. With ~20 commits between
releases, this wastes ~2 minutes on unnecessary GitHub API calls.
When a release PR merges, the validate step would fail on version drift
that the release PR itself introduced, blocking release-please from
creating tags and GitHub Releases. Detect release PR merges by commit
message prefix and skip validate + stale-close steps so release-please
runs unimpeded.
- Remove plugin version fields from marketplace.json -- canonical
versions live in each plugin's plugin.json. Duplicating them created
drift that release-please couldn't maintain.
- Remove version sync logic from metadata.ts (description sync kept)
- Fix release-preview test to compute expected versions dynamically
from current manifests instead of hardcoding them
release-please skips updating the PR body when it finds an existing PR,
causing the changelog to miss commits that landed after the PR was
created. Fix by closing the stale PR before release-please runs so it
always creates a fresh PR with the full changelog.
Also set cancel-in-progress: true so rapid successive merges don't
race to create the PR with partial commit history.
Beta skills now use disable-model-invocation: true to prevent accidental
auto-triggering. Descriptions written as future stable descriptions with
[BETA] prefix for clean promotion. Updated solutions doc and AGENTS.md
promotion checklist to include removing the field.
- Beta plans use -beta-plan.md suffix to avoid clobbering stable plans
- Fix internal references in beta skills to use beta names consistently
- Add beta skills section to AGENTS.md with promotion checklist
Create separate beta skills instead of gating existing ones. Stable
ce:plan and deepen-plan are restored to main versions. Beta skills
reference each other and work standalone outside lfg/slfg orchestration.
- Surface deferred implementation questions and scope boundaries
- Use per-unit Patterns and Verification fields for task execution
- Add execution strategy: inline, serial subagents, or parallel
- Reframe Swarm Mode as Agent Teams with opt-in requirement
- Make tool references platform-agnostic
- Remove plan checkbox editing during execution
Restructures ce:plan around a decisions-first philosophy:
- Replace issue-template output with durable implementation plans
- Add blocker classification gate for upstream requirements (R11-R13)
- Replace MINIMAL/MORE/A LOT with Lightweight/Standard/Deep
- Add planning bootstrap fallback with ce:brainstorm recommendation
- Remove all implementation code, shell commands, and executor litter
- Make SpecFlow conditional for Standard/Deep plans
- Keep research agents, brainstorm-origin integration, and handoff options
- Restore origin doc completeness checks, user signal gathering,
research decision examples, filename examples, stakeholder awareness,
and mermaid diagram nudges from the old skill
plugin.json and marketplace.json were stuck at 2.40.0 while root
package.json was already at 2.41.0. Skill count was listed as 47
but actual count is 42. README still had stale "Commands | 23"
row from before the commands→skills migration in v2.39.0.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
New issue-intelligence-analyst agent that fetches GitHub issues via
gh CLI, clusters by root-cause themes, and returns structured analysis
with trend direction, confidence scores, and source mix. Designed for
both ce:ideate integration and standalone use.
Agent design:
- Priority-aware fetching with label scanning for focus targeting
- Truncated bodies (500 chars) in initial fetch to avoid N+1 calls
- Single gh call per fetch, no pipes or scripts (avoids permission spam)
- Built-in --jq for all field extraction and filtering
- Mandatory structured output with self-check checklist
- Accurate counts from actual data, not assumptions
- Closed issues as recurrence signal only, not standalone evidence
ce:ideate gains:
- Issue-tracker intent detection in Phase 0.2
- Conditional agent dispatch in Phase 1 (parallel with existing scans)
- Dynamic frame derivation from issue clusters in Phase 2
- Hybrid strategy: cluster-derived frames + default padding when < 4
- Resume awareness distinguishing issue vs non-issue ideation
- Numbered table format for rejection summary in ideation artifacts