[Feat] Add instance-wide skill marketplace - #2427
Conversation
|
2 issues outstanding. See task
Reviewed a93d6a2 |
| options.executeGit, | ||
| ); | ||
| try { | ||
| const record = snapshot.records.find( |
There was a problem hiding this comment.
loadFastAgentSettingsMarketplaceSnapshot only retains the first 128 discovered SKILL.md records (and only the first 256 candidates) before this lookup. Marketplace search is not constrained to that subset, so selecting a valid skill that sorts later in a source with more than 128 skills always reaches this branch and reports it as un-installable. The install path needs an exact-name lookup that is independent of the Fast discovery cap.
| } finally { | ||
| fs.closeSync(documentFd); | ||
| if (entry.version === 2) { | ||
| const files = readSafeSkillFiles(directory); |
There was a problem hiding this comment.
This recursive ownership check reads every file under a prior v2 skill with no per-file or aggregate limit. A task can modify its persisted HOME between runs, so adding a very large file under an installed skill makes the next resume synchronously load it all into memory before deciding not to delete the locally extended directory. Bound the walk with stat/aggregate limits before readFileSync so a modified runtime cannot OOM the worker.
|
Blocked because PR #2427 was closed without merge while this fix run was investigating it. Verified outstanding work:
No code was pushed and no review threads were resolved. Reopen #2427 or authorize a follow-up PR to continue. |
What changed
SKILL.md, source revision, and bounded supporting files into the instance-wide store so Fast Sessions and coding tasks load the same content.Why this change was made
The marketplace UI was removed because it was coupled to environment-scoped installation. Published skills should instead join the current shared catalog and work consistently in Fast and coding execution without reviving the legacy environment workflow.
Impact
Any active member can install a marketplace skill for the whole instance. Installations are immutable snapshots until edited or deleted, supporting resources are retained, and catalog list responses expose only metadata rather than transferring encoded bundles.
Existing environment YAML installs are not migrated, changed, or removed. Draft PR #2424 separately restores collapsed manual environment-skill management; the two branches overlap only in
apps/docs/skills.mdxandapps/web/src/components/settings/InstanceSkills.client.test.tsx, and this branch intentionally does not modify its page-level environment integration.Live verification installed
vercel-react-best-practicesfrom the public marketplace, preserved its exact main document and 75 resources, and loadedrules/async-parallel.mdthrough both Fast and coding materialization. Focused suites, docs checks, repository lint/typechecks/knip, and pre-push gates passed.Screenshots