Plugins can now control which subagents are offered, skill prompt text, and commit attribution.
What's wrong with this entry?
Three new points where a plugin can intervene: whether a given subagent type is offered to the model, the text of a skill's prompt before it is used, and the attribution text attached to commits and PRs. Each runs only if a plugin registered a handler for it; otherwise Claude Code's own default behavior runs unchanged.
- The agent offer point checks whether any handler is registered for that event before filtering the candidate agent list, so no handler means no extra work.
- The attribution point is called by the builder that produces commit and PR attribution text, so a plugin can rewrite what gets committed.
- Each event carries the subject with it: the agent offer event is matched on the agent, its description and its source, and answered with a boolean saying whether to offer it.
hasModuleHandlers("agent.offer", { agent: r.agentType }), "skill.prompt": X.SKILL_PROMPT, attribution.text
Strings lifted out of the shipped bundle, so the claim above can be checked against them.