{"library":"skybridge","title":"Skybridge AI App Framework","description":"Skybridge is an open-source framework designed for building ChatGPT and MCP (Model Context Protocol) Applications, providing a structured approach and tools for creating AI-powered experiences. It currently sits at a stable version of 0.35.19 and exhibits a rapid release cadence, with frequent patch updates indicating active and ongoing development. A key differentiator is its specialized focus on AI application development, offering integrations with modern web development tools like Vite and React for both frontend (e.g., interactive widgets) and backend (e.g., skill definition, API endpoints). The framework supports features such as AI tool/skill invocation, state persistence across renders for components, and robust monitoring capabilities via StatsD. It aims to streamline the development of interactive, agent-friendly AI applications by abstracting much of the underlying complexity, providing developers with a comprehensive platform for building conversational interfaces and intelligent agents.","language":"javascript","status":"active","last_verified":"Sun Apr 19","install":{"commands":["npm install skybridge"],"cli":{"name":"skybridge","version":null}},"imports":["import { createSkybridgeApp } from 'skybridge';","import { defineSkill } from 'skybridge';","import type { AppContext } from 'skybridge';"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import { createSkybridgeApp, defineSkill, AppContext } from 'skybridge';\nimport express from 'express';\n\n// 1. Define an AI skill that can be invoked by the AI agent.\n// This skill retrieves the current time for a specified timezone.\nconst timeSkill = defineSkill({\n  name: 'getCurrentTime',\n  description: 'Gets the current time in a specified timezone.',\n  parameters: {\n    type: 'object',\n    properties: {\n      timezone: {\n        type: 'string',\n        description: 'The IANA timezone string (e.g., \"America/New_York\")',\n      },\n    },\n    required: ['timezone'],\n  },\n  handler: async ({ timezone }: { timezone: string }, context: AppContext) => {\n    try {\n      const now = new Date().toLocaleString('en-US', { timeZone: timezone });\n      context.logger.info(`Requested time for ${timezone}: ${now}`);\n      return { time: now };\n    } catch (error: any) {\n      context.logger.error(`Failed to get time for ${timezone}: ${error.message}`);\n      return { error: `Invalid timezone or internal error: ${error.message}` };\n    }\n  },\n});\n\n// 2. Create and configure a Skybridge application instance.\n// This instance will register the defined skills and expose necessary endpoints.\nconst app = createSkybridgeApp({\n  skills: [timeSkill],\n  // Further configurations can be added here, such as authentication, integrations, etc.\n});\n\n// 3. Integrate the Skybridge app handler with an Express.js server.\n// Skybridge applications typically run on Node.js and can leverage Express.\nconst expressApp = express();\nexpressApp.use('/api/skybridge', app.handler());\n\n// 4. Start the Express server to host the Skybridge application.\nconst PORT = process.env.PORT || 3000;\nexpressApp.listen(PORT, () => {\n  console.log(`Skybridge app server listening on port ${PORT}`);\n  console.log(`Access AI agent endpoints at http://localhost:${PORT}/api/skybridge`);\n  console.log(`Configure your AI agent to use this endpoint for skill invocation.`);\n});\n","lang":"typescript","description":"This quickstart demonstrates how to define an AI skill and integrate a Skybridge application with an Express.js server, exposing an endpoint for AI agents to interact with defined skills.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}