--- name: claude-skills-installer version: 1.0.0 description: Recursive bootstrap installer for claude-skills on Hermes. Iterates over `dist-hermes///` and installs each via `skill_manage(action='create')`. Respects `dist-hermes/SKIPPED.md` — skipped skills are not installed. Run once manually to bootstrap (`skill_manage(action='create', from='...')`), thereafter trigger «обнови claude-skills» to refresh all skills. The installer updates itself recursively — no separate update step. --- # claude-skills-installer > Bootstrap installer for the claude-skills suite on Hermes. One-time manual registration, then «обнови claude-skills» keeps everything in sync. ## When to use - **Bootstrap phase:** First-time setup on a Hermes machine. Run manually: ``` skill_manage(action='create', from='dist-hermes/meta/claude-skills-installer/SKILL.md') ``` - **Update phase:** Whenever user says «обнови claude-skills», «refresh claude-skills», or after `git pull` in the claude-skills repo. ## What it does Iterates over `dist-hermes///` (all except `meta/`). For each: 1. Reads `SKILL.md` (frontmatter: name, version, description). 2. Collects assets (README.md, SECURITY.md, scripts/, etc.) if present. 3. Calls `skill_manage(action='create', category=, name=, content=, assets=<...>)`. Skips anything listed in `dist-hermes/SKIPPED.md` (these are intentionally not part of Hermes rollout). **Recursive by design:** the installer lives in `meta/` and updates itself along with everything else. ## Prerequisites - `dist-hermes/` tree exists (from `git clone claude-skills` + `python scripts/build-hermes.py`). - Hermes has `skill_manage()` native tool. - Working directory is `claude-skills` root (where `dist-hermes/` lives). ## Procedure ### Phase 0 — Verify dist-hermes ```bash ls dist-hermes/ ``` Should list: `software-development/`, `productivity/`, `mcp/`, `meta/`, `SKIPPED.md`. If missing → run `python scripts/build-hermes.py` first. ### Phase 1 — Load SKIPPED.md Read `dist-hermes/SKIPPED.md`. Parse the skip list — these categories/names will NOT be installed. Example SKIPPED.md entry: ``` caveman (category: software-development) Reason: Hermes runs on glm-5.1 (cheap local model); token-compression motive disappears. ``` ### Phase 2 — Scan dist-hermes Walk `dist-hermes///`. Collect: ``` category: software-development | productivity | mcp | research name: skill_file: dist-hermes///SKILL.md assets: - dist-hermes///README.md (if exists) - dist-hermes///SECURITY.md (if exists) - dist-hermes///scripts/* (if exists) ``` **Skip conditions:** - `category/name` is in SKIPPED.md - `name == "claude-skills-installer"` (don't install yourself recursively) Report the scan result: ``` Found N skills to install: software-development: pulling-before-work, active-platform, project-discipline, tdd-criteria productivity: using-markitdown mcp: setup-projects-meta, setup-context7 Skipped M entries (see dist-hermes/SKIPPED.md) ``` ### Phase 3 — Confirm Ask user: ``` Will install N skills. Proceed? (y/n) ``` Wait for explicit confirmation. This is a bulk operation — permission is required. ### Phase 4 — Install loop For each skill in the scan list: ``` skill_manage( action='create', category='', name='', content='', assets={ 'README.md': '', 'SECURITY.md': '', 'scripts/*': '