Skill Synchronization Setup
This document explains how to add and manage external skill sources in the webconsulting Claude Marketplace.
Overview
The marketplace supports two types of skills:
- Local Skills: Created and maintained within this repository
- Upstream Skills: Synced from external Git repositories
Adding an Upstream Skill
1. Edit .sync-config.json
Add a new entry to the skills array:
{
"name": "skill-name",
"source": "https://github.com/org/skill-repo.git",
"branch": "main",
"enabled": true
}
2. Configuration Fields
| Field | Required | Description |
|---|---|---|
name |
Yes | Directory name under skills/ |
source |
Yes | Git repository URL (HTTPS preferred) |
branch |
Yes | Branch to sync from |
enabled |
No | Set to false to skip during sync |
3. Run Sync Manually
# Trigger GitHub Action manually
gh workflow run sync-skills.yml
# Or sync locally
./update.sh --sync-only
Automatic Synchronization
The GitHub Action .github/workflows/sync-skills.yml runs:
- Weekly: Every Monday at 06:00 UTC
- On-demand: Via workflow dispatch
What Happens During Sync
- Each enabled skill source is cloned/pulled
- The
SKILL.mdfile is copied toskills/{name}/ - Any additional skill assets are synchronized
- A PR is created if changes are detected
Creating a Local Skill
Create a directory under
skills/:mkdir skills/my-custom-skillAdd the required
SKILL.md:--- name: my-custom-skill description: Brief description of what this skill teaches version: 1.0.0 --- # Skill Title ## Instructions ...Run
./install.shto deploy
Skill File Structure
skills/
└── skill-name/
├── SKILL.md # Required: Main skill definition
├── examples/ # Optional: Code examples
│ └── example.php
└── assets/ # Optional: Additional resources
└── diagram.png
Best Practices
- Version Pinning: Use specific branches or tags for stability
- Review Changes: Always review sync PRs before merging
- Local Overrides: Prefix local skills with
webconsulting-to avoid conflicts - Documentation: Keep skill descriptions concise for context efficiency
Deterministic Publish Flow (GitHub -> skills.sh)
Use this checklist whenever you add or update a local skill and want predictable publication behavior:
- Commit and push your skill change to
main. - Run local sync (if needed):
./update.sh --sync-only - Run install to refresh generated mirrors:
./install.sh - Commit generated changes (
.cursor/rules/*.mdc, index docs) and push. - Run GitHub workflow
skills-sh-publish-check.yml(manual dispatch) to validate repository state. - Verify on skills.sh by searching the repository + skill name.
Notes:
- This repository is the source of truth.
sync-skills.ymlsyncs upstream imported skills only; it does not publish to skills.sh directly.