sync-skills

Featured

(project) Use when a skill in skills/ has its name or description changed, or is added or removed — syncs README.md, settings.json, and hal_dotfiles.json

Data & Documents 114 stars 20 forks Updated yesterday MIT

Install

View on GitHub

Quality Score: 91/100

Stars 20%
69
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
79
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# 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 ...

Details

Author
vinta
Repository
vinta/hal-9000
Created
10 years ago
Last Updated
yesterday
Language
Python
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category