This release fixes issues for SREs watching stability and regressions.
✓ No known CVEs patched in this version
Topics
+14 more
Affected surfaces
Summary
AI summaryFixed infinite skill-invocation loop when invoking brooks‑lint skills.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Bugfix | High |
Fixes infinite loop when invoking brooks-lint skill via model execution. Fixes infinite loop when invoking brooks-lint skill via model execution. Source: llm_adapter@2026-07-17 Confidence: high |
— |
Full changelog
Fixed
Infinite Skill-invocation loop when a brooks-lint skill is model-invoked (#21)
The commands/brooks-*.md wrappers were purely self-referential — "Use the Skill tool to invoke brooks-lint:brooks-review". Combined with an upstream Claude Code bug (anthropics/claude-code#54535, closed NOT_PLANNED) that re-injects a command body without its <command-name> tag after a model-invoked Skill call, the agent could loop: call Skill → body re-injected → call Skill again, never running the skill.
Each wrapper now reads its skill's SKILL.md directly instead of calling the Skill tool, so the re-injection path is never triggered and the skill runs once. The session-start hook bakes the absolute ${CLAUDE_PLUGIN_ROOT} path into the installed short forms, since that variable does not expand in user commands under ~/.claude/commands/.
Cross-platform safe: commands/ is still consumed as-is by the Gemini extension, and Codex loads skills/ only.
Thanks to @madjidsun for the exceptionally thorough report and root-cause trace.
Upgrade
/plugin marketplace update
/plugin install brooks-lint@brooks-lint-marketplace
Full changelog: https://github.com/hyhmrright/brooks-lint/blob/main/CHANGELOG.md
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 Brooks-Lint
All releases →Related context
Related tools
Beta — feedback welcome: [email protected]