Plugin Sync

Generate plugin.yaml from Betty Framework registries and validate handler files.

2|Updated Oct 22, 2025
One-click install
npx skills add https://github.com/epieczko/betty --skill plugin-sync
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Plugin Sync
Source: https://github.com/epieczko/betty/tree/main/skills/plugin.sync
Command: npx skills add https://github.com/epieczko/betty --skill plugin-sync

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires PyYAML.

What problem does it solve?

Betty plugin configs can drift from their registry data. This skill ensures the plugin.yaml remains in sync with the registry data, reducing manual maintenance and deployment errors.

Core Features & Use Cases

  • Registry synchronization: Reads registry files and regenerates plugin.yaml to reflect current skills, commands, and hooks.
  • Consistency enforcement: Preserves plugin metadata while aligning commands with active skills.
  • Impact: Helps teams avoid drift between registered capabilities and actual plugin exposure.

Quick Start

Run the synchronization to regenerate plugin.yaml from the current registries:

  • python skills/plugin.sync/plugin_sync.py

Frequently Asked Questions about Plugin Sync

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

FAQPage Schema
How do I keep my plugin.yaml synchronized with registry data?

Plugin Sync automates synchronization by reading Betty Framework registry files (skills.json, commands.json, hooks.json) and regenerating plugin.yaml to reflect current commands and hooks. Run python skills/plugin.sync/plugin_sync.py to sync your configuration and eliminate manual drift between registered capabilities and plugin exposure.

What happens when plugin configuration drifts from registry definitions?

Configuration drift causes misalignment between registered capabilities and actual plugin exposure, leading to deployment errors and inconsistent behavior. Plugin Sync detects and corrects drift by validating handler files on disk, mapping entrypoints to command definitions, and reporting missing handlers or inconsistencies.

Can I preserve existing plugin metadata while syncing from registries?

Yes. Plugin Sync regenerates plugin.yaml while preserving existing metadata, only updating command definitions and entrypoint mappings based on registry data. It validates handler files, reports discrepancies, and writes the updated manifest with generation metadata and counts.

What do I need to run plugin synchronization?

You need PyYAML installed and registry files (skills.json, commands.json, hooks.json) with defined entrypoints in your Betty Framework project. Plugin Sync validates handler files on disk and generates the updated plugin.yaml from these sources.

How does plugin synchronization handle missing or invalid handlers?

Plugin Sync validates that handler files exist on disk and reports missing handlers or inconsistencies between registry definitions and actual files. It identifies drift without applying changes, letting you review and resolve issues before updating plugin.yaml.