Skip to content

feat: add SkillProvider SPI for pluggable skill backends#36

Open
danielvolovik96 wants to merge 1 commit into
spring-ai-community:mainfrom
danielvolovik96:feat/skill-provider-spi
Open

feat: add SkillProvider SPI for pluggable skill backends#36
danielvolovik96 wants to merge 1 commit into
spring-ai-community:mainfrom
danielvolovik96:feat/skill-provider-spi

Conversation

@danielvolovik96

@danielvolovik96 danielvolovik96 commented Apr 6, 2026

Copy link
Copy Markdown

Closes #37

Summary

  • Add SkillProvider and SkillDescriptor interfaces in the common module as a Service Provider Interface for pluggable skill backends
  • Create FileSystemSkillProvider as the default implementation (refactored from existing logic)
  • Refactor SkillsFunction to delegate to providers at invocation time
  • Add addSkillProvider() to SkillsTool.Builder
  • Full backward compatibility with existing addSkillsDirectory/Resource API

Test plan

  • Unit tests for FileSystemSkillProvider
  • Unit tests for SkillsTool with provider integration
  • Verify backward compatibility with existing API

  * Add SkillProvider and SkillDescriptor interfaces in common module
  * Create FileSystemSkillProvider as default implementation
  * Refactor SkillsFunction to delegate to providers at invocation time
  * Add addSkillProvider() to SkillsTool.Builder
  * Full backward compatibility with existing addSkillsDirectory/Resource API
@tbezierslafosse

Copy link
Copy Markdown

Hi, this PR would directly help our use case.

We need skills to be managed through an admin UI, eventually stored in a database, and selected dynamically depending on the current project/context. Users may work on different projects or domains, each requiring a different set of skills, so a static filesystem or classpath-backed source does not fit well.

The proposed SkillProvider looks like the right abstraction for us: expose descriptors from the current backend/context when the tool is built, then lazily load the full skill content when the model invokes it.

A quick review would definitely help !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add SkillProvider SPI for pluggable skill backends

2 participants