vitya 6b36b312fa feat(hermes): MVP converter + 4 universal skills converted
Adds the conversion infrastructure for the Hermes-rollout (Nous Research):

- hermes/mapping.yaml — per-skill schema (mode: auto|manual|skip|pending,
  category, replace-rules, source override). Every skills/<name>/ has an
  explicit entry; the build fails on unmapped skills.
- scripts/build-hermes.py — Python converter. Reads mapping.yaml; for auto
  applies replace-rules to SKILL.md and copies the rest verbatim; for manual
  copies hermes/skills/<source>/ as-is; for skip / pending records to
  dist-hermes/SKIPPED.md.
- dist-hermes/ — pre-converted Hermes-flavour tree (committed; consumed by
  the recursive installer in [hermes-installer-skill]). Includes 4 universal
  skills: pulling-before-work, active-platform (with Linux+bash replacement
  rule), project-discipline, using-markitdown. Plus SKIPPED.md listing
  8 skip + 10 pending entries.
- README.md — adds "Build for Hermes" section, updates layout, mentions
  hermes/, dist-hermes/, build-hermes.py.

Mapping is the source of truth for the audit table from
.wiki/concepts/hermes-skills-rollout-design.md (Q1-Q8). Pending entries
preserve the audit decision (intended mode/category) for the follow-up
tasks: hermes-flavour-mcp-setups, hermes-installer-skill,
hermes-mvp-coverage. Security carry-forward (extraheader-pattern,
POSIX-absolute paths, semver bumps) — infrastructure ready (replace-rules +
manual mode); concrete content lands in hermes-flavour-mcp-setups.

Smoke-tests: idempotent re-run produces no diff; replace-rules verified on
active-platform (Linux+bash); strict-mapping fail-fast verified on a
synthetic unmapped skill (exit 1).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 00:00:00 +03:00

claude-skills

Russian version: README.ru.md.

Joint workshop and storage for Claude skills.

About

A shared workspace where Claude and I author, debug, and ship skills together:

  • skills/ — editable sources (markdown + assets), the source of truth
  • dist/ — built .skill archives for Claude, committed to the repo
  • hermes/ — Hermes-rollout config: mapping.yaml and any mode: manual overrides under hermes/skills/
  • dist-hermes/ — pre-converted Hermes-flavour skill tree, committed (regenerated by scripts/build-hermes.py)
  • scripts/ — utilities: build.sh (source → .skill), install.sh (source → ~/.claude/skills/), build-hermes.py (source → dist-hermes/)
  • .wiki/, .tasks/ — working notes and the task board

Quick start

Install skills on a fresh machine

Windows (PowerShell):

git clone <repo> claude-skills
cd claude-skills
bash scripts/install.sh           # copies every skills/* into ~/.claude/skills/
# or only specific ones:
bash scripts/install.sh caveman wiki-maintainer

Linux / macOS (bash):

git clone <repo> claude-skills
cd claude-skills
bash scripts/install.sh           # copies every skills/* into ~/.claude/skills/
# or only specific ones:
bash scripts/install.sh caveman wiki-maintainer

The install target can be overridden with CLAUDE_SKILLS_DIR=/path bash scripts/install.sh.

install.sh works on Windows under git-bash. A native install.ps1 is on the task board but not yet implemented.

Using skills in projects

Once the skills are installed, the easiest way to wire them into a new (or existing) project is the project-bootstrap skill. Tell the agent "bootstrap" or "set everything up" from the project's folder and it will, in one pass:

  • initialize git (if missing) and write a sane .gitignore
  • create a starter README.md
  • lay out .wiki/ per the Karpathy LLM Wiki pattern (delegated to setup-wiki)
  • lay out .tasks/ with the canonical task board (delegated to setup-tasks)
  • write CLAUDE.md with skill triggers (use superpowers, use project wiki, use task management system, check across all projects, we're on Windows)
  • record the skill versions used in .wiki/concepts/bootstrap-manifest.md so cross-project layout drift stays debuggable
  • check whether the official superpowers@claude-plugins-official plugin is installed and, if not, print the install command — the use superpowers trigger is a no-op without it

Two modes, picked automatically: init for an empty folder, upgrade for an existing project (the skill only fills the gaps and never overwrites without explicit confirmation). On upgrade, CLAUDE.md is merged idempotently — only canonical trigger lines that aren't already present are appended after explicit confirm, so re-running project-bootstrap after a template change picks up the new triggers without duplicating the old ones.

Edit a skill

# 1. Edit skills/<name>/SKILL.md (or its assets).
# 2. Push the changes into the live skill folder:
bash scripts/install.sh <name>
# 3. Rebuild the archive (optional, but handy before a commit):
bash scripts/build.sh <name>

Build .skill archives

bash scripts/build.sh                 # all skills
bash scripts/build.sh caveman         # one skill

build.sh uses zip when it's available (Linux/macOS) or delegates to scripts/build.ps1 via PowerShell (Windows without zip). On Windows you can also run powershell scripts/build.ps1 directly.

Build for Hermes

The same skills/ are rolled out to Hermes Agent (Nous Research) on factory Linux machines. The converter reads hermes/mapping.yaml (per-skill mode / category / replace-rules / skip-list) and writes a Hermes-formatted skill tree to dist-hermes/, which is committed to the repo.

python scripts/build-hermes.py        # regenerate dist-hermes/ from mapping

Every skill in skills/ must have an explicit entry in mapping.yaml (auto / manual / skip / pending); the build fails on unmapped skills. Skip and pending entries land in dist-hermes/SKIPPED.md with reasons. Full design rationale lives in .wiki/concepts/hermes-skills-rollout-design.md.

Layout

claude-skills/
├── skills/                 ← sources (one folder per skill)
├── dist/                   ← .skill archives for Claude (committed)
├── hermes/
│   ├── mapping.yaml        ← per-skill Hermes-rollout config
│   └── skills/             ← `mode: manual` overrides (Hermes-flavour rewrites)
├── dist-hermes/            ← pre-converted Hermes-flavour tree (committed)
│   ├── <category>/<name>/  ← e.g. software-development/pulling-before-work/
│   └── SKIPPED.md          ← skip + pending log (auto-generated)
├── scripts/
│   ├── build.sh / build.ps1
│   ├── install.sh / install.ps1
│   └── build-hermes.py
├── .wiki/                  ← design docs, notes
├── .tasks/                 ← STATUS.md
├── CLAUDE.md
└── README.md               (this file — see README.ru.md for Russian)

For the principles and decisions behind this layout see .wiki/concepts/repo-layout.md.

Description
No description provided
Readme 11 MiB
Languages
Python 45.3%
PowerShell 32.7%
Shell 22%