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
Reduce per-agent idea target from 10 to 7-8 based on real usage data
showing ideas 8-11 were speculative tail that rarely survived filtering.
This keeps the unique candidate pool manageable (~20-30 after dedup)
while preserving frame diversity across 4-6 agents. Also add scannable
overview line before detail blocks in Phase 4, and clarify foreground
dispatch and native tool usage in Phase 1.
- Clarify sub-agent volume: each agent targets ~10 ideas (40-60 raw, ~30-50 after dedupe)
- Reframe ideation lenses as starting biases, not constraints, to encourage cross-cutting ideas
- Add orchestrator synthesis step between merge/dedupe and critique
- Improve skill description with specific trigger phrases for better auto-discovery
- Update argument-hint to be user-facing ("feature, focus area, or constraint")
- Position ideate as optional entry point in workflow diagram, not part of core loop
- Update plugin metadata and README with new skill counts and descriptions
Requirements for a new open-ended ideation skill that does
divergent-then-convergent idea generation for project improvements.
Standalone from ce:brainstorm, covers codebase scanning, volume-based
idea generation, self-critique filtering, and durable artifact output.
Research agents (repo-research-analyst, git-history-analyzer,
best-practices-researcher, framework-docs-researcher) were using
shell commands like find, rg, cat, and chained pipelines for routine
codebase exploration. This triggers permission prompts in Claude Code
and degrades the user experience when these agents run as sub-agents.
Updated all research agents with platform-agnostic tool selection
guidance that prefers native file-search/glob, content-search/grep,
and file-read tools over shell equivalents. Shell is now reserved for
commands with no native equivalent (ast-grep, bundle show, git).
Git-history-analyzer additionally limits shell to one simple git
command per call with no chaining or piping.
Added tool selection rules to AGENTS.md so future agents follow
the same pattern by default.
* docs: capture codex skill prompt model
* fix: align codex workflow conversion
* chore: remove deprecated workflows:* skill aliases
The workflows:brainstorm, workflows:plan, workflows:work, workflows:review,
and workflows:compound aliases have been deprecated long enough. Remove them
and update skill counts (46 → 41) across plugin.json, marketplace.json,
README, and CLAUDE.md.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Trevin Chow <trevin@trevinchow.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix(kiro): parse .mcp.json wrapper key and support remote MCP servers
* refactor: extract unwrapMcpServers helper to deduplicate parser logic
Address review feedback by extracting the mcpServers unwrap logic
into a shared helper used by both loadMcpServers and loadMcpPaths.
* feat: make PR/commit attribution specific to model, harness, and plugin version
Replace generic "Generated with Claude Code" footer with dynamic attribution
that includes the actual model name, harness tool, and plugin version. LLMs
fill in their own values at commit/PR time. Subagents are explicitly
instructed to do the same.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* style: format attribution substitution guide as table
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* style: rename badge to "Compound Engineering v[VERSION]"
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: add context window and thinking level to attribution
Separate MODEL into MODEL, CONTEXT, and THINKING placeholders
so each detail is its own table row and easier to read.
Co-Authored-By: Claude Opus 4.6 (1M context, extended thinking) <noreply@anthropic.com>
* style: badge on its own line, model details on next line in PR template
Co-Authored-By: Claude Opus 4.6 (1M context, extended thinking) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>