This release adds 2 notable features for engineering teams evaluating rollout.
Published 22h
Developer Productivity
✓ No known CVEs patched
✓ No known CVEs patched in this version
Topics
ai-coding-assistant
archetype
ast-analysis
claude-code
claude-plugin
code-conventions
+12 more
code-review
code-style
developer-tools
javascript
linter
mcp
mcp-server
prompt-engineering
python
ruby
rails
typescript
Summary
AI summaryChameleon now composes with superpowers via SessionStart routing when both plugins are installed.
Full changelog
Added
- Chameleon and superpowers compose when both are installed. The two plugins occupy
complementary layers — superpowers shapes process, chameleon shapes output and supplies facts —
but neither knew the other existed at runtime, so a session got two independent contracts and no
rule for sequencing them. The only cross-references lived inside chameleon skill bodies, which
are read after the skill is already invoked, too late to route. SessionStart now appends a
~174-token routing paragraph naming which skill owns review, receiving review, and debugging,
and stating that/chameleon-deep-workis self-contained sobrainstormingis not in its path —
a contract that was previously undefined, since deep-work forbids questions and brainstorming is
a gate of nothing but questions. The full version lives inusing-chameleon; the digest carries
its summary.CHAMELEON_PEER_ROUTING=0disables it. - Peer detection answers "will it be active", not "do its files exist." Existence checks only —
no byte of the peer plugin's content is ever read or rendered. Claude Code's own registry is
authoritative when readable, so a leftover cache directory cannot keep the block alive after an
uninstall; a plugin switched off viaenabledPluginsin the USER-level~/.claude/settings.json
reads as absent. That check is user-level only: a plugin disabled in a project's own
.claude/settings.jsonstill reads as enabled, so the block can appear in a session where
superpowers does not load. Both rungs are bounded, because SessionStart's wrapper caps the whole
Python emission at 3 seconds and loses the entire injection on overrun. - The routing block is added only to a digest that survived the budget fit whole, and only if it
then fits in what remains — so optional prose can never cost curated digest content, and can
never outlive it either. Both directions are closed by construction rather than by window.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Chameleon
All releases →Beta — feedback welcome: [email protected]