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: .agents/skills/magpie-setup/SKILL.md
+32-4Lines changed: 32 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,6 +10,7 @@ description: |
10
10
`/magpie-setup upgrade` - refresh the gitignored snapshot per the committed lock (main-checkout only)
11
11
`/magpie-setup worktree-init` - symlink a worktree's snapshot to the main's
12
12
`/magpie-setup verify` - health check + drift detection
13
+
`/magpie-setup skill-sources` - fetch/pin/symlink skills from trusted external sources listed in the adopter trust list (main-checkout only)
13
14
`/magpie-setup override <skill>` - open or scaffold an agentic override in `.apache-magpie-overrides/`
14
15
`/magpie-setup unadopt` - reverse the adoption (snapshot, locks, symlinks, hook, doc sections); preserves `.apache-magpie-overrides/` by default (main-checkout only)
15
16
when_to_use: |
@@ -163,13 +164,32 @@ The drift check on every framework-skill invocation compares
163
164
this against `<committed-lock>` and surfaces any mismatch as a
164
165
proposed `/magpie-setup upgrade`.
165
166
167
+
### Source locks — the same split, for trusted external sources
168
+
169
+
Skills pulled from [trusted external
170
+
sources](../../docs/skill-sources/README.md) use their **own**
171
+
pair of locks with the identical committed-pin / local-fingerprint
172
+
split, kept separate from the framework locks so a source re-pin
173
+
never entangles a framework upgrade:
174
+
175
+
-**`.apache-magpie.sources.lock`** (committed) — the project's
176
+
per-source pins, one block per source keyed by `id`
177
+
(`method`/`url`/`ref` + `commit`|`sha512`).
178
+
-**`.apache-magpie.sources.local.lock`** (gitignored) — this
179
+
machine's per-source fetch fingerprint.
180
+
181
+
They are written and reconciled by
182
+
[`skill-sources.md`](skill-sources.md) and re-fetched on
183
+
`upgrade`; the format and drift semantics live there.
184
+
166
185
## Detail files in this directory
167
186
168
187
| File | Purpose |
169
188
|---|---|
170
189
|[`adopt.md`](adopt.md)| First-time adoption walk-through — recognise existing-snapshot vs needs-bootstrap, write the two lock files, ask the user which skill families to wire up, create the gitignored symlinks, scaffold `.apache-magpie-overrides/`, install the post-checkout hook, update project docs. The default sub-action. |
171
190
|[`upgrade.md`](upgrade.md)| Refresh the gitignored snapshot per the committed lock, reconcile any agentic overrides + symlinks against the new framework structure, surface conflicts. Drives the on-drift remediation flow. |
172
191
|[`verify.md`](verify.md)| Read-only health check — snapshot present + intact, both lock files in sync, symlinks point at live targets, `.gitignore` correct, `.apache-magpie-overrides/` exists, drift status (committed vs local), the `setup` skill itself is current. |
192
+
|[`skill-sources.md`](skill-sources.md)| Fetch/verify skills from trusted external sources listed in `<project-config>/skill-sources.md`, pin them in the committed `.apache-magpie.sources.lock`, and symlink the provided skills in exactly like framework skills. The runnable half of [trusted external skill sources](../../docs/skill-sources/README.md); the install gate is the adopter trust list. |
173
193
|[`agents.md`](agents.md)| The agent-target registry — *which* directories framework-skill symlinks land in across vendors, and the **canonical-plus-relay** model: `.agents/skills/` is the one canonical home (links into the snapshot/source); every other target (`claude-code`, `github`, holdout natives like Windsurf / Goose) gets a per-skill relay symlink into `.agents/skills/`. Defines active-target selection, SKILL.md format portability, and the Claude-Code-only layer (sandbox/hooks). The source of truth every sub-action consults for the target set. |
174
194
|[`overrides.md`](overrides.md)| Agentic-override file management — open / scaffold an override for a framework skill, list existing overrides, help reconcile when the framework changes the underlying skill's structure on upgrade. |
175
195
|[`unadopt.md`](unadopt.md)| Reverse the adoption — remove snapshot, locks, symlinks, post-checkout hook, `.gitignore` entries, the adoption sections in `README.md` / `AGENTS.md` / `CONTRIBUTING.md`, and the committed `setup` skill itself. Preserves `.apache-magpie-overrides/` by default; `--purge-overrides` removes it too. Surfaces the full removal plan before any write. |
@@ -217,7 +237,7 @@ accept, `upgrade`:
217
237
5. Updates `<local-lock>` to the new fetch.
218
238
219
239
**Golden rule 4 — `.gitignore` keeps the adopter repo clean.**
220
-
Three things gitignored in the adopter repo:
240
+
Gitignored in the adopter repo:
221
241
222
242
-`<snapshot-dir>` (the entire framework snapshot — gigabytes
223
243
potentially).
@@ -228,12 +248,19 @@ Three things gitignored in the adopter repo:
fingerprint), when the adopter trusts any source. See
255
+
[`skill-sources.md`](skill-sources.md).
231
256
232
257
**Committed**: this skill (`setup`, as the canonical
233
258
`.agents/skills/magpie-setup/` plus its relays), the
234
-
`<committed-lock>`, the `.apache-magpie-overrides/`
235
-
directory, the `.gitignore` entries themselves, any
236
-
project-doc updates the `adopt` sub-action makes.
259
+
`<committed-lock>`, the **`.apache-magpie.sources.lock`**
260
+
per-source pins (the project's committed vouch for each trusted
261
+
source), the `.apache-magpie-overrides/` directory, the
262
+
`.gitignore` entries themselves, any project-doc updates the
263
+
`adopt` sub-action makes.
237
264
238
265
**Golden rule 5 — `.agents/skills/` is canonical; everything
239
266
else just relays into it.** Regardless of how an adopting
@@ -334,6 +361,7 @@ The skill dispatches by the first positional argument:
334
361
|`/magpie-setup upgrade`|[`upgrade.md`](upgrade.md)| Refresh snapshot per `<committed-lock>` + reconcile overrides + refresh symlinks. **Main-checkout only** — worktrees pick up upgrades automatically via the symlink installed by `worktree-init`. |
335
362
|`/magpie-setup worktree-init`|[`worktree-init.md`](worktree-init.md)|**Worktree-only.** Symlink the worktree's `<snapshot-dir>` to the main checkout's so this worktree shares one framework state. No fetch, no lock files written; idempotent. |
336
363
|`/magpie-setup verify`|[`verify.md`](verify.md)| Read-only health check + drift status report. Works in both main and worktrees. |
364
+
|`/magpie-setup skill-sources` (aka `skill-sources add <id>`) |[`skill-sources.md`](skill-sources.md)| Fetch/verify/pin/symlink skills from the trusted external sources the adopter listed in `<project-config>/skill-sources.md`. **Main-checkout only** — worktrees share the source snapshots via `worktree-init`. |
337
365
|`/magpie-setup override <skill>`|[`overrides.md`](overrides.md)| Open / scaffold an override file. |
338
366
|`/magpie-setup unadopt`|[`unadopt.md`](unadopt.md)| Reverse the adoption. Removes snapshot, locks, symlinks, hook, doc sections, and this skill itself. Preserves `.apache-magpie-overrides/` unless `--purge-overrides` is passed. **Main-checkout only.**|
0 commit comments