vitya e5839bd072 feat(wiki): document session-handoff skill design rationale
Capture the design decisions behind the session-handoff skill in a dedicated
`.wiki/concepts/session-handoff-skill-design.md` page, indexed and logged per
Karpathy LLM Wiki conventions. Covers the problem statement (cold-start fog
between CC sessions), the sliding-overwrite contract for `.tasks/NEXT_SESSION.md`,
the phrase whitelist + anti-pattern guards + ambiguity-asks-not-guesses rule,
the substantive-commit heuristic (prefix exclude AND (body>200 OR files>3) +
first-non-trivial-commit-always exception), the opt-in PostToolUse hook that
replaces agent-side memory with harness-side determinism, the orient+ask read
mode default, project scope guarantee, the five-section handoff content contract,
secret-detect abort, staleness-7d query, mid-task capture, precedent comparison
against using-tasks / MEMORY.md / log.md / Karpathy diary, and the closure
record of cluster 7/7 (install / hermes-mapping / bootstrap-template-extend /
posttooluse-hook / existing-projects-upgrade / test-trigger / review). Source
buffer: `~/projects/.workshop/.archive/2026-05-24-session-handoff-skill.md`
Round 1 design + Round 2 Q1–Q10 resolution.

Also serves as the live-hook e2e smoke artifact for the deferred follow-up from
`[session-handoff-posttooluse-hook]` — substantive commit (feat: prefix, body
well above 200 chars) should trigger the PostToolUse `commit-detector.ps1` hook
just enabled in `~/.claude/settings.json` and emit `hookSpecificOutput.additionalContext`
on the next agent turn.

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