diff --git a/ship/SKILL.md b/ship/SKILL.md index 9e6efc71..aca0c61a 100644 --- a/ship/SKILL.md +++ b/ship/SKILL.md @@ -2684,7 +2684,38 @@ EOF **If neither CLI is available:** Print the branch name, remote URL, and instruct the user to create the PR/MR manually via the web UI. Do not stop — the code is pushed and ready. -**Output the PR/MR URL** — then proceed to Step 20. +**Output the PR/MR URL** — then proceed to Step 19.5. + +--- + +## Step 19.5: Offer methodology skill publishing (conditional) + +If this PR touched any standalone methodology skill (`openclaw/skills/gstack-*/SKILL.md`) or the marketplace manifest (`skills.json`), offer to publish the updated skills to the configured marketplaces after merge. + +```bash +git diff origin/...HEAD --name-only | grep -E '^(openclaw/skills/gstack-[^/]+/SKILL\.md|skills\.json)$' || true +``` + +If the output is empty: skip this step silently. Continue to Step 20. + +If any matches: run a dry-run preview so the user sees exactly what would publish and what auth is missing. + +```bash +~/.claude/skills/gstack/bin/gstack-publish --dry-run +``` + +Then use AskUserQuestion with the structure in the preamble: +- **Re-ground:** project, branch, PR just opened. +- **Simplify:** "This PR updated methodology skills. gstack-publish can push them to ClawHub, SkillsMP, and Vercel Skills.sh so other developers on other agents can install them. Dry-run above shows what would ship and whether each marketplace is authed." +- **RECOMMENDATION:** A because the dry-run just verified the manifest and one-command distribution is the whole point of having a marketplace publisher. +- **Options:** + - A) Publish now — run `gstack-publish` (human: ~2min / CC: ~30s). Completeness: 9/10. + - B) Publish after the PR merges — `/document-release` won't push this automatically; you'll run `gstack-publish` manually once the branch is on main. Completeness: 7/10. + - C) Skip — don't publish this release. Completeness: 4/10. + +If A: run `~/.claude/skills/gstack/bin/gstack-publish` (no --dry-run). Report success/failure per marketplace. If any marketplace auth is missing, the dry-run above surfaced it; the real publish will skip that marketplace with an isolated error rather than aborting the batch. + +If B or C: continue to Step 20. --- diff --git a/ship/SKILL.md.tmpl b/ship/SKILL.md.tmpl index d527afcc..25e93dfc 100644 --- a/ship/SKILL.md.tmpl +++ b/ship/SKILL.md.tmpl @@ -767,7 +767,38 @@ EOF **If neither CLI is available:** Print the branch name, remote URL, and instruct the user to create the PR/MR manually via the web UI. Do not stop — the code is pushed and ready. -**Output the PR/MR URL** — then proceed to Step 20. +**Output the PR/MR URL** — then proceed to Step 19.5. + +--- + +## Step 19.5: Offer methodology skill publishing (conditional) + +If this PR touched any standalone methodology skill (`openclaw/skills/gstack-*/SKILL.md`) or the marketplace manifest (`skills.json`), offer to publish the updated skills to the configured marketplaces after merge. + +```bash +git diff origin/...HEAD --name-only | grep -E '^(openclaw/skills/gstack-[^/]+/SKILL\.md|skills\.json)$' || true +``` + +If the output is empty: skip this step silently. Continue to Step 20. + +If any matches: run a dry-run preview so the user sees exactly what would publish and what auth is missing. + +```bash +~/.claude/skills/gstack/bin/gstack-publish --dry-run +``` + +Then use AskUserQuestion with the structure in the preamble: +- **Re-ground:** project, branch, PR just opened. +- **Simplify:** "This PR updated methodology skills. gstack-publish can push them to ClawHub, SkillsMP, and Vercel Skills.sh so other developers on other agents can install them. Dry-run above shows what would ship and whether each marketplace is authed." +- **RECOMMENDATION:** A because the dry-run just verified the manifest and one-command distribution is the whole point of having a marketplace publisher. +- **Options:** + - A) Publish now — run `gstack-publish` (human: ~2min / CC: ~30s). Completeness: 9/10. + - B) Publish after the PR merges — `/document-release` won't push this automatically; you'll run `gstack-publish` manually once the branch is on main. Completeness: 7/10. + - C) Skip — don't publish this release. Completeness: 4/10. + +If A: run `~/.claude/skills/gstack/bin/gstack-publish` (no --dry-run). Report success/failure per marketplace. If any marketplace auth is missing, the dry-run above surfaced it; the real publish will skip that marketplace with an isolated error rather than aborting the batch. + +If B or C: continue to Step 20. --- diff --git a/test/fixtures/golden/claude-ship-SKILL.md b/test/fixtures/golden/claude-ship-SKILL.md index 9e6efc71..aca0c61a 100644 --- a/test/fixtures/golden/claude-ship-SKILL.md +++ b/test/fixtures/golden/claude-ship-SKILL.md @@ -2684,7 +2684,38 @@ EOF **If neither CLI is available:** Print the branch name, remote URL, and instruct the user to create the PR/MR manually via the web UI. Do not stop — the code is pushed and ready. -**Output the PR/MR URL** — then proceed to Step 20. +**Output the PR/MR URL** — then proceed to Step 19.5. + +--- + +## Step 19.5: Offer methodology skill publishing (conditional) + +If this PR touched any standalone methodology skill (`openclaw/skills/gstack-*/SKILL.md`) or the marketplace manifest (`skills.json`), offer to publish the updated skills to the configured marketplaces after merge. + +```bash +git diff origin/...HEAD --name-only | grep -E '^(openclaw/skills/gstack-[^/]+/SKILL\.md|skills\.json)$' || true +``` + +If the output is empty: skip this step silently. Continue to Step 20. + +If any matches: run a dry-run preview so the user sees exactly what would publish and what auth is missing. + +```bash +~/.claude/skills/gstack/bin/gstack-publish --dry-run +``` + +Then use AskUserQuestion with the structure in the preamble: +- **Re-ground:** project, branch, PR just opened. +- **Simplify:** "This PR updated methodology skills. gstack-publish can push them to ClawHub, SkillsMP, and Vercel Skills.sh so other developers on other agents can install them. Dry-run above shows what would ship and whether each marketplace is authed." +- **RECOMMENDATION:** A because the dry-run just verified the manifest and one-command distribution is the whole point of having a marketplace publisher. +- **Options:** + - A) Publish now — run `gstack-publish` (human: ~2min / CC: ~30s). Completeness: 9/10. + - B) Publish after the PR merges — `/document-release` won't push this automatically; you'll run `gstack-publish` manually once the branch is on main. Completeness: 7/10. + - C) Skip — don't publish this release. Completeness: 4/10. + +If A: run `~/.claude/skills/gstack/bin/gstack-publish` (no --dry-run). Report success/failure per marketplace. If any marketplace auth is missing, the dry-run above surfaced it; the real publish will skip that marketplace with an isolated error rather than aborting the batch. + +If B or C: continue to Step 20. --- diff --git a/test/fixtures/golden/codex-ship-SKILL.md b/test/fixtures/golden/codex-ship-SKILL.md index 04f80598..61c1b367 100644 --- a/test/fixtures/golden/codex-ship-SKILL.md +++ b/test/fixtures/golden/codex-ship-SKILL.md @@ -2299,7 +2299,38 @@ EOF **If neither CLI is available:** Print the branch name, remote URL, and instruct the user to create the PR/MR manually via the web UI. Do not stop — the code is pushed and ready. -**Output the PR/MR URL** — then proceed to Step 20. +**Output the PR/MR URL** — then proceed to Step 19.5. + +--- + +## Step 19.5: Offer methodology skill publishing (conditional) + +If this PR touched any standalone methodology skill (`openclaw/skills/gstack-*/SKILL.md`) or the marketplace manifest (`skills.json`), offer to publish the updated skills to the configured marketplaces after merge. + +```bash +git diff origin/...HEAD --name-only | grep -E '^(openclaw/skills/gstack-[^/]+/SKILL\.md|skills\.json)$' || true +``` + +If the output is empty: skip this step silently. Continue to Step 20. + +If any matches: run a dry-run preview so the user sees exactly what would publish and what auth is missing. + +```bash +$GSTACK_ROOT/bin/gstack-publish --dry-run +``` + +Then use AskUserQuestion with the structure in the preamble: +- **Re-ground:** project, branch, PR just opened. +- **Simplify:** "This PR updated methodology skills. gstack-publish can push them to ClawHub, SkillsMP, and Vercel Skills.sh so other developers on other agents can install them. Dry-run above shows what would ship and whether each marketplace is authed." +- **RECOMMENDATION:** A because the dry-run just verified the manifest and one-command distribution is the whole point of having a marketplace publisher. +- **Options:** + - A) Publish now — run `gstack-publish` (human: ~2min / CC: ~30s). Completeness: 9/10. + - B) Publish after the PR merges — `/document-release` won't push this automatically; you'll run `gstack-publish` manually once the branch is on main. Completeness: 7/10. + - C) Skip — don't publish this release. Completeness: 4/10. + +If A: run `$GSTACK_ROOT/bin/gstack-publish` (no --dry-run). Report success/failure per marketplace. If any marketplace auth is missing, the dry-run above surfaced it; the real publish will skip that marketplace with an isolated error rather than aborting the batch. + +If B or C: continue to Step 20. --- diff --git a/test/fixtures/golden/factory-ship-SKILL.md b/test/fixtures/golden/factory-ship-SKILL.md index 78bd2041..1af2eca7 100644 --- a/test/fixtures/golden/factory-ship-SKILL.md +++ b/test/fixtures/golden/factory-ship-SKILL.md @@ -2675,7 +2675,38 @@ EOF **If neither CLI is available:** Print the branch name, remote URL, and instruct the user to create the PR/MR manually via the web UI. Do not stop — the code is pushed and ready. -**Output the PR/MR URL** — then proceed to Step 20. +**Output the PR/MR URL** — then proceed to Step 19.5. + +--- + +## Step 19.5: Offer methodology skill publishing (conditional) + +If this PR touched any standalone methodology skill (`openclaw/skills/gstack-*/SKILL.md`) or the marketplace manifest (`skills.json`), offer to publish the updated skills to the configured marketplaces after merge. + +```bash +git diff origin/...HEAD --name-only | grep -E '^(openclaw/skills/gstack-[^/]+/SKILL\.md|skills\.json)$' || true +``` + +If the output is empty: skip this step silently. Continue to Step 20. + +If any matches: run a dry-run preview so the user sees exactly what would publish and what auth is missing. + +```bash +$GSTACK_ROOT/bin/gstack-publish --dry-run +``` + +Then use AskUserQuestion with the structure in the preamble: +- **Re-ground:** project, branch, PR just opened. +- **Simplify:** "This PR updated methodology skills. gstack-publish can push them to ClawHub, SkillsMP, and Vercel Skills.sh so other developers on other agents can install them. Dry-run above shows what would ship and whether each marketplace is authed." +- **RECOMMENDATION:** A because the dry-run just verified the manifest and one-command distribution is the whole point of having a marketplace publisher. +- **Options:** + - A) Publish now — run `gstack-publish` (human: ~2min / CC: ~30s). Completeness: 9/10. + - B) Publish after the PR merges — `/document-release` won't push this automatically; you'll run `gstack-publish` manually once the branch is on main. Completeness: 7/10. + - C) Skip — don't publish this release. Completeness: 4/10. + +If A: run `$GSTACK_ROOT/bin/gstack-publish` (no --dry-run). Report success/failure per marketplace. If any marketplace auth is missing, the dry-run above surfaced it; the real publish will skip that marketplace with an isolated error rather than aborting the batch. + +If B or C: continue to Step 20. ---