feat(plugins): hot-reload path for SKILL-content-only updates (bypass restart) #112
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
When
POST /workspaces/:id/plugins(re)installs a plugin, the platform callsrestartFunc(workspaceID)which restarts the docker container. This is correct for changes that affect Claude Code's startup state (hooks, settings.json, plugins added/removed).But Claude Code reads
SKILL.mdfiles on each Skill tool invocation — there's no in-memory cache of skill content. So when the only thing that changed is SKILL.md content (text inside an existing skill file), a container restart is unnecessary downtime.For Reno-Stars and future customers iterating on
molecule-skill-five-axis-review, most updates will be SKILL.md content changes. Avoiding the restart on those is the highest-leverage risk reduction we have.Proposed approach
Add a fast-path to
PluginsHandler.installPlugin(or wherever the install flow culminates):**/SKILL.mdfiles changed; nothing else added/removed/modified)restartFunc. Log explicitly:plugin %s: SKILL-content-only update, no restart.Acceptance criteria
classifyPluginDiff(oldDir, newDir) (string, error)returning"skill-content-only"or"cold"Out of scope
Refs
internal/handlers/plugins.go— current install path withrestartFuncwiring