refactor(skills): rename repo claude-skills → skills (Gitea + local + references + update-claude-skills → update-skills v0.2.0)

This commit is contained in:
2026-08-12 13:16:40 +03:00
parent cf8a14e441
commit 10361c42f8
14 changed files with 36 additions and 36 deletions

View File

@@ -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."

View File

@@ -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/<name>/ (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,

View File

@@ -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

View File

@@ -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

View File

@@ -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):**

View File

@@ -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

View File

@@ -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

View File

@@ -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.

View File

@@ -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`).

View File

@@ -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.

View File

@@ -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

View File

@@ -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 <path> 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 <path> 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`.

View File

@@ -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: `<type>/<slug>.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/<slug>.md``sources/<slug>.md` with auto `raw_path` link |
`target_project` is **qualified** `<owner>/<repo>` (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** `<owner>/<repo>` (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: "<one-line summary>"
(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 `<owner>/<repo>` (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 `<owner>/<repo>` (e.g. `victor/books`, `OpeItcLoc03/skills`). Literal `agenda` is the only exception (cross-project meta-board). |
## Red flags

View File

@@ -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 23)
```