feat: Add skills management system with features extensibility layer#66
Open
mattbrailsford wants to merge 2 commits into
Open
feat: Add skills management system with features extensibility layer#66mattbrailsford wants to merge 2 commits into
mattbrailsford wants to merge 2 commits into
Conversation
Comprehensive design plan for integrating the new Agent Skills standard (supported by both Anthropic and OpenAI) into Umbraco.AI. Covers domain model, provider sync, management API, frontend UI, chat client integration, and database schema. https://claude.ai/code/session_015RD6irreUevTGNUnzEDZtD
Replaces the earlier SKILL.md manifest/file bundle design with a refined architecture based on the Features extensibility layer. Key changes: - Skills in Core as provider-level managed entities - Features as typed interfaces on capabilities (IAIFeature) - TryGetFeature<T>()/HasFeature<T>() discovery pattern - Provider-implemented IAISkillsFeature with available types - 8-phase implementation plan covering backend + frontend https://claude.ai/code/session_015RD6irreUevTGNUnzEDZtD
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
This PR introduces a comprehensive Skills Management System for Umbraco AI, built on a new Features extensibility layer for the provider/capability system. Skills are managed entities in Core that represent provider-backed AI operations (web search, code interpreter, image generation, etc.) that users can configure and assign to agents via a backoffice management UI.
Key Changes
Core Infrastructure (Features System)
IAIFeature) enabling typed extension points on capabilities beyond the base capability contractIAICapabilityandIAIConfiguredCapability:TryGetFeature<T>(),HasFeature<T>(),GetFeatures()Skills Domain & Persistence
AISkill) with properties: alias, name, description, skillTypeId, connectionId, settings, toolScopeIds, isActive, and standard audit metadataIAISkillsFeature) defining provider contract for skill type discovery and settings schema generationAISkillDescriptor) representing available skill types from providersIAISkillService) for CRUD operations, availability queries, and schema resolutionManagement API
GET /v1/skill— list all skills (paginated with filtering)GET /v1/skill/{idOrAlias}— get skill detailPOST /v1/skill— create skillPUT /v1/skill/{id}— update skillDELETE /v1/skill/{id}— delete skillGET /v1/skill/{alias}/exists— check alias uniquenessGET /v1/skill/available-types— list available skill types (optionally filtered by connection)GET /v1/skill/settings-schema— get dynamic settings schema for a skill typeFrontend UI
OpenAI Provider Integration
IAISkillsFeatureon the Chat capabilityImplementation Details
Files Changed
https://claude.ai/code/session_015RD6irreUevTGNUnzEDZtD