Repository navigation
feat: add SkillLoader abstraction for remote skill sources - #1
Merged
Merged
Conversation
Introduce a SkillLoader interface so skills can be loaded from S3, databases, or any remote source — not just a local directory. - Add SkillLoader and LoadedSkill interfaces to types - Refactor Skill type to carry eagerly-loaded body (no more localPath) - Create createLocalSkillLoader for filesystem-based loading - Simplify skill tool execute (no longer reads SKILL.md at runtime) - Support both skillsDirectory (backward compat) and loader options - Add Azure Blob Storage example demonstrating custom loader usage
- Add /validate skill for running the full validation pipeline - Add PostToolUse hook to auto-format with Biome on Write|Edit - Add workflow note to CLAUDE.md about running pnpm validate
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
SkillLoaderinterface soexperimental_createSkillToolcan load skills from any source (S3, databases, APIs) instead of only a local directorycreateLocalSkillLoaderas the built-in filesystem loader, preserving backward compatibility viaskillsDirectoryoptionSkilltype to carry eagerly-loadedbodyinstead oflocalPath, removing runtime filesystem reads from the skill tool execute pathTest plan
pnpm validate)src/skills/loader.test.ts(9 tests)src/skill-tool.test.ts(5 tests covering custom loader, empty loader, error on both/neither options, custom destination)skillsDirectorytests unchanged and passing (backward compat)tsconfig.examples.json