mcpField
S
sync-skills

sync-skills

github.com/vintaAgent workflows14245 installsUpdated today
Repository

About sync-skills

sync-skills is a repository-specific maintenance skill for the hal-9000 project. It discovers skills and synchronizes their listings, permissions, and links before running the project sync command.

Key features

  1. 01Discover skills and their metadata
  2. 02Update the README skill list
  3. 03Sync user-invocable skill permissions
  4. 04Sync skill directory links
  5. 05Run `./bin/hal sync`

Use cases

  1. 01Refresh the README after skills change
  2. 02Align allowed skills with frontmatter
  3. 03Update links for added or removed skills

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/vinta/hal-9000 --skill sync-skills

After installing, type/sync-skillsin Claude Code to confirm it loaded.

Details

From the project README

Instructions

IMPORTANT: Only use this skill in /usr/local/hal-9000. Otherwise, abort.

  1. Discover skills

    • Glob skills/*/SKILL.md in /usr/local/hal-9000 only
    • Extract name from each YAML frontmatter
    • Rewrite each description into one short sentence (~10 words max) saying what it does — no "Use when" triggers, no verbatim frontmatter copy
  2. Update README.md (the ### Agent Skills section)

    • Format: - [name](skills/name): description
    • Use the rewritten description from step 1
    • Add new skills, remove deleted skills, update changed descriptions
    • Preserve existing entry order; append new entries at end
  3. Update dotfiles/.claude/settings.json (the permissions.allow array)

    • Sync the Skill(...) entries to match discovered user-invocable skills
    • Only include skills with user-invocable: true in frontmatter
    • Format: "Skill(<name>)"
    • Add new skills, remove entries whose skill no longer exists
    • Preserve existing entry order; append new entries at end
    • Keep the entries in the same position block (between other tool entries)
  4. Update dotfiles/hal_dotfiles.json (the links array)

    • Format: {"dest": "{{HOME}}/.claude/skills/<name>/", "src": "{{REPO_ROOT}}/skills/<name>/"}
    • Add new skill dirs, remove entries whose "src" matches {{REPO_ROOT}}/skills/* but no longer has a matching skill
    • Preserve existing entry order; append new entries at end
    • Leave non-skill entries and copies array as-is
  5. Run ./bin/hal sync, then report what changed.

Comments

Markdown supported