Extension Development

Automate the design and integration of modular SEPilot Desktop extensions.

50|Updated Nov 20, 2025
One-click install
npx skills add https://github.com/jhl-labs/sepilot_desktop --skill extension-development
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Extension Development
Source: https://github.com/jhl-labs/sepilot_desktop/tree/main/.claude/skills/extension-development
Command: npx skills add https://github.com/jhl-labs/sepilot_desktop --skill extension-development

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This guide clarifies how to build modular, isolated SEPilot Desktop extensions, ensuring consistent structure, metadata, and integration points across the app.

Core Features & Use Cases

  • Independent extensions residing under extensions/ with automatic registry-based loading.
  • Type-safe extension development using TypeScript, with explicit manifest, IPC handlers, and store slices.
  • Examples cover agent integration, store slices, components, and cross-module communication.
  • Use cases include adding new tools, UI modules, or app modes to SEPilot Desktop.

Quick Start

Create extensions/my-extension with manifest.ts, index.ts, and basic components, then register the extension with the registry.

Frequently Asked Questions about Extension Development

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build modular desktop extensions with TypeScript?

To build modular desktop extensions, create a directory with manifest.ts, index.ts, and components, then register it with the auto-loading registry for plug-and-play integration. This ensures type-safe development with explicit IPC handlers and store slices.

What is an auto-loading extension registry and how does it work?

An auto-loading extension registry automatically discovers and integrates isolated, manifest-driven plugins residing under the extensions/ directory. It enables plug-and-play architecture by loading modules without manual registration, ensuring consistent metadata and integration points.

How do I structure a manifest for isolated plugin development?

Structure your manifest by defining metadata, IPC handlers, and store slices within a manifest.ts file in your extension's directory. This manifest-driven approach ensures the plugin remains isolated and integrates consistently with the core desktop app.

Can I add new UI modules and app modes using extension architecture?

Yes, you can add new UI modules, app modes, and tools using this extension architecture. By creating isolated components and registering them, the architecture supports adding diverse functionalities to the desktop app in a plug-and-play fashion.

Do I need TypeScript for cross-module communication in extensions?

TypeScript is used for type-safe extension development, ensuring explicit IPC handlers and store slices for cross-module communication. It provides the type safety needed for consistent integration across isolated, manifest-driven plugins.

What are the limitations of manifest-driven desktop extensions?

Manifest-driven desktop extensions require adherence to a standard directory layout (extensions/, scripts/, references/) and specific integration points. Extensions must remain isolated, meaning they depend on the provided registry and IPC mechanisms for cross-module communication.