vitya 790f1f41b8 docs(session-handoff): pwsh/powershell choice + restart-after-edit caveat [v0.3.2]
Two findings from live-hook e2e smoke 2026-05-25 on this Windows machine:

(1) README snippet was pwsh-only — PS 7 Core isn't on stock Windows. PS 5.1
(`powershell`) is always present and the hook script runs cleanly under both.
README now leads with `powershell` and notes the `pwsh` swap for PS 7+ users.

(2) Missing caveat that hooks load at Claude Code session start — mid-session
edits to ~/.claude/settings.json don't activate the hook until CC restart.
Without this note user would think the hook is broken after applying the
snippet (standalone smoke would pass but live in-session wouldn't fire).
Added explicit restart instruction + verification recipe.

Also: dist/session-handoff.skill now tracked (was missing since promotion —
inconsistent with other dist/*.skill artifacts that ship in repo).

PATCH bump 0.3.1 → 0.3.2 (docs-only, no behavioral change in hook or skill).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 00:24:23 +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%