Skip to content
Back to skills

Plugin Syncer

ASecurity

Synchronizes agent environments from plugin-sources.json. Refreshes every registered plugin while honoring the should_install choices in .agents/ownership/, cleans up orphaned artifacts, and removes disabled components. This is what "sync", "resync", "plugin sync" and "update plugins" mean: run sync_with_inventory.py, never plugin_add.py.

  • 7 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 2, 2026
ai-agentspythonbash

Works with

  • cli

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned October 3, 2026

npx -y skills add richfrem/agent-plugins-skills --skill plugin-syncer --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Plugin Syncer?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Plugin Syncer
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/richfrem-plugin-syncer/badge)](https://www.skillsdirectory.com/skills/richfrem-plugin-syncer)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: plugin-syncer
plugin: plugin-manager
description: >-
  Synchronizes agent environments from plugin-sources.json. Refreshes every registered
  plugin while honoring the should_install choices in .agents/ownership/, cleans up
  orphaned artifacts, and removes disabled components. This is what "sync", "resync",
  "plugin sync" and "update plugins" mean: run sync_with_inventory.py, never plugin_add.py.
allowed-tools: Bash, Read, Write
---

# Plugin Syncer (plugin-syncer)

Synchronizes registered plugins from `plugin-sources.json` while enforcing `.agents/ownership/` desired-state manifests.

## Contents
- [Critical Constraints](#critical-constraints)
- [Quick start](#quick-start)
- [Workflow](#workflow)
- [Verification](#verification)
- [References](#references)

## Critical Constraints
- **Canonical Sync Tool**: Always run `sync_with_inventory.py` for "sync" or "resync" requests; never call `plugin_add.py`.
- **Preserve Ownership States**: Honoring `should_install: false` choices in `.agents/ownership/<plugin>.json` is strictly required; disabled components must not be resurrected.
- **Dry-Run Preview**: Preview proposed file modifications and symlink updates before executing live sync.
- **Orphan Pruning**: Stale or unreferenced symlinks pointing to disabled components must be cleaned automatically.

## Quick start

```bash
# Preview synchronization changes (dry-run)
python3 plugins/plugin-manager/scripts/sync_with_inventory.py --dry-run

# Run full synchronization
python3 plugins/plugin-manager/scripts/sync_with_inventory.py

# Clean up stale artifacts only
python3 plugins/plugin-manager/scripts/sync_with_inventory.py --cleanup-only
```

## Workflow

1. **Phase 1: Registry Scan**: Read `.agents/plugin-sources.json` and load ownership manifests from `.agents/ownership/`.
2. **Phase 2: Preview & Diff**: Execute with `--dry-run` to inventory additions, deletions, and component toggles.
3. **Phase 3: Component Synchronization**: Deploy enabled components to `.agents/` and remove assets marked `"should_install": false`.
4. **Phase 4: Multi-IDE Pruning & Audit**: Refresh symlinks across `.claude/` and `.gemini/` environments and audit link health.

## Verification

```bash
# Verify environment symlink health
python3 plugins/dev-utils/scripts/symlink_manager.py audit

# Audit skill compliance
python3 plugins/agent-scaffolders/scripts/audit_skill.py plugins/plugin-manager/skills/plugin-syncer --mode source
```

## References
- [syncer-cli-guide.md](references/syncer-cli-guide.md) - Rules merging, retention enforcement, and validation details.
- [acceptance-criteria.md](references/acceptance-criteria.md) - Synchronization invariants and safety requirements.
- [fallback-tree.md](references/fallback-tree.md) - Fallback procedures and recovery trees.

Files in this skill

  • SKILL.md1.1 KB
  • evals/evals.json673 B
  • references/acceptance-criteria.md42 B
  • scripts/sync_with_inventory.py39 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…