Files
skills/README.md
vitya 349aa7cd04 feat(skills): web-search — live web search via search_web tool (llm-web-proxy)
Policy skill: search ON by default (agent decides when fresh data is
needed), user can say «поищи» to force or «без поиска» to disable for
the rest of the session (conversational, like using-interns grant).

TDD: RED (no-skill subagent refuses, offers rustup/blog workarounds) →
GREEN (with skill: calls search_web, returns answer with [1] sources +
honest staleness caveat). Live-verified against real DeepSeek search.

Depends on pi-extension search_web (OpeItcLoc03/pi-extensions) +
llm-web-proxy modelPrefix support (victor/llm-web-proxy v0.1.6).
Design: .wiki/concepts/web-search-skill-design.md.
2026-08-22 17:47:35 +03:00

156 lines
7.2 KiB
Markdown

# 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 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):**
```powershell
git clone <repo> skills
cd skills
bash scripts/install.sh # copies every skills/* into ~/.claude/skills/
# or only specific ones:
bash scripts/install.sh using-wiki caveman
```
**Linux / macOS (bash):**
```bash
git clone <repo> skills
cd skills
bash scripts/install.sh # copies every skills/* into ~/.claude/skills/
# or only specific ones:
bash scripts/install.sh using-wiki caveman
```
The install target can be overridden with `CLAUDE_SKILLS_DIR=/path bash scripts/install.sh`.
> `install.sh` works on Windows under git-bash; `install.ps1` provides a native PowerShell path.
### 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 `AGENTS.md` (canon) with skill triggers (`use project wiki`, `use task management system`, `check across all projects`, `we're on Windows`) plus a `CLAUDE.md` legacy pointer
- record the skill versions used in `.wiki/concepts/bootstrap-manifest.md` so cross-project layout drift stays debuggable
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, `AGENTS.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.
### 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.
```bash
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`](.wiki/concepts/hermes-skills-rollout-design.md).
## Sovereignty / provenance
This catalog is sovereign: every skill is either **authored by us** or an
**adapted vendored copy** we maintain ourselves. No raw vendor plugins are
installed as dependencies — anything borrowed is vendored into this repo with
an explicit `adapted-from` marker in its frontmatter.
| skill | provenance |
|---|---|
| `caveman`, `caveman-commit`, `caveman-compress`, `caveman-help`, `caveman-review` | `adapted-from: JuliusBrussee/caveman @ 0993277` (MIT) — vendored copy |
| `find-skills` | `adapted-from: vercel-labs/skills @ c6f69c6` (MIT) — vendored copy |
| `grilling` | `adapted-from: mattpocock/skills @ 84fdeffd` (MIT) — family collapsed to one skill (pi hides `disable-model-invocation` wrappers) |
| `brainstorming` | `adapted-from: obra/superpowers @ 6.2.0` (MIT) — divergent phase, visual-companion dropped |
| `diagnosing-bugs` | `adapted-from: mattpocock/skills @ 84fdeffd` (MIT) + superpowers 6.2.0 concepts (Iron Law, red flags) |
| `loop-me` | `adapted-from: mattpocock/skills @ 84fdeffd` (MIT) — workflow-spec design gate |
| `review-kit-pi-method` | `author: ours` — pi-native spawn for clean-context review subagents |
| `command-index` | `author: ours` — just/Makefile command-index convention (standard targets, auto-doc; idea 3/18) |
| `code-review` | `adapted-from: mattpocock/skills @ 84fdeffd` (MIT) — two-axis + Fowler baseline; output: caveman-review format |
| `writing-skills` | `adapted-from: obra/superpowers @ 6.2.0` (MIT) — TDD-for-skills core + ideya 8 self-skill-authoring |
| `web-search` | `author: ours` — search_web tool (pi-extension) + policy: when to search, «без поиска» session-off |
| all other `skills/*` | `author: ours` |
Adaptation policy: a clone is rewritten to our conventions (`.tasks/` boards,
`.wiki/concepts/` specs, `using-*` skill names), never shipped with vendor junk,
and versioned under our own semver. Upstream pins are reviewed by the catalog
owner on update; no automatic upstream sync.
## Layout
```
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
├── AGENTS.md ← canon (CLAUDE.md is a legacy pointer)
└── 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).