feat: migrate skill ledger to lowdb and unify skills directory#317
Merged
alchemistklk merged 2 commits intomainfrom Mar 20, 2026
Merged
feat: migrate skill ledger to lowdb and unify skills directory#317alchemistklk merged 2 commits intomainfrom
alchemistklk merged 2 commits intomainfrom
Conversation
…ctory - Replace sql.js with lowdb (LowSync + atomic JSON file) for the skill ledger - Add "custom" source type to SkillSource for zip-imported skills - Unify all skills (curated, managed, custom) into single skillsDir - DB ledger is the single source of truth; source field categorizes skills - Add installedAt field for sorting installed skills by install time - Add download count fallback (1k for zero-download marketplace skills, 0 for custom) - Add POST /api/v1/skillhub/import endpoint for zip file upload - Add file watcher on skillsDir to detect agent-installed skills - Remove OpenClawSkillsWriter (was deleting SkillHub-installed skills during sync) - Frontend: filter chips (All/Recommended/Installed) by source, tab count bug fix - Frontend: Explore tab sorted by downloads desc, Import button wired up - Support multiline YAML description parsing in SKILL.md frontmatter
Deploying nexu-docs with
|
| Latest commit: |
9471bcf
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://16cb2965.nexu-docs.pages.dev |
| Branch Preview URL: | https://feat-skillhub-lowdb-enhancem.nexu-docs.pages.dev |
Contributor
Author
|
/cr |
|
✅ CR topic created in Feishu topic group Refly CR. |
PerishCode
approved these changes
Mar 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
skillsDir— the DBsourcefield is the only differentiatorPOST /api/v1/skillhub/import)OpenClawSkillsWriterwhich was deleting SkillHub-installed skills during config syncChanges
Controller
LowSync+AtomicJsonFileSync, Zod validation, legacy sqlite migration viasqlite3CLIskillsDirfor all skills, DB ledger as sole source of truth forgetCatalog(), download fallback (1k), installed skills sorted byinstalledAtASC, zip import method, filesystem watcher, junk directory cleanupcuratedDir→targetDirparam rename (all installs targetskillsDir)static create()), watcher started after reconcilecustomsource,installedAt), download fallback in detail route, newPOST /importendpointdoSync()skillDbPathchanged to.json,OPENCLAW_STATE_DIRdefault aligned with desktop layoutFrontend
source(Recommended = curated+managed, Installed = custom), Explore sorted by downloads desc, Import button with file pickercustomtoSkillSource,installedAttoInstalledSkilluseImportSkillhookKnown limitations
clawhub installland in agent workspace, not sharedskillsDir(documented indocs/plans/2026-03-20-skillhub-known-limitations.md)Test plan
pnpm typecheckpassespnpm buildpassespnpm testpasses (32/32, 1 pre-existing home.test failure)pnpm start— all 24 curated skills install intoskillsDirmanagedcustomsourcepnpm dist:mac:unsigned)🤖 Generated with Claude Code