refactor(skills): rename repo claude-skills → skills (Gitea + local + references + update-claude-skills → update-skills v0.2.0)
This commit is contained in:
@@ -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."
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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):**
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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`).
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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`.
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user