The "Cortex Skills" feature serves as the central orchestration and management interface for AI capabilities within the Cortex Hub ecosystem. It provides a robust full-stack solution for viewing, creating, sharing, and managing modular AI skills (native, MCP, or gRPC protocols).
Located primarily in /app/frontend/src/features/skills, the frontend follows a clean Container/Presenter pattern to separate state management from UI rendering.
SkillsPage (Container)
/app/frontend/src/features/skills/pages/SkillsPage.jsapiService), and filtering logic.SkillsPageContent (Presenter)
/app/frontend/src/features/skills/components/SkillsPageContent.jscontext property.backdrop-blur), visual cues, micro-animations, and a responsive sidebar.extra_metadata.emoji for quick identification. Displays disabled skills with an opacity-60 grayscale filter.ReactMarkdown rendering for preview_markdown, allowing users to see public instructions vs the raw "Intelligence Blueprint".The backend REST API is built in FastAPI under /app/ai-hub/app/api/routes/skills.py. It is responsible for advanced access control, system-level safety, and complex querying.
GET /skills/: Lists skills, enforcing multi-level Access Control Logic (ACL).POST /skills/: Creates a given skill configuration.PUT /skills/{skill_id}: Overwrites skill configurations.DELETE /skills/{skill_id}: Purges a skill from the ecosystem.is_system skills are immutable. They cannot be modified or deleted via the API, not even by administrators. This protects the core platform loops.is_system skills.is_enabled status or ownership.owner_id == user.id and enabled), and Group Skills. Group skills are dynamically matched by checking current_user.group.policy.get("skills", []).feature query parameter (e.g., ?feature=swarm_control or ?feature=voice), filtering the query arrays to only return relevant capabilities for specific frontend sub-systems.name field on creation and modification.name (String): Unique string identifier (e.g. browser_eval).skill_type (String): Network protocol format - Native (local), MCP (mcp), or remote (remote_grpc).config (JSON): Configuration network JSON payload.system_prompt (String): Internal LLM instructions invisible to end-users unless explicitly provided.features (Array): Target application bindings mapping where the skill should be active (e.g., ['swarm_control', 'voice_chat', 'workflow']).is_system & is_enabled (Boolean): Core booleans managing lifecycle state and system protection.extra_metadata (JSON): Contains UI metadata and arbitrary frontend parameters (e.g., UI emoji).preview_markdown (String): The operational documentation presented to the user.