sync-skills
Original:🇺🇸 English
Translated
Scans dotfiles/.claude/skills/ for all skills and updates CLAUDE.md and hal_dotfiles.json to match, then runs hal sync. Use this skill automatically after editing any skill name/description or adding/removing skills under dotfiles/.claude/skills/.
5installs
Sourcevinta/hal-9000
Added on
NPX Install
npx skill4agent add vinta/hal-9000 sync-skillsTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Overview
Discovers all skills in , then updates two files to stay in sync:
dotfiles/.claude/skills/- -- the
dotfiles/.claude/CLAUDE.mdsection## Skills - -- the
dotfiles/hal_dotfiles.jsonentries for skill directoriescopies
Finally runs to deploy changes.
hal syncInstructions
-
Find the project root: Use Glob to locate. The project root is the repo containing
dotfiles/.claude/skills/*/SKILL.md.dotfiles/ -
Read each SKILL.md frontmatter: For every skill found, extractand
namefrom the YAML frontmatter.description -
Update:
dotfiles/.claude/CLAUDE.md- Find the section (starts with
## Skillsheading).## Skills - Replace everything from up to the next
## Skillsheading (or end of file) with a regenerated list.## - Include all discovered skills.
- Format each entry as: /name` -- description`
- \ - Sort entries alphabetically by name.
- Keep a blank line after the heading and after the last entry.
- Find the
-
Update:
dotfiles/hal_dotfiles.json- Read the current file and parse the array.
copies - Replace all entries with entries for each discovered skill directory (regardless of
.claude/skills/*).user-invocable - Format each entry as:
{"dest": "{{HOME}}/.claude/skills/<name>/", "src": ".claude/skills/<name>/"} - Sort skill entries alphabetically by name.
- Preserve all non-skill entries in (and the entire
copiesarray) exactly as-is.links
- Read the current file and parse the
-
Runto deploy the updated files.
hal sync -
Report what changed: list any skills added or removed from each file.