Skip to content

m2ai-portfolio/skillsync-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SkillSync CLI

Scan dependencies for vulnerabilities without leaving your terminal

Quick StartFeaturesExamplesContributing

What is this?

SkillSync CLI is a command‑line tool that reads a project’s skill manifest, matches each required skill against a local skill registry, and installs the correct versions with an MCP server configuration file. It removes the manual search‑and‑copy steps developers normally perform when setting up agent skills across multiple frameworks, providing a single‑command workflow similar to npm install for agent capabilities.

Features

Feature Description
Parse Skill Manifest Reads a YAML manifest (skill.yaml) that lists skill IDs and version constraints, validates the format, and returns normalized skill requirements.
Query Local Skill Registry Looks up each skill in a local SQLite registry, returns the best‑matching record (latest version satisfying the constraint) or reports a miss.
Download and Install Skills Copies resolved skill files to ./skill_sync/install/, writes a minimal MCP configuration file, and records installed versions.
Version Constraint Handling Supports PEP 440 style specifiers (>=1.2.0,<2.0.0, ==2.5.1, etc.) and reports clear errors on mismatches.
MCP Config Generation Creates mcp-config.yaml listing installed skills and versions for downstream consumption.

Quick Start

  1. Clone the repository:
    git clone https://github.com/yourusername/skill-sync-cli.git
  2. Install dependencies:
    pip install click pydantic pytest
  3. Run the CLI with a sample manifest:
    python -m skill_sync.main --manifest samples/good.yaml

Examples

Basic manifest parsing

$ skill-sync parse --manifest samples/good.yaml
Found 3 skill requirements: [Skill(id='skill-a', version='>=1.0.0'), Skill(id='skill-b', version='==2.5.1'), Skill(id='skill-c', version='<3.0.0')]

Resolve and install

$ skill-sync install --manifest samples/good.yaml
Installed 3 skills to ./skill_sync/install/
./skill_sync/install/mcp-config.yaml contains:
skills:
  - id: skill-a
    version: 1.4.2
  - id: skill-b
    version: 2.5.1
  - id: skill-c
    version: 2.9.0

Missing skill error

$ skill-sync resolve --manifest samples/missing.yaml
Error: Unsatisfied skill: skill-x (requires >=1.0.0)

File Structure

skill_sync/
├── main.py               # CLI entry point (click)
├── manifest_parser.py   # parse YAML manifest -> List[SkillRequirement]
├── skill_registry.py    # SQLite helper: resolve requirements -> List[SkillEntry]
├── installer.py         # copy skills, write mcp-config.yaml
├── models.py            # Pydantic dataclasses (above)
├── requirements.txt     # pinned dependencies
└── tests/
    ├── test_manifest_parser.py
    ├── test_skill_registry.py
    ├── test_installer.py
    └── test_cli.py

Total source files: 6 (excluding tests). All files < 120 lines each.

Tech Stack

Technology Purpose
Python 3.11+ Core language
Click == 8.1.7 CLI framework
Pydantic == 2.7.0 Data validation & settings
SQLite via stdlib sqlite3 Local skill registry
Pytest == 8.2.2 Testing

Contributing

Fork the repository, create a feature branch, write tests, and open a pull request. Please follow the standard GitHub flow: fork → edit → test → PR.

License

MIT

Author

Matthew Snow -- M2AI | @m2ai-portfolio

About

SkillSync CLI automates skill‑manifest resolution, fetches matching agent skills from a local registry, and generates the MCP config—enabling one‑command setup of agent capabilities across frameworks.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages