You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .claude/skills/updating-lockstep/SKILL.md
+29-29Lines changed: 29 additions & 29 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,19 +1,19 @@
1
1
---
2
-
name: updating-xport
3
-
description: Acts on `xport.json` drift for repos that carry the xport lock-step manifest. Reads `pnpm run xport --json`, then for each row acts per-kind — auto-bump `version-pin` rows (low-risk mechanical updates), advisory-only for `file-fork` / `feature-parity` / `spec-conformance` / `lang-parity` (upstream semantics need human judgment). Invoked by the `updating` umbrella skill; can also be invoked standalone.
2
+
name: updating-lockstep
3
+
description: Acts on `lockstep.json` drift for repos that carry the lockstep manifest. Reads `pnpm run lockstep --json`, then for each row acts per-kind — auto-bump `version-pin` rows (low-risk mechanical updates), advisory-only for `file-fork` / `feature-parity` / `spec-conformance` / `lang-parity` (upstream semantics need human judgment). Invoked by the `updating` umbrella skill; can also be invoked standalone.
Act on drift findings in `xport.json`. Auto-apply mechanical version-pin bumps; surface everything else as advisory notes for human review. Commit each actioned row as its own atomic commit so the PR reviewer can accept/reject per-row.
10
+
Act on drift findings in `lockstep.json`. Auto-apply mechanical version-pin bumps; surface everything else as advisory notes for human review. Commit each actioned row as its own atomic commit so the PR reviewer can accept/reject per-row.
11
11
</task>
12
12
13
13
<context>
14
-
**xport** is a cross-project lock-step manifest. Not every repo has one; this skill exits cleanly when `xport.json` is absent. See `xport.schema.json` (deployed via `socket-repo-template/sync-scaffolding.mjs`) for the five row kinds.
14
+
**lockstep** is a cross-project lock-step manifest. Not every repo has one; this skill exits cleanly when `lockstep.json` is absent. See `lockstep.schema.json` (deployed via `socket-repo-template/sync-scaffolding.mjs`) for the five row kinds.
15
15
16
-
The harness at `scripts/xport.mts` emits JSON reports with `severity ∈ {ok, drift, error}` per row. This skill consumes that JSON.
16
+
The harness at `scripts/lockstep.mts` emits JSON reports with `severity ∈ {ok, drift, error}` per row. This skill consumes that JSON.
17
17
18
18
**Per-kind action policy:**
19
19
@@ -32,7 +32,7 @@ The common rule: **version-pin is mechanical** (safe to auto-apply with `track-l
32
32
**Requirements:**
33
33
- Start with clean working directory (check via `git status --porcelain`)
34
34
- Run from repo root
35
-
- Exit 0 cleanly if `xport.json` is absent (the repo doesn't use xport)
35
+
- Exit 0 cleanly if `lockstep.json` is absent (the repo doesn't use lockstep)
36
36
- Conventional commit format: `chore(deps): bump <upstream> to <tag>`
37
37
- Update `.gitmodules` version comments when submodule tags change (pattern: `# <name>-<version>`on the line above the submodule block)
Update `.gitmodules` version comment via Edit tool (NOT sed per CLAUDE.md) — replace `# <prefix>-<old>` with `# <prefix>-<new>` on the comment line above the submodule block.
git commit -m "chore(deps): bump $UPSTREAM_ALIAS to $LATEST"
143
143
```
144
144
@@ -162,7 +162,7 @@ For each row in **advisory**, accumulate a markdown line:
162
162
Final human-readable report to stdout:
163
163
164
164
```
165
-
## updating-xport report
165
+
## updating-lockstep report
166
166
167
167
**Auto-bumped:** <N> row(s)
168
168
<list>
@@ -171,18 +171,18 @@ Final human-readable report to stdout:
171
171
<list>
172
172
```
173
173
174
-
In CI mode, emit the advisory block to `$GITHUB_OUTPUT` (base64-encoded) under key `xport-advisory` so the weekly-update workflow can include it in the PR body:
174
+
In CI mode, emit the advisory block to `$GITHUB_OUTPUT` (base64-encoded) under key `lockstep-advisory` so the weekly-update workflow can include it in the PR body:
Copy file name to clipboardExpand all lines: .claude/skills/updating/SKILL.md
+33-33Lines changed: 33 additions & 33 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
name: updating
3
-
description: Umbrella update skill for a Socket fleet repo. Runs `pnpm run update` (npm), validates `xport.json` via `pnpm run xport` (if present), optionally bumps submodules, and checks workflow SHA pins. Use when asked to update dependencies, sync upstreams, or prepare for a release.
3
+
description: Umbrella update skill for a Socket fleet repo. Runs `pnpm run update` (npm), validates `lockstep.json` via `pnpm run lockstep` (if present), optionally bumps submodules, and checks workflow SHA pins. Use when asked to update dependencies, sync upstreams, or prepare for a release.
Copy file name to clipboardExpand all lines: CLAUDE.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -87,7 +87,7 @@ Where drift commonly hides:
87
87
-`socket-registry/.github/actions/*` — composite-action SHAs pinned in consumer workflows
88
88
-`template/CLAUDE.md``<!-- BEGIN FLEET-CANONICAL -->` block — must be byte-identical across the fleet
89
89
-`template/.claude/hooks/*` — same hook, same code
90
-
-xport.json `pinned_sha` rows — upstream submodules tracked by socket-btm
90
+
-lockstep.json `pinned_sha` rows — upstream submodules tracked by socket-btm
91
91
-`.gitmodules``# name-version` annotations
92
92
- pnpm/Node `packageManager`/`engines` fields
93
93
@@ -178,14 +178,14 @@ Full hook spec in [`.claude/hooks/token-guard/README.md`](.claude/hooks/token-gu
178
178
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:
179
179
180
180
-**Fleet skill** — present in every fleet repo, identical contract everywhere. Examples: `guarding-paths`, `scanning-quality`, `scanning-security`, `updating`, `locking-down-programmatic-claude`, `plug-leaking-promise-race`. 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.
181
-
-**Partial skill** — present in the subset of repos that need it, identical contract within that subset. Examples: `driving-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.
181
+
-**Partial skill** — present in the subset of repos that need it, identical contract within that subset. Examples: `driving-cursor-bugbot` (every repo with PR review), `updating-lockstep` (every repo with `lockstep.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.
182
182
-**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.
183
183
184
184
Audit the current classification with `node socket-repo-template/scripts/run-skill-fleet.mts --list-skills`.
185
185
186
186
#### `updating` umbrella + `updating-*` siblings
187
187
188
-
`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.
188
+
`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-lockstep` lives in every repo with `lockstep.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.
0 commit comments