Registry / llm-agents / skybridge

skybridge

JSON →
library0.1.0jsnpmunverified

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.

npm install skybridge
INSTALL
IMPORT
SIG · SKYBRIDGE
S
skybridge
llm-agentsjavascriptv0.1.0
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

createSkybridgeApp
import { createSkybridgeApp } from 'skybridge';
const { createSkybridgeApp } = require('skybridge');
Skybridge v0.35.19+ enforces ESM imports and expects named exports. CommonJS `require()` is not supported for core modules.
defineSkill
import { defineSkill } from 'skybridge';
import defineSkill from 'skybridge/skills/defineSkill';
Skills are defined using the named export `defineSkill` from the main `skybridge` package, not a subpath import.
AppContext
import type { AppContext } from 'skybridge';
import { AppContext } from 'skybridge';
Use `import type` for importing types like `AppContext` to ensure they are stripped from the JavaScript output, preventing potential runtime issues and improving build performance.

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.

import { createSkybridgeApp, defineSkill, AppContext } from 'skybridge'; import express from 'express'; // 1. Define an AI skill that can be invoked by the AI agent. // This skill retrieves the current time for a specified timezone. const timeSkill = defineSkill({ name: 'getCurrentTime', description: 'Gets the current time in a specified timezone.', parameters: { type: 'object', properties: { timezone: { type: 'string', description: 'The IANA timezone string (e.g., "America/New_York")', }, }, required: ['timezone'], }, handler: async ({ timezone }: { timezone: string }, context: AppContext) => { try { const now = new Date().toLocaleString('en-US', { timeZone: timezone }); context.logger.info(`Requested time for ${timezone}: ${now}`); return { time: now }; } catch (error: any) { context.logger.error(`Failed to get time for ${timezone}: ${error.message}`); return { error: `Invalid timezone or internal error: ${error.message}` }; } }, }); // 2. Create and configure a Skybridge application instance. // This instance will register the defined skills and expose necessary endpoints. const app = createSkybridgeApp({ skills: [timeSkill], // Further configurations can be added here, such as authentication, integrations, etc. }); // 3. Integrate the Skybridge app handler with an Express.js server. // Skybridge applications typically run on Node.js and can leverage Express. const expressApp = express(); expressApp.use('/api/skybridge', app.handler()); // 4. Start the Express server to host the Skybridge application. const PORT = process.env.PORT || 3000; expressApp.listen(PORT, () => { console.log(`Skybridge app server listening on port ${PORT}`); console.log(`Access AI agent endpoints at http://localhost:${PORT}/api/skybridge`); console.log(`Configure your AI agent to use this endpoint for skill invocation.`); });
skybridge --version
Debug
Known issues
breakingSkybridge v0.35.19 (and newer) now strictly enforces explicit `.js` import extensions for local modules within its build system (e.g., via Biome configuration). This aligns with stricter ESM standards and can cause module resolution errors in existing projects.
fix
Review all local module import paths in your Skybridge project and ensure they include the `.js` extension (e.g., `import { foo } from './bar.js'` instead of `import { foo } from './bar'`). Adjust TypeScript and bundler configurations (e.g., Vite) if necessary to support this enforcement.
affects: >=0.35.19
breakingSkybridge core was updated to require Vite v8 in version 0.35.17. Projects using Skybridge as a peer dependency or scaffolding new projects might encounter compatibility issues or build failures if they are still relying on Vite v7.x or older versions.
fix
Upgrade your project's Vite dependency to version 8.x or newer (e.g., `npm install vite@^8`). Consult the official Vite v8 migration guide for any project-specific adjustments that might be required after the upgrade.
affects: >=0.35.17
gotchaFollowing a TypeScript v6 bump, projects created with `create-skybridge` or based on Skybridge templates might lack `@types/node` declarations, leading to TypeScript errors (e.g., 'Cannot find name 'process'').
fix
If you encounter type-related errors for Node.js APIs in your project, manually add `@types/node` to your `devDependencies`: `npm install --save-dev @types/node`.
affects: >=0.35.14
gotchaPrior to version 0.35.14, Skybridge had several identified and subsequently fixed security vulnerabilities. While specific CVEs are not publicly detailed in the changelog, it is crucial to remain on the latest patch release to ensure security.
fix
Always update your `skybridge` package and any related `@skybridge/*` packages to the latest available patch version (e.g., `npm update skybridge`). Regularly run `npm audit` in your project to identify and address known vulnerabilities in your dependency tree.
affects: <0.35.14
deprecatedThe built-in tunneling solution previously used (likely `ngrok` or `cloudflared`, inferred from the context of feature replacement) was deprecated and replaced by `alpic tunnel` in v0.35.11. Older configurations relying on the previous tunneling method will cease to function.
fix
Migrate your development or deployment tunneling setup to utilize `alpic tunnel` as per the latest Skybridge documentation. Remove any legacy configurations related to `ngrok` or `cloudflared` from your project settings.
affects: >=0.35.11
Errors
Common errors & fixes
Module not found: Error: Can't resolve './my-local-module' in '...'
Skybridge v0.35.19+ enforces explicit `.js` import extensions for local modules, and the import path is missing it.
fix
Change the import statement to include the `.js` extension: `import { foo } from './my-local-module.js';`
error TS2307: Cannot find module '@types/node' or its corresponding type declarations.
The `@types/node` package is missing after a TypeScript version bump or project scaffolding.
fix
Install the missing type definitions: `npm install --save-dev @types/node`.
The 'vite' peer dependency was not met. Expected '>=7.3.1', got '6.x.x'.
Your project is using an older, incompatible version of Vite with the current Skybridge package.
fix
Upgrade your project's Vite dependency to version 8 or higher: `npm install vite@^8`.
Upgrade
Version history
0.1.0latest on npm
Audit
Dependencies
viterequiredBundler and development server for Skybridge applications, particularly for frontend components.
reactrequiredCore UI library for building interactive user interfaces and widgets within Skybridge applications.
react-domrequiredDOM-specific rendering library for React components used in Skybridge applications.
nodemonrequiredDevelopment utility for automatically restarting Node.js applications during development.
@skybridge/devtoolsrequiredCompanion developer tooling for enhancing the Skybridge development experience.
@modelcontextprotocol/sdkrequiredEssential SDK for interacting with the Model Context Protocol, fundamental for MCP Apps.
Agent activity
20 hits · last 30 days
node
18
OpenAI (training)
2
Resources