[Skills] serialize CLI commands across processes - #30489
Conversation
|
Thank you for your contribution! 🎉 🔔 @keito4 @raulgg @pernielsentikaer @kayotimoteo @alexibuild @alastairsounds you might want to have a look. You can use this guide to learn how to check out the Pull Request locally in order to test it. 📋 Quick checkout commandsBRANCH="fix/skills-cli-concurrency"
FORK_URL="https://github.com/DaleSeo/extensions.git"
EXTENSION_NAME="skills"
REPO_NAME="extensions"
git clone -n --depth=1 --filter=tree:0 -b $BRANCH $FORK_URL
cd $REPO_NAME
git sparse-checkout set --no-cone "extensions/$EXTENSION_NAME"
git checkout
cd "extensions/$EXTENSION_NAME"
npm install && npm run devWe're currently experiencing a high volume of incoming requests. As a result, the initial review may take up to 15 business days. |
da4eb40 to
4fee88b
Compare
Greptile SummaryThis PR serializes Skills CLI work across Raycast command processes and reads installed-skill data from one locked snapshot.
Confidence Score: 5/5The PR appears safe to merge because no blocking failure remains. No blocking failure remains. Important Files Changed
Reviews (3): Last reviewed commit: "Update CHANGELOG.md" | Re-trigger Greptile |
raulgg
left a comment
There was a problem hiding this comment.
Looks good! thank you for the fix
|
Published to the Raycast Store: |
|
🎉 🎉 🎉 We've rewarded your Raycast account with some credits. You will soon be able to exchange them for some swag. |
Fixes #30486
Description
Update All SkillsandManage Skillscan launch separatenpx skills@latestprocesses against the same npm cache. When their package installation phases overlap, npm can fail one process withENOTEMPTYbefore the Skills CLI starts.This change serializes Skills CLI invocations across Raycast command processes with a stale-safe filesystem lock. Manage Skills also waits for pending CLI work before reading installed-skill metadata, preventing stale or partially written state from being displayed after an update.
Screencast
This change has no UI.
Checklist
npm run buildand tested this distribution build in Raycastassetsfolder are used by the extension itselfREADMEare located outside the metadata folder if they were not generated with our metadata tool