dxos-skills

Create and integrate AI skill definitions within DXOS plugins using operation handlers.

518|49|Updated Apr 7, 2021
One-click install
npx skills add https://github.com/dxos/dxos --skill dxos-skills
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: dxos-skills
Source: https://github.com/dxos/dxos/tree/main/.agents/skills/skills
Command: npx skills add https://github.com/dxos/dxos --skill dxos-skills

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Developers building on DXOS need a consistent way to expose domain capabilities (like markdown or kanban editing) as AI-callable tools, but wiring operation definitions, runtime handlers, and plugin capabilities together is error-prone without a clear pattern.

Core Features & Use Cases

  • Skill Definition Pattern: Shows how to structure a skill with a unique key, an OperationHandlerSet for runtime execution, and a make factory producing Skill instances with tool schemas and instructions.
  • Plugin Integration: Explains how to register skills via AppCapabilities.SkillDefinition capability modules and AppPlugin.addSkillDefinitionModule so Composer can discover them.
  • Testing Support: Demonstrates using AssistantTestLayer from @dxos/assistant/testing to test operations and AI flows, invoking operations with Operation.invoke instead of the deprecated FunctionInvocationService.
  • Use Case: You are adding a new markdown skill to a DXOS plugin and need to define Create/Open/Update operations, register the skill capability, and write tests that invoke those operations against ECHO types.

Quick Start

Ask the assistant to scaffold a new DXOS skill for your plugin with operation definitions, handlers, capability registration, and an AssistantTestLayer test.

Frequently Asked Questions about dxos-skills

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

FAQPage Schema
How do I create a skill in a DXOS plugin?▼

Define a skill with a globally unique key, an OperationHandlerSet for runtime handlers, and a make factory returning Skill.make with tool definitions and instructions. Place it in the plugin's src/skills directory alongside an operations folder containing definitions and handlers.

How do I register a skill so Composer can use it?▼

Create a capability module that contributes your skill to AppCapabilities.SkillDefinition, then register it in the plugin with AppPlugin.addSkillDefinitionModule. The plugin must also be listed in the Composer app's plugin-defs.tsx for the skill to be available.

How do I test DXOS skill operations with AssistantTestLayer?▼

Pass the skill's operations as operationHandlers and the required ECHO types to AssistantTestLayer from @dxos/assistant/testing. Then invoke operations directly with Operation.invoke from @dxos/operation inside an Effect generator.

What is the difference between operation definitions and handlers in DXOS skills?▼

Definitions provide the schemas exposed to the AI via Skill.toolDefinitions, while handlers form the OperationHandlerSet executed at runtime. Both are required: definitions go into the make factory, handlers go into the skill's operations field.

Can I use FunctionInvocationService to invoke DXOS operations?▼

No, FunctionInvocationService from @dxos/functions is deprecated. Use Operation.invoke from @dxos/operation instead, both in tests and inside other operation handlers.