Skip to content

Commit cebda81

Browse files
committed
chore(sync): cascade CLAUDE.md fleet/partial/unique skill vocabulary
Adopts canonical's new 'Skill scope: fleet vs partial vs unique' section + 'updating' umbrella explanation + fleet-skill runner quick-reference.
1 parent 812eb02 commit cebda81

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

CLAUDE.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,30 @@ Full hook spec in [`.claude/hooks/token-guard/README.md`](.claude/hooks/token-gu
163163
- `/quality-scan` — quality analysis
164164
- Shared subskills in `.claude/skills/_shared/`
165165

166+
#### Skill scope: fleet vs partial vs unique
167+
168+
Every skill under `.claude/skills/` falls into one of three tiers — surface this distinction when adding a new skill so it lands in the right place:
169+
170+
- **Fleet skill** — present in every fleet repo, identical contract everywhere. Examples: `path-guard`, `quality-scan`, `security-scan`, `updating`, `programmatic-claude-lockdown`, `promise-race-pitfall`. New fleet skills land in `socket-repo-template/template/.claude/skills/<name>/` and cascade via `node socket-repo-template/scripts/sync-scaffolding.mts --all --fix`. Track them in `SHARED_SKILL_FILES` in the sync manifest.
171+
- **Partial skill** — present in the subset of repos that need it, identical contract within that subset. Examples: `cursor-bugbot` (every repo with PR review), `updating-xport` (every repo with `xport.json`), `squashing-history` (repos with the squash workflow). Live in each adopting repo's `.claude/skills/<name>/`. When you change one, propagate to the others.
172+
- **Unique skill** — one repo only, bespoke to that repo's domain. Examples: `updating-cdxgen` (sdxgen), `updating-yoga` (socket-btm), `release` (socket-registry). Never canonical-tracked; the host repo owns it end-to-end.
173+
174+
Audit the current classification with `node socket-repo-template/scripts/run-skill-fleet.mts --list-skills`.
175+
176+
#### `updating` umbrella + `updating-*` siblings
177+
178+
`updating` is the canonical fleet umbrella that runs `pnpm run update` then discovers and runs every `updating-*` sibling skill the host repo registers. The umbrella is fleet-shared; the siblings are per-repo (or partial — e.g. `updating-xport` lives in every repo with `xport.json`). To add a new repo-specific update step, drop a new `.claude/skills/updating-<domain>/SKILL.md` and the umbrella picks it up automatically — no edits to `updating` itself.
179+
180+
#### Running skills across the fleet
181+
182+
`scripts/run-skill-fleet.mts` (in `socket-repo-template`) spawns one headless `claude --print` agent per fleet repo, in parallel (concurrency 4 by default), with the four lockdown flags set per the *Programmatic Claude calls* rule above. Per-skill profile table maps known skills to sensible tool/allow/disallow lists; override with `--tools` / `--allow` / `--disallow`. Per-repo logs land in `.cache/fleet-skill/<timestamp>-<skill>/<repo>.log`. Use `Promise.allSettled` semantics — one repo's failure doesn't abort the rest.
183+
184+
```bash
185+
pnpm run fleet-skill updating # update every fleet repo
186+
pnpm run fleet-skill quality-scan --concurrency 2 # slower, more conservative
187+
pnpm run fleet-skill --list-skills # classify skills fleet/partial/unique
188+
```
189+
166190
<!-- END FLEET-CANONICAL -->
167191

168192
## USER CONTEXT

0 commit comments

Comments
 (0)