Files
claude-skills/README.md
vitya 68fe9a8c1c feat(project-bootstrap): v1.3.0 — idempotent CLAUDE.md merge on upgrade
Step 5 was binary on upgrade (append whole template / leave alone), so
projects bootstrapped before v1.2.0 silently missed new canonical triggers
(`check across all projects`, `we're on Windows`) on re-run. Now upgrade
reads existing CLAUDE.md, substring-diffs vs template, preserves a
deliberately-pinned platform line, and appends only missing lines after
explicit confirm. Re-runs are no-ops.

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

104 lines
3.9 KiB
Markdown

# claude-skills
> Russian version: [README.ru.md](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, committed to the repo
- **`scripts/`** — utilities: `build.sh` (source → `.skill`), `install.sh` (source → `~/.claude/skills/`)
- **`.wiki/`**, **`.tasks/`** — working notes and the task board
## Quick start
### Install skills on a fresh machine
**Windows (PowerShell):**
```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):**
```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`](skills/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](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f) (delegated to [`setup-wiki`](skills/setup-wiki/))
- lay out `.tasks/` with the canonical task board (delegated to [`setup-tasks`](skills/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
```bash
# 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
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.
## Layout
```
claude-skills/
├── skills/ ← sources (one folder per skill)
├── dist/ ← .skill archives (committed)
├── scripts/
│ ├── build.sh / build.ps1
│ └── install.sh
├── .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`](.wiki/concepts/repo-layout.md).