From 10361c42f8493b910ab344ff843c257d17365036 Mon Sep 17 00:00:00 2001 From: vitya Date: Wed, 12 Aug 2026 13:16:40 +0300 Subject: [PATCH] =?UTF-8?q?refactor(skills):=20rename=20repo=20claude-skil?= =?UTF-8?q?ls=20=E2=86=92=20skills=20(Gitea=20+=20local=20+=20references?= =?UTF-8?q?=20+=20update-claude-skills=20=E2=86=92=20update-skills=20v0.2.?= =?UTF-8?q?0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hermes/mapping.yaml | 4 ++-- scripts/build-hermes.py | 4 ++-- scripts/update.ps1 | 6 ++--- scripts/update.sh | 6 ++--- skills/active-platform/SKILL.md | 2 +- skills/inter-session-peer-discipline/SKILL.md | 2 +- skills/project-bootstrap/SKILL.md | 4 ++-- skills/project-discipline/README.md | 2 +- skills/project-discipline/SKILL.md | 4 ++-- skills/pulling-before-work/README.md | 2 +- skills/recommend-dont-menu/SKILL.md | 2 +- .../SKILL.md | 24 +++++++++---------- skills/using-projects-meta/SKILL.md | 8 +++---- skills/using-system-snapshot/SKILL.md | 2 +- 14 files changed, 36 insertions(+), 36 deletions(-) rename skills/{update-claude-skills => update-skills}/SKILL.md (74%) diff --git a/hermes/mapping.yaml b/hermes/mapping.yaml index 32294ff..922af8b 100644 --- a/hermes/mapping.yaml +++ b/hermes/mapping.yaml @@ -22,7 +22,7 @@ version: 1 hermes: - installer_path: meta/claude-skills-installer + installer_path: meta/skills-installer default_category: software-development categories: @@ -134,7 +134,7 @@ skills: mode: auto category: productivity - update-claude-skills: + update-skills: mode: skip reason: "Claude-Code-only orchestrator — Hermes uses hermes-installer-skill instead." diff --git a/scripts/build-hermes.py b/scripts/build-hermes.py index c9ad118..664b6d9 100644 --- a/scripts/build-hermes.py +++ b/scripts/build-hermes.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 """ -build-hermes.py — Convert claude-skills sources to Hermes-flavour layout. +build-hermes.py — Convert skills sources to Hermes-flavour layout. Reads: hermes/mapping.yaml skills// (auto mode) @@ -114,7 +114,7 @@ def render_skipped_md(skipped: list[tuple[str, str]], pending: list[tuple[str, d def main() -> int: - parser = argparse.ArgumentParser(description="Convert claude-skills sources to Hermes-flavour layout.") + parser = argparse.ArgumentParser(description="Convert skills sources to Hermes-flavour layout.") parser.add_argument( "--repo-root", type=Path, diff --git a/scripts/update.ps1 b/scripts/update.ps1 index 4a89cac..19e2d38 100644 --- a/scripts/update.ps1 +++ b/scripts/update.ps1 @@ -1,7 +1,7 @@ -# update.ps1 -- Full uplift cycle for claude-skills on Windows (PowerShell) +# update.ps1 -- Full uplift cycle for skills on Windows (PowerShell) # # Steps: -# 1. git pull --ff-only in claude-skills repo +# 1. git pull --ff-only in skills repo # 2. Conditionally rebuild projects-meta-mcp (if source changed) # 3. Conditionally rebuild interns-mcp (if source changed) # 4. Install all skills via install.ps1 @@ -44,7 +44,7 @@ if (Test-Path $target) { # -- Step 1: git pull --------------------------------------------------------- -Write-Host "`n[update] Pulling claude-skills repo..." -ForegroundColor Cyan +Write-Host "`n[update] Pulling skills repo..." -ForegroundColor Cyan Push-Location $root $dirty = git status --porcelain 2>$null diff --git a/scripts/update.sh b/scripts/update.sh index 2467ef5..b445722 100644 --- a/scripts/update.sh +++ b/scripts/update.sh @@ -1,8 +1,8 @@ #!/usr/bin/env bash -# update.sh — Full uplift cycle for claude-skills on Linux/macOS (and git-bash on Windows) +# update.sh — Full uplift cycle for skills on Linux/macOS (and git-bash on Windows) # # Steps: -# 1. git pull --ff-only in claude-skills repo +# 1. git pull --ff-only in skills repo # 2. Conditionally rebuild projects-meta-mcp (if source changed) # 3. Conditionally rebuild interns-mcp (if source changed) # 4. Install all skills via install.sh @@ -56,7 +56,7 @@ fi # ── Step 1: git pull ──────────────────────────────────────────────────────── -info "Pulling claude-skills repo..." +info "Pulling skills repo..." cd "$ROOT" if [[ -n "$(git status --porcelain)" ]]; then diff --git a/skills/active-platform/SKILL.md b/skills/active-platform/SKILL.md index 43bc2a0..4351086 100644 --- a/skills/active-platform/SKILL.md +++ b/skills/active-platform/SKILL.md @@ -58,7 +58,7 @@ zsh is the default shell since Catalina. Mostly the same as Linux, with a few di ## Cross-platform docs (READMEs in repos that target multiple OSes) -When writing user-facing docs in a repo that is *explicitly* cross-platform — like this `claude-skills` repo — show both PowerShell and bash variants. List the active platform's variant first, the other second. Tag each fenced block clearly: +When writing user-facing docs in a repo that is *explicitly* cross-platform — like this `skills` repo — show both PowerShell and bash variants. List the active platform's variant first, the other second. Tag each fenced block clearly: ````markdown **Windows (PowerShell):** diff --git a/skills/inter-session-peer-discipline/SKILL.md b/skills/inter-session-peer-discipline/SKILL.md index 9c89f8c..b752556 100644 --- a/skills/inter-session-peer-discipline/SKILL.md +++ b/skills/inter-session-peer-discipline/SKILL.md @@ -55,7 +55,7 @@ If a peer session is the one to catch it, that's a correct circuit-break, not an ## Why this exists -Emerged 2026-06-16: a `.workshop` session and an `OpeItcLoc03/common` session ran a multi-round design exchange over `.claude-inbox/`. The workshop session escalated a design (tamper-guard → prevention → oracle-integrity → runner-owns-verifier → close-moves) across rounds and reported each step to common as "решение постановщика" — implying human sanction the human had not given. The `common` session pattern-matched the echo-chamber (fast agreement + scope inflation), read its own Stop-hook, and correctly refused to implement the unratified redesign, asking the human instead. The lesson: durable artifact in a skill, by the user's direction — methodology lives in `claude-skills`, not per-session memory. +Emerged 2026-06-16: a `.workshop` session and an `OpeItcLoc03/common` session ran a multi-round design exchange over `.claude-inbox/`. The workshop session escalated a design (tamper-guard → prevention → oracle-integrity → runner-owns-verifier → close-moves) across rounds and reported each step to common as "решение постановщика" — implying human sanction the human had not given. The `common` session pattern-matched the echo-chamber (fast agreement + scope inflation), read its own Stop-hook, and correctly refused to implement the unratified redesign, asking the human instead. The lesson: durable artifact in a skill, by the user's direction — methodology lives in `skills`, not per-session memory. ## Reference diff --git a/skills/project-bootstrap/SKILL.md b/skills/project-bootstrap/SKILL.md index b6d117c..932b02b 100644 --- a/skills/project-bootstrap/SKILL.md +++ b/skills/project-bootstrap/SKILL.md @@ -401,7 +401,7 @@ test-driven development by default with four bright-line carve-outs (visual CSS, spike exploration, oneshot scripts, pure wrappers) and four anti-loophole rules (including test-immutability: modifying assertions requires a `[test-modify: ...]` marker in the commit subject). Full rationale at `.wiki/concepts/tdd-criteria-design.md` -in the `claude-skills` repo. Install the skill on the host if `tdd-criteria` is not +in the `skills` repo. Install the skill on the host if `tdd-criteria` is not in `~/.claude/skills/`; otherwise the trigger is silently dead like any other absent skill. The `delegate to interns when allowed` line activates the `using-interns` skill, @@ -415,7 +415,7 @@ always-ask paths for `.env` / secrets / keys / SSH credentials even with an active grant, session-end reset. The skill is a no-op until the `interns` MCP server is registered — install via `setup-interns` on a fresh machine if `mcp__interns__*` tools are missing. Full design at -`.wiki/concepts/interns-design.md` in the `claude-skills` repo. +`.wiki/concepts/interns-design.md` in the `skills` repo. The `recommend, don't menu` line activates the `recommend-dont-menu` skill, which overrides the default `superpowers:brainstorming` behavior: in design diff --git a/skills/project-discipline/README.md b/skills/project-discipline/README.md index 6a5ee0d..ca4d016 100644 --- a/skills/project-discipline/README.md +++ b/skills/project-discipline/README.md @@ -26,4 +26,4 @@ external dependencies. Activate it by adding `follow project discipline` to - `project-bootstrap` (v1.5.0+) — adds the trigger line to new and existing projects' `CLAUDE.md`. - `pulling-before-work` — companion skill activated by the canonical template; pulls origin once at session start (`git pull --ff-only`). - `using-tasks` / `using-wiki` — the format conventions Rule 1 routes work into. -- `.wiki/concepts/project-discipline-design.md` (in `claude-skills`) — full design rationale. +- `.wiki/concepts/project-discipline-design.md` (in `skills`) — full design rationale. diff --git a/skills/project-discipline/SKILL.md b/skills/project-discipline/SKILL.md index 4c787ac..5503e8b 100644 --- a/skills/project-discipline/SKILL.md +++ b/skills/project-discipline/SKILL.md @@ -134,6 +134,6 @@ The skill **does not**: ## Why this exists -In a tightly-disciplined repo (`claude-skills`) the four rules already hold by accident — the agent reads `.wiki/CLAUDE.md`, knows specs go to `.wiki/concepts/`, knows to bump `version:`, knows not to push without confirmation. In **other** projects of the same user, that discipline does not transfer: the agent uses `superpowers`' default `docs/superpowers/specs/`, branches on a whim, forgets `version:` bumps, and pushes without asking. This skill makes the discipline explicit and portable. +In a tightly-disciplined repo (`skills`) the four rules already hold by accident — the agent reads `.wiki/CLAUDE.md`, knows specs go to `.wiki/concepts/`, knows to bump `version:`, knows not to push without confirmation. In **other** projects of the same user, that discipline does not transfer: the agent uses `superpowers`' default `docs/superpowers/specs/`, branches on a whim, forgets `version:` bumps, and pushes without asking. This skill makes the discipline explicit and portable. -Full design rationale (why one skill instead of four, why a skill instead of inline `CLAUDE.md` lines, scope of each rule, push-permission mechanism choice) lives in `.wiki/concepts/project-discipline-design.md` (in this repo; in other projects bootstrapped from this repo, the design lives in `claude-skills`). +Full design rationale (why one skill instead of four, why a skill instead of inline `CLAUDE.md` lines, scope of each rule, push-permission mechanism choice) lives in `.wiki/concepts/project-discipline-design.md` (in this repo; in other projects bootstrapped from this repo, the design lives in `skills`). diff --git a/skills/pulling-before-work/README.md b/skills/pulling-before-work/README.md index 3ff8bc9..8ad94bd 100644 --- a/skills/pulling-before-work/README.md +++ b/skills/pulling-before-work/README.md @@ -26,4 +26,4 @@ remote, so it's safe to leave activated everywhere. ## Related - `project-bootstrap` (v1.4.0+) — adds the trigger line to new and existing projects' `CLAUDE.md`. -- `.wiki/concepts/pulling-before-work-design.md` (in projects bootstrapped from this repo: this design lives in `claude-skills`) — full design rationale. +- `.wiki/concepts/pulling-before-work-design.md` (in projects bootstrapped from this repo: this design lives in `skills`) — full design rationale. diff --git a/skills/recommend-dont-menu/SKILL.md b/skills/recommend-dont-menu/SKILL.md index 928ab42..97a8a08 100644 --- a/skills/recommend-dont-menu/SKILL.md +++ b/skills/recommend-dont-menu/SKILL.md @@ -53,7 +53,7 @@ This skill is **pure response-style** — it works on any agent (Claude, Gemini, ## Why this exists -The pattern emerged from iterative refinement across `claude-skills` brainstorm sessions and `.meeting-room/` discussions. When agents dump 4-option menus for every question, users skim or disengage. A single argued recommendation with clear trade-offs leads to faster convergence and better decisions. When alternatives are genuinely competitive, mention them — but don't manufacture variants. +The pattern emerged from iterative refinement across `skills` brainstorm sessions and `.meeting-room/` discussions. When agents dump 4-option menus for every question, users skim or disengage. A single argued recommendation with clear trade-offs leads to faster convergence and better decisions. When alternatives are genuinely competitive, mention them — but don't manufacture variants. ## Reference diff --git a/skills/update-claude-skills/SKILL.md b/skills/update-skills/SKILL.md similarity index 74% rename from skills/update-claude-skills/SKILL.md rename to skills/update-skills/SKILL.md index 7c8b212..a575967 100644 --- a/skills/update-claude-skills/SKILL.md +++ b/skills/update-skills/SKILL.md @@ -1,22 +1,22 @@ --- -name: update-claude-skills -version: 0.1.0 +name: update-skills +version: 0.2.0 description: > - Full uplift cycle for an existing claude-skills installation: git pull, + Full uplift cycle for an existing skills installation: git pull, conditionally rebuild MCP servers, install skills, show version diff, suggest - reload. Trigger on "update claude-skills", "sync claude-skills", - "обнови claude-skills", "обнови всё", or when the user wants to bring their + reload. Trigger on "update skills", "sync skills", + "обнови skills", "обнови всё", or when the user wants to bring their skills up to date. Cross-platform (PowerShell on Windows, bash on Linux/macOS). Does NOT handle greenfield bootstrap — that's project-bootstrap's job. --- -# update-claude-skills +# update-skills -> One command to bring your claude-skills installation fully up to date — repo, MCP servers, skills, and version diff. +> One command to bring your skills installation fully up to date — repo, MCP servers, skills, and version diff. ## When this runs -**On explicit trigger** — when the user says any of: `update claude-skills`, `sync claude-skills`, `обнови claude-skills`, `обнови всё`, `update skills`, or close variants asking to refresh the skills catalog. +**On explicit trigger** — when the user says any of: `update skills`, `sync skills`, `обнови skills`, `обнови всё`, `update skills`, or close variants asking to refresh the skills catalog. **Never** automatically at session start (that's `pulling-before-work`'s job for the git part). This skill is for the full uplift cycle — git + build + install + diff — which is heavier and intentional. @@ -26,14 +26,14 @@ description: > Determine which script to run: -- **Windows (PowerShell):** `pwsh ~/projects/claude-skills/scripts/update.ps1` -- **Linux / macOS:** `bash ~/projects/claude-skills/scripts/update.sh` +- **Windows (PowerShell):** `pwsh ~/projects/skills/scripts/update.ps1` +- **Linux / macOS:** `bash ~/projects/skills/scripts/update.sh` Use the `active-platform` skill's detection if available. Otherwise: - If `$env:OS` is `Windows_NT` or `IsWindows` is true → PowerShell path. - Otherwise → bash path. -If the repo is at a non-default location, adjust the path accordingly (the user may have cloned to `~/projects/claude-skills` or another directory — check `git -C rev-parse --is-inside-work-tree` if unsure). +If the repo is at a non-default location, adjust the path accordingly (the user may have cloned to `~/projects/skills` or another directory — check `git -C rev-parse --is-inside-work-tree` if unsure). ### 2. Run the update script @@ -65,7 +65,7 @@ The user decides — never auto-run setup skills. The update scripts (`scripts/update.sh` and `scripts/update.ps1`) handle: -1. **git pull --ff-only** in `~/projects/claude-skills/` (stash if dirty, pop after). +1. **git pull --ff-only** in `~/projects/skills/` (stash if dirty, pop after). 2. **Conditionally rebuild projects-meta-mcp** — if `~/projects/.common/lib/projects-meta-mcp/` has a `.git` directory and source changed (`git pull` fetched new commits), run `npm run build`. 3. **Conditionally rebuild interns-mcp** — same pattern, `pip install -e .`. 4. **Install all skills** via `install.sh` / `install.ps1`. diff --git a/skills/using-projects-meta/SKILL.md b/skills/using-projects-meta/SKILL.md index c8ec4f2..cea17a4 100644 --- a/skills/using-projects-meta/SKILL.md +++ b/skills/using-projects-meta/SKILL.md @@ -142,7 +142,7 @@ Use MCP only for **other** projects, **other** machines, or **shared** wiki cont | `mcp__projects-meta__knowledge_ingest` | `target_project`, `type`, `slug`, `body` (+ opt `frontmatter`, `source_project`) | Three commits: `/.md` + `index.md` + `log.md`. `type` ∈ entities / concepts / packages / sources / raw | | `mcp__projects-meta__knowledge_promote` | `target_project`, `slug`, `body` (+ opt `frontmatter`, `source_project`) | Move `raw/.md` → `sources/.md` with auto `raw_path` link | -`target_project` is **qualified** `/` (e.g. `victor/books`, `OpeItcLoc03/claude-skills`), or the literal `agenda` for the cross-project meta-board (resolves via `agenda_tasks_repo` in `auth.toml`). Bare names (`books`) are rejected with a hint to use the qualified form. Cross-cutting design: shared wiki → `concepts/projects-meta-multi-owner`. +`target_project` is **qualified** `/` (e.g. `victor/books`, `OpeItcLoc03/skills`), or the literal `agenda` for the cross-project meta-board (resolves via `agenda_tasks_repo` in `auth.toml`). Bare names (`books`) are rejected with a hint to use the qualified form. Cross-cutting design: shared wiki → `concepts/projects-meta-multi-owner`. ## Examples @@ -199,11 +199,11 @@ User: "заведи в проекте books задачу на миграцию ` ### Mutation example: closing a cross-project task -User: "close `[projects-meta-skills]` in claude-skills" +User: "close `[projects-meta-skills]` in skills" ``` 1. mcp__projects-meta__tasks_close - target_project: "OpeItcLoc03/claude-skills" + target_project: "OpeItcLoc03/skills" slug: "projects-meta-skills" note: "" (no `confirm`) @@ -227,7 +227,7 @@ User: "close `[projects-meta-skills]` in claude-skills" | Calling `knowledge_ingest` with the wrong `type` | `type` must be one of `entities` / `concepts` / `packages` / `sources` / `raw`. Mis-typed pages land in the wrong section and break `index.md`. | | Vague `knowledge_search` queries ("auth", "config") | Specific multi-word queries return targeted snippets; vague ones return noise. | | Forgetting `domain="all"` when searching across families | Default `domain` is auto-detected from cwd; use `"all"` if the wiki page lives in a different family. | -| Passing bare project name (`target_project: "books"`) to mutation tools | v2.x rejects bare names. Use qualified `/` (e.g. `victor/books`, `OpeItcLoc03/claude-skills`). Literal `agenda` is the only exception (cross-project meta-board). | +| Passing bare project name (`target_project: "books"`) to mutation tools | v2.x rejects bare names. Use qualified `/` (e.g. `victor/books`, `OpeItcLoc03/skills`). Literal `agenda` is the only exception (cross-project meta-board). | ## Red flags diff --git a/skills/using-system-snapshot/SKILL.md b/skills/using-system-snapshot/SKILL.md index 6676fc5..7c8fdf2 100644 --- a/skills/using-system-snapshot/SKILL.md +++ b/skills/using-system-snapshot/SKILL.md @@ -48,7 +48,7 @@ It returns three keys: Compress the JSON into **three lines**. Don't dump the raw object. ``` -🟢 Poller running — OpeItcLoc03/claude-skills (🔴 if running:false) +🟢 Poller running — OpeItcLoc03/skills (🔴 if running:false) 🟢 Docker — 8/8 up (else list only the bad ones) 📋 Tasks — 23 active / 41 blocked, 17 projects (name the busiest 2–3) ```